{-# 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.DescribeTrialComponent
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Provides a list of a trials component\'s properties.
module Amazonka.SageMaker.DescribeTrialComponent
  ( -- * Creating a Request
    DescribeTrialComponent (..),
    newDescribeTrialComponent,

    -- * Request Lenses
    describeTrialComponent_trialComponentName,

    -- * Destructuring the Response
    DescribeTrialComponentResponse (..),
    newDescribeTrialComponentResponse,

    -- * Response Lenses
    describeTrialComponentResponse_creationTime,
    describeTrialComponentResponse_metadataProperties,
    describeTrialComponentResponse_status,
    describeTrialComponentResponse_metrics,
    describeTrialComponentResponse_outputArtifacts,
    describeTrialComponentResponse_startTime,
    describeTrialComponentResponse_createdBy,
    describeTrialComponentResponse_lastModifiedTime,
    describeTrialComponentResponse_endTime,
    describeTrialComponentResponse_trialComponentName,
    describeTrialComponentResponse_parameters,
    describeTrialComponentResponse_source,
    describeTrialComponentResponse_displayName,
    describeTrialComponentResponse_lastModifiedBy,
    describeTrialComponentResponse_trialComponentArn,
    describeTrialComponentResponse_inputArtifacts,
    describeTrialComponentResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

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

-- |
-- Create a value of 'DescribeTrialComponent' 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:
--
-- 'trialComponentName', 'describeTrialComponent_trialComponentName' - The name of the trial component to describe.
newDescribeTrialComponent ::
  -- | 'trialComponentName'
  Prelude.Text ->
  DescribeTrialComponent
newDescribeTrialComponent :: Text -> DescribeTrialComponent
newDescribeTrialComponent Text
pTrialComponentName_ =
  DescribeTrialComponent' :: Text -> DescribeTrialComponent
DescribeTrialComponent'
    { $sel:trialComponentName:DescribeTrialComponent' :: Text
trialComponentName =
        Text
pTrialComponentName_
    }

-- | The name of the trial component to describe.
describeTrialComponent_trialComponentName :: Lens.Lens' DescribeTrialComponent Prelude.Text
describeTrialComponent_trialComponentName :: (Text -> f Text)
-> DescribeTrialComponent -> f DescribeTrialComponent
describeTrialComponent_trialComponentName = (DescribeTrialComponent -> Text)
-> (DescribeTrialComponent -> Text -> DescribeTrialComponent)
-> Lens DescribeTrialComponent DescribeTrialComponent Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialComponent' {Text
trialComponentName :: Text
$sel:trialComponentName:DescribeTrialComponent' :: DescribeTrialComponent -> Text
trialComponentName} -> Text
trialComponentName) (\s :: DescribeTrialComponent
s@DescribeTrialComponent' {} Text
a -> DescribeTrialComponent
s {$sel:trialComponentName:DescribeTrialComponent' :: Text
trialComponentName = Text
a} :: DescribeTrialComponent)

instance Core.AWSRequest DescribeTrialComponent where
  type
    AWSResponse DescribeTrialComponent =
      DescribeTrialComponentResponse
  request :: DescribeTrialComponent -> Request DescribeTrialComponent
request = Service -> DescribeTrialComponent -> Request DescribeTrialComponent
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeTrialComponent
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeTrialComponent)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeTrialComponent))
-> Logger
-> Service
-> Proxy DescribeTrialComponent
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeTrialComponent)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe POSIX
-> Maybe MetadataProperties
-> Maybe TrialComponentStatus
-> Maybe [TrialComponentMetricSummary]
-> Maybe (HashMap Text TrialComponentArtifact)
-> Maybe POSIX
-> Maybe UserContext
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe (HashMap Text TrialComponentParameterValue)
-> Maybe TrialComponentSource
-> Maybe Text
-> Maybe UserContext
-> Maybe Text
-> Maybe (HashMap Text TrialComponentArtifact)
-> Int
-> DescribeTrialComponentResponse
DescribeTrialComponentResponse'
            (Maybe POSIX
 -> Maybe MetadataProperties
 -> Maybe TrialComponentStatus
 -> Maybe [TrialComponentMetricSummary]
 -> Maybe (HashMap Text TrialComponentArtifact)
 -> Maybe POSIX
 -> Maybe UserContext
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe (HashMap Text TrialComponentParameterValue)
 -> Maybe TrialComponentSource
 -> Maybe Text
 -> Maybe UserContext
 -> Maybe Text
 -> Maybe (HashMap Text TrialComponentArtifact)
 -> Int
 -> DescribeTrialComponentResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe MetadataProperties
      -> Maybe TrialComponentStatus
      -> Maybe [TrialComponentMetricSummary]
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Maybe POSIX
      -> Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreationTime")
            Either
  String
  (Maybe MetadataProperties
   -> Maybe TrialComponentStatus
   -> Maybe [TrialComponentMetricSummary]
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Maybe POSIX
   -> Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe MetadataProperties)
-> Either
     String
     (Maybe TrialComponentStatus
      -> Maybe [TrialComponentMetricSummary]
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Maybe POSIX
      -> Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe MetadataProperties)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"MetadataProperties")
            Either
  String
  (Maybe TrialComponentStatus
   -> Maybe [TrialComponentMetricSummary]
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Maybe POSIX
   -> Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe TrialComponentStatus)
-> Either
     String
     (Maybe [TrialComponentMetricSummary]
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Maybe POSIX
      -> Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe TrialComponentStatus)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe [TrialComponentMetricSummary]
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Maybe POSIX
   -> Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe [TrialComponentMetricSummary])
-> Either
     String
     (Maybe (HashMap Text TrialComponentArtifact)
      -> Maybe POSIX
      -> Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe (Maybe [TrialComponentMetricSummary]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Metrics" Either String (Maybe (Maybe [TrialComponentMetricSummary]))
-> Maybe [TrialComponentMetricSummary]
-> Either String (Maybe [TrialComponentMetricSummary])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [TrialComponentMetricSummary]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe (HashMap Text TrialComponentArtifact)
   -> Maybe POSIX
   -> Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe (HashMap Text TrialComponentArtifact))
-> Either
     String
     (Maybe POSIX
      -> Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Either
     String (Maybe (Maybe (HashMap Text TrialComponentArtifact)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"OutputArtifacts"
                            Either String (Maybe (Maybe (HashMap Text TrialComponentArtifact)))
-> Maybe (HashMap Text TrialComponentArtifact)
-> Either String (Maybe (HashMap Text TrialComponentArtifact))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text TrialComponentArtifact)
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe POSIX
   -> Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe UserContext
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"StartTime")
            Either
  String
  (Maybe UserContext
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe UserContext)
-> Either
     String
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe UserContext)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreatedBy")
            Either
  String
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastModifiedTime")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EndTime")
            Either
  String
  (Maybe Text
   -> Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text TrialComponentParameterValue)
      -> Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrialComponentName")
            Either
  String
  (Maybe (HashMap Text TrialComponentParameterValue)
   -> Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either
     String (Maybe (HashMap Text TrialComponentParameterValue))
-> Either
     String
     (Maybe TrialComponentSource
      -> Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either
     String (Maybe (Maybe (HashMap Text TrialComponentParameterValue)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Parameters" Either
  String (Maybe (Maybe (HashMap Text TrialComponentParameterValue)))
-> Maybe (HashMap Text TrialComponentParameterValue)
-> Either
     String (Maybe (HashMap Text TrialComponentParameterValue))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text TrialComponentParameterValue)
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe TrialComponentSource
   -> Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe TrialComponentSource)
-> Either
     String
     (Maybe Text
      -> Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe TrialComponentSource)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Source")
            Either
  String
  (Maybe Text
   -> Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe UserContext
      -> Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DisplayName")
            Either
  String
  (Maybe UserContext
   -> Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe UserContext)
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text TrialComponentArtifact)
      -> Int
      -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe UserContext)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastModifiedBy")
            Either
  String
  (Maybe Text
   -> Maybe (HashMap Text TrialComponentArtifact)
   -> Int
   -> DescribeTrialComponentResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text TrialComponentArtifact)
      -> Int -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrialComponentArn")
            Either
  String
  (Maybe (HashMap Text TrialComponentArtifact)
   -> Int -> DescribeTrialComponentResponse)
-> Either String (Maybe (HashMap Text TrialComponentArtifact))
-> Either String (Int -> DescribeTrialComponentResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either
     String (Maybe (Maybe (HashMap Text TrialComponentArtifact)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"InputArtifacts" Either String (Maybe (Maybe (HashMap Text TrialComponentArtifact)))
-> Maybe (HashMap Text TrialComponentArtifact)
-> Either String (Maybe (HashMap Text TrialComponentArtifact))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text TrialComponentArtifact)
forall a. Monoid a => a
Prelude.mempty)
            Either String (Int -> DescribeTrialComponentResponse)
-> Either String Int
-> Either String DescribeTrialComponentResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeTrialComponent

instance Prelude.NFData DescribeTrialComponent

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

instance Core.ToJSON DescribeTrialComponent where
  toJSON :: DescribeTrialComponent -> Value
toJSON DescribeTrialComponent' {Text
trialComponentName :: Text
$sel:trialComponentName:DescribeTrialComponent' :: DescribeTrialComponent -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              (Text
"TrialComponentName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
trialComponentName)
          ]
      )

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

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

-- | /See:/ 'newDescribeTrialComponentResponse' smart constructor.
data DescribeTrialComponentResponse = DescribeTrialComponentResponse'
  { -- | When the component was created.
    DescribeTrialComponentResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    DescribeTrialComponentResponse -> Maybe MetadataProperties
metadataProperties :: Prelude.Maybe MetadataProperties,
    -- | The status of the component. States include:
    --
    -- -   InProgress
    --
    -- -   Completed
    --
    -- -   Failed
    DescribeTrialComponentResponse -> Maybe TrialComponentStatus
status :: Prelude.Maybe TrialComponentStatus,
    -- | The metrics for the component.
    DescribeTrialComponentResponse
-> Maybe [TrialComponentMetricSummary]
metrics :: Prelude.Maybe [TrialComponentMetricSummary],
    -- | The output artifacts of the component.
    DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts :: Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentArtifact),
    -- | When the component started.
    DescribeTrialComponentResponse -> Maybe POSIX
startTime :: Prelude.Maybe Core.POSIX,
    -- | Who created the trial component.
    DescribeTrialComponentResponse -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | When the component was last modified.
    DescribeTrialComponentResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | When the component ended.
    DescribeTrialComponentResponse -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the trial component.
    DescribeTrialComponentResponse -> Maybe Text
trialComponentName :: Prelude.Maybe Prelude.Text,
    -- | The hyperparameters of the component.
    DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentParameterValue)
parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentParameterValue),
    -- | The Amazon Resource Name (ARN) of the source and, optionally, the job
    -- type.
    DescribeTrialComponentResponse -> Maybe TrialComponentSource
source :: Prelude.Maybe TrialComponentSource,
    -- | The name of the component as displayed. If @DisplayName@ isn\'t
    -- specified, @TrialComponentName@ is displayed.
    DescribeTrialComponentResponse -> Maybe Text
displayName :: Prelude.Maybe Prelude.Text,
    -- | Who last modified the component.
    DescribeTrialComponentResponse -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | The Amazon Resource Name (ARN) of the trial component.
    DescribeTrialComponentResponse -> Maybe Text
trialComponentArn :: Prelude.Maybe Prelude.Text,
    -- | The input artifacts of the component.
    DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts :: Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentArtifact),
    -- | The response's http status code.
    DescribeTrialComponentResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeTrialComponentResponse
-> DescribeTrialComponentResponse -> Bool
(DescribeTrialComponentResponse
 -> DescribeTrialComponentResponse -> Bool)
-> (DescribeTrialComponentResponse
    -> DescribeTrialComponentResponse -> Bool)
-> Eq DescribeTrialComponentResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTrialComponentResponse
-> DescribeTrialComponentResponse -> Bool
$c/= :: DescribeTrialComponentResponse
-> DescribeTrialComponentResponse -> Bool
== :: DescribeTrialComponentResponse
-> DescribeTrialComponentResponse -> Bool
$c== :: DescribeTrialComponentResponse
-> DescribeTrialComponentResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTrialComponentResponse]
ReadPrec DescribeTrialComponentResponse
Int -> ReadS DescribeTrialComponentResponse
ReadS [DescribeTrialComponentResponse]
(Int -> ReadS DescribeTrialComponentResponse)
-> ReadS [DescribeTrialComponentResponse]
-> ReadPrec DescribeTrialComponentResponse
-> ReadPrec [DescribeTrialComponentResponse]
-> Read DescribeTrialComponentResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTrialComponentResponse]
$creadListPrec :: ReadPrec [DescribeTrialComponentResponse]
readPrec :: ReadPrec DescribeTrialComponentResponse
$creadPrec :: ReadPrec DescribeTrialComponentResponse
readList :: ReadS [DescribeTrialComponentResponse]
$creadList :: ReadS [DescribeTrialComponentResponse]
readsPrec :: Int -> ReadS DescribeTrialComponentResponse
$creadsPrec :: Int -> ReadS DescribeTrialComponentResponse
Prelude.Read, Int -> DescribeTrialComponentResponse -> ShowS
[DescribeTrialComponentResponse] -> ShowS
DescribeTrialComponentResponse -> String
(Int -> DescribeTrialComponentResponse -> ShowS)
-> (DescribeTrialComponentResponse -> String)
-> ([DescribeTrialComponentResponse] -> ShowS)
-> Show DescribeTrialComponentResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTrialComponentResponse] -> ShowS
$cshowList :: [DescribeTrialComponentResponse] -> ShowS
show :: DescribeTrialComponentResponse -> String
$cshow :: DescribeTrialComponentResponse -> String
showsPrec :: Int -> DescribeTrialComponentResponse -> ShowS
$cshowsPrec :: Int -> DescribeTrialComponentResponse -> ShowS
Prelude.Show, (forall x.
 DescribeTrialComponentResponse
 -> Rep DescribeTrialComponentResponse x)
-> (forall x.
    Rep DescribeTrialComponentResponse x
    -> DescribeTrialComponentResponse)
-> Generic DescribeTrialComponentResponse
forall x.
Rep DescribeTrialComponentResponse x
-> DescribeTrialComponentResponse
forall x.
DescribeTrialComponentResponse
-> Rep DescribeTrialComponentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTrialComponentResponse x
-> DescribeTrialComponentResponse
$cfrom :: forall x.
DescribeTrialComponentResponse
-> Rep DescribeTrialComponentResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeTrialComponentResponse' 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:
--
-- 'creationTime', 'describeTrialComponentResponse_creationTime' - When the component was created.
--
-- 'metadataProperties', 'describeTrialComponentResponse_metadataProperties' - Undocumented member.
--
-- 'status', 'describeTrialComponentResponse_status' - The status of the component. States include:
--
-- -   InProgress
--
-- -   Completed
--
-- -   Failed
--
-- 'metrics', 'describeTrialComponentResponse_metrics' - The metrics for the component.
--
-- 'outputArtifacts', 'describeTrialComponentResponse_outputArtifacts' - The output artifacts of the component.
--
-- 'startTime', 'describeTrialComponentResponse_startTime' - When the component started.
--
-- 'createdBy', 'describeTrialComponentResponse_createdBy' - Who created the trial component.
--
-- 'lastModifiedTime', 'describeTrialComponentResponse_lastModifiedTime' - When the component was last modified.
--
-- 'endTime', 'describeTrialComponentResponse_endTime' - When the component ended.
--
-- 'trialComponentName', 'describeTrialComponentResponse_trialComponentName' - The name of the trial component.
--
-- 'parameters', 'describeTrialComponentResponse_parameters' - The hyperparameters of the component.
--
-- 'source', 'describeTrialComponentResponse_source' - The Amazon Resource Name (ARN) of the source and, optionally, the job
-- type.
--
-- 'displayName', 'describeTrialComponentResponse_displayName' - The name of the component as displayed. If @DisplayName@ isn\'t
-- specified, @TrialComponentName@ is displayed.
--
-- 'lastModifiedBy', 'describeTrialComponentResponse_lastModifiedBy' - Who last modified the component.
--
-- 'trialComponentArn', 'describeTrialComponentResponse_trialComponentArn' - The Amazon Resource Name (ARN) of the trial component.
--
-- 'inputArtifacts', 'describeTrialComponentResponse_inputArtifacts' - The input artifacts of the component.
--
-- 'httpStatus', 'describeTrialComponentResponse_httpStatus' - The response's http status code.
newDescribeTrialComponentResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeTrialComponentResponse
newDescribeTrialComponentResponse :: Int -> DescribeTrialComponentResponse
newDescribeTrialComponentResponse Int
pHttpStatus_ =
  DescribeTrialComponentResponse' :: Maybe POSIX
-> Maybe MetadataProperties
-> Maybe TrialComponentStatus
-> Maybe [TrialComponentMetricSummary]
-> Maybe (HashMap Text TrialComponentArtifact)
-> Maybe POSIX
-> Maybe UserContext
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe (HashMap Text TrialComponentParameterValue)
-> Maybe TrialComponentSource
-> Maybe Text
-> Maybe UserContext
-> Maybe Text
-> Maybe (HashMap Text TrialComponentArtifact)
-> Int
-> DescribeTrialComponentResponse
DescribeTrialComponentResponse'
    { $sel:creationTime:DescribeTrialComponentResponse' :: Maybe POSIX
creationTime =
        Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:metadataProperties:DescribeTrialComponentResponse' :: Maybe MetadataProperties
metadataProperties = Maybe MetadataProperties
forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeTrialComponentResponse' :: Maybe TrialComponentStatus
status = Maybe TrialComponentStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:metrics:DescribeTrialComponentResponse' :: Maybe [TrialComponentMetricSummary]
metrics = Maybe [TrialComponentMetricSummary]
forall a. Maybe a
Prelude.Nothing,
      $sel:outputArtifacts:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts = Maybe (HashMap Text TrialComponentArtifact)
forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:DescribeTrialComponentResponse' :: Maybe POSIX
startTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:createdBy:DescribeTrialComponentResponse' :: Maybe UserContext
createdBy = Maybe UserContext
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeTrialComponentResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:DescribeTrialComponentResponse' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponentName:DescribeTrialComponentResponse' :: Maybe Text
trialComponentName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:parameters:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentParameterValue)
parameters = Maybe (HashMap Text TrialComponentParameterValue)
forall a. Maybe a
Prelude.Nothing,
      $sel:source:DescribeTrialComponentResponse' :: Maybe TrialComponentSource
source = Maybe TrialComponentSource
forall a. Maybe a
Prelude.Nothing,
      $sel:displayName:DescribeTrialComponentResponse' :: Maybe Text
displayName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:DescribeTrialComponentResponse' :: Maybe UserContext
lastModifiedBy = Maybe UserContext
forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponentArn:DescribeTrialComponentResponse' :: Maybe Text
trialComponentArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:inputArtifacts:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts = Maybe (HashMap Text TrialComponentArtifact)
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeTrialComponentResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

-- | The metrics for the component.
describeTrialComponentResponse_metrics :: Lens.Lens' DescribeTrialComponentResponse (Prelude.Maybe [TrialComponentMetricSummary])
describeTrialComponentResponse_metrics :: (Maybe [TrialComponentMetricSummary]
 -> f (Maybe [TrialComponentMetricSummary]))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
describeTrialComponentResponse_metrics = (DescribeTrialComponentResponse
 -> Maybe [TrialComponentMetricSummary])
-> (DescribeTrialComponentResponse
    -> Maybe [TrialComponentMetricSummary]
    -> DescribeTrialComponentResponse)
-> Lens
     DescribeTrialComponentResponse
     DescribeTrialComponentResponse
     (Maybe [TrialComponentMetricSummary])
     (Maybe [TrialComponentMetricSummary])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialComponentResponse' {Maybe [TrialComponentMetricSummary]
metrics :: Maybe [TrialComponentMetricSummary]
$sel:metrics:DescribeTrialComponentResponse' :: DescribeTrialComponentResponse
-> Maybe [TrialComponentMetricSummary]
metrics} -> Maybe [TrialComponentMetricSummary]
metrics) (\s :: DescribeTrialComponentResponse
s@DescribeTrialComponentResponse' {} Maybe [TrialComponentMetricSummary]
a -> DescribeTrialComponentResponse
s {$sel:metrics:DescribeTrialComponentResponse' :: Maybe [TrialComponentMetricSummary]
metrics = Maybe [TrialComponentMetricSummary]
a} :: DescribeTrialComponentResponse) ((Maybe [TrialComponentMetricSummary]
  -> f (Maybe [TrialComponentMetricSummary]))
 -> DescribeTrialComponentResponse
 -> f DescribeTrialComponentResponse)
-> ((Maybe [TrialComponentMetricSummary]
     -> f (Maybe [TrialComponentMetricSummary]))
    -> Maybe [TrialComponentMetricSummary]
    -> f (Maybe [TrialComponentMetricSummary]))
-> (Maybe [TrialComponentMetricSummary]
    -> f (Maybe [TrialComponentMetricSummary]))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
-> Iso
     (Maybe [TrialComponentMetricSummary])
     (Maybe [TrialComponentMetricSummary])
     (Maybe [TrialComponentMetricSummary])
     (Maybe [TrialComponentMetricSummary])
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
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
  [TrialComponentMetricSummary]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The output artifacts of the component.
describeTrialComponentResponse_outputArtifacts :: Lens.Lens' DescribeTrialComponentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentArtifact))
describeTrialComponentResponse_outputArtifacts :: (Maybe (HashMap Text TrialComponentArtifact)
 -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
describeTrialComponentResponse_outputArtifacts = (DescribeTrialComponentResponse
 -> Maybe (HashMap Text TrialComponentArtifact))
-> (DescribeTrialComponentResponse
    -> Maybe (HashMap Text TrialComponentArtifact)
    -> DescribeTrialComponentResponse)
-> Lens
     DescribeTrialComponentResponse
     DescribeTrialComponentResponse
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialComponentResponse' {Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts :: Maybe (HashMap Text TrialComponentArtifact)
$sel:outputArtifacts:DescribeTrialComponentResponse' :: DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts} -> Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts) (\s :: DescribeTrialComponentResponse
s@DescribeTrialComponentResponse' {} Maybe (HashMap Text TrialComponentArtifact)
a -> DescribeTrialComponentResponse
s {$sel:outputArtifacts:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentArtifact)
outputArtifacts = Maybe (HashMap Text TrialComponentArtifact)
a} :: DescribeTrialComponentResponse) ((Maybe (HashMap Text TrialComponentArtifact)
  -> f (Maybe (HashMap Text TrialComponentArtifact)))
 -> DescribeTrialComponentResponse
 -> f DescribeTrialComponentResponse)
-> ((Maybe (HashMap Text TrialComponentArtifact)
     -> f (Maybe (HashMap Text TrialComponentArtifact)))
    -> Maybe (HashMap Text TrialComponentArtifact)
    -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> (Maybe (HashMap Text TrialComponentArtifact)
    -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
-> Iso
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
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
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

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

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

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

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

-- | The hyperparameters of the component.
describeTrialComponentResponse_parameters :: Lens.Lens' DescribeTrialComponentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentParameterValue))
describeTrialComponentResponse_parameters :: (Maybe (HashMap Text TrialComponentParameterValue)
 -> f (Maybe (HashMap Text TrialComponentParameterValue)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
describeTrialComponentResponse_parameters = (DescribeTrialComponentResponse
 -> Maybe (HashMap Text TrialComponentParameterValue))
-> (DescribeTrialComponentResponse
    -> Maybe (HashMap Text TrialComponentParameterValue)
    -> DescribeTrialComponentResponse)
-> Lens
     DescribeTrialComponentResponse
     DescribeTrialComponentResponse
     (Maybe (HashMap Text TrialComponentParameterValue))
     (Maybe (HashMap Text TrialComponentParameterValue))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialComponentResponse' {Maybe (HashMap Text TrialComponentParameterValue)
parameters :: Maybe (HashMap Text TrialComponentParameterValue)
$sel:parameters:DescribeTrialComponentResponse' :: DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentParameterValue)
parameters} -> Maybe (HashMap Text TrialComponentParameterValue)
parameters) (\s :: DescribeTrialComponentResponse
s@DescribeTrialComponentResponse' {} Maybe (HashMap Text TrialComponentParameterValue)
a -> DescribeTrialComponentResponse
s {$sel:parameters:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentParameterValue)
parameters = Maybe (HashMap Text TrialComponentParameterValue)
a} :: DescribeTrialComponentResponse) ((Maybe (HashMap Text TrialComponentParameterValue)
  -> f (Maybe (HashMap Text TrialComponentParameterValue)))
 -> DescribeTrialComponentResponse
 -> f DescribeTrialComponentResponse)
-> ((Maybe (HashMap Text TrialComponentParameterValue)
     -> f (Maybe (HashMap Text TrialComponentParameterValue)))
    -> Maybe (HashMap Text TrialComponentParameterValue)
    -> f (Maybe (HashMap Text TrialComponentParameterValue)))
-> (Maybe (HashMap Text TrialComponentParameterValue)
    -> f (Maybe (HashMap Text TrialComponentParameterValue)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
-> Iso
     (Maybe (HashMap Text TrialComponentParameterValue))
     (Maybe (HashMap Text TrialComponentParameterValue))
     (Maybe (HashMap Text TrialComponentParameterValue))
     (Maybe (HashMap Text TrialComponentParameterValue))
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
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
  (HashMap Text TrialComponentParameterValue)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

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

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

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

-- | The input artifacts of the component.
describeTrialComponentResponse_inputArtifacts :: Lens.Lens' DescribeTrialComponentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text TrialComponentArtifact))
describeTrialComponentResponse_inputArtifacts :: (Maybe (HashMap Text TrialComponentArtifact)
 -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
describeTrialComponentResponse_inputArtifacts = (DescribeTrialComponentResponse
 -> Maybe (HashMap Text TrialComponentArtifact))
-> (DescribeTrialComponentResponse
    -> Maybe (HashMap Text TrialComponentArtifact)
    -> DescribeTrialComponentResponse)
-> Lens
     DescribeTrialComponentResponse
     DescribeTrialComponentResponse
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialComponentResponse' {Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts :: Maybe (HashMap Text TrialComponentArtifact)
$sel:inputArtifacts:DescribeTrialComponentResponse' :: DescribeTrialComponentResponse
-> Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts} -> Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts) (\s :: DescribeTrialComponentResponse
s@DescribeTrialComponentResponse' {} Maybe (HashMap Text TrialComponentArtifact)
a -> DescribeTrialComponentResponse
s {$sel:inputArtifacts:DescribeTrialComponentResponse' :: Maybe (HashMap Text TrialComponentArtifact)
inputArtifacts = Maybe (HashMap Text TrialComponentArtifact)
a} :: DescribeTrialComponentResponse) ((Maybe (HashMap Text TrialComponentArtifact)
  -> f (Maybe (HashMap Text TrialComponentArtifact)))
 -> DescribeTrialComponentResponse
 -> f DescribeTrialComponentResponse)
-> ((Maybe (HashMap Text TrialComponentArtifact)
     -> f (Maybe (HashMap Text TrialComponentArtifact)))
    -> Maybe (HashMap Text TrialComponentArtifact)
    -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> (Maybe (HashMap Text TrialComponentArtifact)
    -> f (Maybe (HashMap Text TrialComponentArtifact)))
-> DescribeTrialComponentResponse
-> f DescribeTrialComponentResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
-> Iso
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
     (Maybe (HashMap Text TrialComponentArtifact))
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
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
  (HashMap Text TrialComponentArtifact)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance
  Prelude.NFData
    DescribeTrialComponentResponse