{-# 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.DescribeModelExplainabilityJobDefinition
-- 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)
--
-- Returns a description of a model explainability job definition.
module Amazonka.SageMaker.DescribeModelExplainabilityJobDefinition
  ( -- * Creating a Request
    DescribeModelExplainabilityJobDefinition (..),
    newDescribeModelExplainabilityJobDefinition,

    -- * Request Lenses
    describeModelExplainabilityJobDefinition_jobDefinitionName,

    -- * Destructuring the Response
    DescribeModelExplainabilityJobDefinitionResponse (..),
    newDescribeModelExplainabilityJobDefinitionResponse,

    -- * Response Lenses
    describeModelExplainabilityJobDefinitionResponse_stoppingCondition,
    describeModelExplainabilityJobDefinitionResponse_networkConfig,
    describeModelExplainabilityJobDefinitionResponse_modelExplainabilityBaselineConfig,
    describeModelExplainabilityJobDefinitionResponse_httpStatus,
    describeModelExplainabilityJobDefinitionResponse_jobDefinitionArn,
    describeModelExplainabilityJobDefinitionResponse_jobDefinitionName,
    describeModelExplainabilityJobDefinitionResponse_creationTime,
    describeModelExplainabilityJobDefinitionResponse_modelExplainabilityAppSpecification,
    describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobInput,
    describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobOutputConfig,
    describeModelExplainabilityJobDefinitionResponse_jobResources,
    describeModelExplainabilityJobDefinitionResponse_roleArn,
  )
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:/ 'newDescribeModelExplainabilityJobDefinition' smart constructor.
data DescribeModelExplainabilityJobDefinition = DescribeModelExplainabilityJobDefinition'
  { -- | The name of the model explainability job definition. The name must be
    -- unique within an Amazon Web Services Region in the Amazon Web Services
    -- account.
    DescribeModelExplainabilityJobDefinition -> Text
jobDefinitionName :: Prelude.Text
  }
  deriving (DescribeModelExplainabilityJobDefinition
-> DescribeModelExplainabilityJobDefinition -> Bool
(DescribeModelExplainabilityJobDefinition
 -> DescribeModelExplainabilityJobDefinition -> Bool)
-> (DescribeModelExplainabilityJobDefinition
    -> DescribeModelExplainabilityJobDefinition -> Bool)
-> Eq DescribeModelExplainabilityJobDefinition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelExplainabilityJobDefinition
-> DescribeModelExplainabilityJobDefinition -> Bool
$c/= :: DescribeModelExplainabilityJobDefinition
-> DescribeModelExplainabilityJobDefinition -> Bool
== :: DescribeModelExplainabilityJobDefinition
-> DescribeModelExplainabilityJobDefinition -> Bool
$c== :: DescribeModelExplainabilityJobDefinition
-> DescribeModelExplainabilityJobDefinition -> Bool
Prelude.Eq, ReadPrec [DescribeModelExplainabilityJobDefinition]
ReadPrec DescribeModelExplainabilityJobDefinition
Int -> ReadS DescribeModelExplainabilityJobDefinition
ReadS [DescribeModelExplainabilityJobDefinition]
(Int -> ReadS DescribeModelExplainabilityJobDefinition)
-> ReadS [DescribeModelExplainabilityJobDefinition]
-> ReadPrec DescribeModelExplainabilityJobDefinition
-> ReadPrec [DescribeModelExplainabilityJobDefinition]
-> Read DescribeModelExplainabilityJobDefinition
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelExplainabilityJobDefinition]
$creadListPrec :: ReadPrec [DescribeModelExplainabilityJobDefinition]
readPrec :: ReadPrec DescribeModelExplainabilityJobDefinition
$creadPrec :: ReadPrec DescribeModelExplainabilityJobDefinition
readList :: ReadS [DescribeModelExplainabilityJobDefinition]
$creadList :: ReadS [DescribeModelExplainabilityJobDefinition]
readsPrec :: Int -> ReadS DescribeModelExplainabilityJobDefinition
$creadsPrec :: Int -> ReadS DescribeModelExplainabilityJobDefinition
Prelude.Read, Int -> DescribeModelExplainabilityJobDefinition -> ShowS
[DescribeModelExplainabilityJobDefinition] -> ShowS
DescribeModelExplainabilityJobDefinition -> String
(Int -> DescribeModelExplainabilityJobDefinition -> ShowS)
-> (DescribeModelExplainabilityJobDefinition -> String)
-> ([DescribeModelExplainabilityJobDefinition] -> ShowS)
-> Show DescribeModelExplainabilityJobDefinition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelExplainabilityJobDefinition] -> ShowS
$cshowList :: [DescribeModelExplainabilityJobDefinition] -> ShowS
show :: DescribeModelExplainabilityJobDefinition -> String
$cshow :: DescribeModelExplainabilityJobDefinition -> String
showsPrec :: Int -> DescribeModelExplainabilityJobDefinition -> ShowS
$cshowsPrec :: Int -> DescribeModelExplainabilityJobDefinition -> ShowS
Prelude.Show, (forall x.
 DescribeModelExplainabilityJobDefinition
 -> Rep DescribeModelExplainabilityJobDefinition x)
-> (forall x.
    Rep DescribeModelExplainabilityJobDefinition x
    -> DescribeModelExplainabilityJobDefinition)
-> Generic DescribeModelExplainabilityJobDefinition
forall x.
Rep DescribeModelExplainabilityJobDefinition x
-> DescribeModelExplainabilityJobDefinition
forall x.
DescribeModelExplainabilityJobDefinition
-> Rep DescribeModelExplainabilityJobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelExplainabilityJobDefinition x
-> DescribeModelExplainabilityJobDefinition
$cfrom :: forall x.
DescribeModelExplainabilityJobDefinition
-> Rep DescribeModelExplainabilityJobDefinition x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelExplainabilityJobDefinition' 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:
--
-- 'jobDefinitionName', 'describeModelExplainabilityJobDefinition_jobDefinitionName' - The name of the model explainability job definition. The name must be
-- unique within an Amazon Web Services Region in the Amazon Web Services
-- account.
newDescribeModelExplainabilityJobDefinition ::
  -- | 'jobDefinitionName'
  Prelude.Text ->
  DescribeModelExplainabilityJobDefinition
newDescribeModelExplainabilityJobDefinition :: Text -> DescribeModelExplainabilityJobDefinition
newDescribeModelExplainabilityJobDefinition
  Text
pJobDefinitionName_ =
    DescribeModelExplainabilityJobDefinition' :: Text -> DescribeModelExplainabilityJobDefinition
DescribeModelExplainabilityJobDefinition'
      { $sel:jobDefinitionName:DescribeModelExplainabilityJobDefinition' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_
      }

-- | The name of the model explainability job definition. The name must be
-- unique within an Amazon Web Services Region in the Amazon Web Services
-- account.
describeModelExplainabilityJobDefinition_jobDefinitionName :: Lens.Lens' DescribeModelExplainabilityJobDefinition Prelude.Text
describeModelExplainabilityJobDefinition_jobDefinitionName :: (Text -> f Text)
-> DescribeModelExplainabilityJobDefinition
-> f DescribeModelExplainabilityJobDefinition
describeModelExplainabilityJobDefinition_jobDefinitionName = (DescribeModelExplainabilityJobDefinition -> Text)
-> (DescribeModelExplainabilityJobDefinition
    -> Text -> DescribeModelExplainabilityJobDefinition)
-> Lens
     DescribeModelExplainabilityJobDefinition
     DescribeModelExplainabilityJobDefinition
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeModelExplainabilityJobDefinition' :: DescribeModelExplainabilityJobDefinition -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: DescribeModelExplainabilityJobDefinition
s@DescribeModelExplainabilityJobDefinition' {} Text
a -> DescribeModelExplainabilityJobDefinition
s {$sel:jobDefinitionName:DescribeModelExplainabilityJobDefinition' :: Text
jobDefinitionName = Text
a} :: DescribeModelExplainabilityJobDefinition)

instance
  Core.AWSRequest
    DescribeModelExplainabilityJobDefinition
  where
  type
    AWSResponse
      DescribeModelExplainabilityJobDefinition =
      DescribeModelExplainabilityJobDefinitionResponse
  request :: DescribeModelExplainabilityJobDefinition
-> Request DescribeModelExplainabilityJobDefinition
request = Service
-> DescribeModelExplainabilityJobDefinition
-> Request DescribeModelExplainabilityJobDefinition
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeModelExplainabilityJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeModelExplainabilityJobDefinition)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either
      String (AWSResponse DescribeModelExplainabilityJobDefinition))
-> Logger
-> Service
-> Proxy DescribeModelExplainabilityJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeModelExplainabilityJobDefinition)))
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 MonitoringStoppingCondition
-> Maybe MonitoringNetworkConfig
-> Maybe ModelExplainabilityBaselineConfig
-> Int
-> Text
-> Text
-> POSIX
-> ModelExplainabilityAppSpecification
-> ModelExplainabilityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeModelExplainabilityJobDefinitionResponse
DescribeModelExplainabilityJobDefinitionResponse'
            (Maybe MonitoringStoppingCondition
 -> Maybe MonitoringNetworkConfig
 -> Maybe ModelExplainabilityBaselineConfig
 -> Int
 -> Text
 -> Text
 -> POSIX
 -> ModelExplainabilityAppSpecification
 -> ModelExplainabilityJobInput
 -> MonitoringOutputConfig
 -> MonitoringResources
 -> Text
 -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String (Maybe MonitoringStoppingCondition)
-> Either
     String
     (Maybe MonitoringNetworkConfig
      -> Maybe ModelExplainabilityBaselineConfig
      -> Int
      -> Text
      -> Text
      -> POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe MonitoringStoppingCondition)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"StoppingCondition")
              Either
  String
  (Maybe MonitoringNetworkConfig
   -> Maybe ModelExplainabilityBaselineConfig
   -> Int
   -> Text
   -> Text
   -> POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String (Maybe MonitoringNetworkConfig)
-> Either
     String
     (Maybe ModelExplainabilityBaselineConfig
      -> Int
      -> Text
      -> Text
      -> POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe MonitoringNetworkConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NetworkConfig")
              Either
  String
  (Maybe ModelExplainabilityBaselineConfig
   -> Int
   -> Text
   -> Text
   -> POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String (Maybe ModelExplainabilityBaselineConfig)
-> Either
     String
     (Int
      -> Text
      -> Text
      -> POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe ModelExplainabilityBaselineConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelExplainabilityBaselineConfig")
              Either
  String
  (Int
   -> Text
   -> Text
   -> POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String Int
-> Either
     String
     (Text
      -> Text
      -> POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
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))
              Either
  String
  (Text
   -> Text
   -> POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String Text
-> Either
     String
     (Text
      -> POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"JobDefinitionArn")
              Either
  String
  (Text
   -> POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String Text
-> Either
     String
     (POSIX
      -> ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"JobDefinitionName")
              Either
  String
  (POSIX
   -> ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String POSIX
-> Either
     String
     (ModelExplainabilityAppSpecification
      -> ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"CreationTime")
              Either
  String
  (ModelExplainabilityAppSpecification
   -> ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String ModelExplainabilityAppSpecification
-> Either
     String
     (ModelExplainabilityJobInput
      -> MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ModelExplainabilityAppSpecification
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ModelExplainabilityAppSpecification")
              Either
  String
  (ModelExplainabilityJobInput
   -> MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String ModelExplainabilityJobInput
-> Either
     String
     (MonitoringOutputConfig
      -> MonitoringResources
      -> Text
      -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ModelExplainabilityJobInput
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ModelExplainabilityJobInput")
              Either
  String
  (MonitoringOutputConfig
   -> MonitoringResources
   -> Text
   -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String MonitoringOutputConfig
-> Either
     String
     (MonitoringResources
      -> Text -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String MonitoringOutputConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ModelExplainabilityJobOutputConfig")
              Either
  String
  (MonitoringResources
   -> Text -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String MonitoringResources
-> Either
     String (Text -> DescribeModelExplainabilityJobDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String MonitoringResources
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"JobResources")
              Either
  String (Text -> DescribeModelExplainabilityJobDefinitionResponse)
-> Either String Text
-> Either String DescribeModelExplainabilityJobDefinitionResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"RoleArn")
      )

instance
  Prelude.Hashable
    DescribeModelExplainabilityJobDefinition

instance
  Prelude.NFData
    DescribeModelExplainabilityJobDefinition

instance
  Core.ToHeaders
    DescribeModelExplainabilityJobDefinition
  where
  toHeaders :: DescribeModelExplainabilityJobDefinition -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> DescribeModelExplainabilityJobDefinition -> 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.DescribeModelExplainabilityJobDefinition" ::
                          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
    DescribeModelExplainabilityJobDefinition
  where
  toJSON :: DescribeModelExplainabilityJobDefinition -> Value
toJSON DescribeModelExplainabilityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeModelExplainabilityJobDefinition' :: DescribeModelExplainabilityJobDefinition -> 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
"JobDefinitionName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
jobDefinitionName)
          ]
      )

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

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

-- | /See:/ 'newDescribeModelExplainabilityJobDefinitionResponse' smart constructor.
data DescribeModelExplainabilityJobDefinitionResponse = DescribeModelExplainabilityJobDefinitionResponse'
  { DescribeModelExplainabilityJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
stoppingCondition :: Prelude.Maybe MonitoringStoppingCondition,
    -- | Networking options for a model explainability job.
    DescribeModelExplainabilityJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
networkConfig :: Prelude.Maybe MonitoringNetworkConfig,
    -- | The baseline configuration for a model explainability job.
    DescribeModelExplainabilityJobDefinitionResponse
-> Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig :: Prelude.Maybe ModelExplainabilityBaselineConfig,
    -- | The response's http status code.
    DescribeModelExplainabilityJobDefinitionResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the model explainability job.
    DescribeModelExplainabilityJobDefinitionResponse -> Text
jobDefinitionArn :: Prelude.Text,
    -- | The name of the explainability job definition. The name must be unique
    -- within an Amazon Web Services Region in the Amazon Web Services account.
    DescribeModelExplainabilityJobDefinitionResponse -> Text
jobDefinitionName :: Prelude.Text,
    -- | The time at which the model explainability job was created.
    DescribeModelExplainabilityJobDefinitionResponse -> POSIX
creationTime :: Core.POSIX,
    -- | Configures the model explainability job to run a specified Docker
    -- container image.
    DescribeModelExplainabilityJobDefinitionResponse
-> ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification,
    -- | Inputs for the model explainability job.
    DescribeModelExplainabilityJobDefinitionResponse
-> ModelExplainabilityJobInput
modelExplainabilityJobInput :: ModelExplainabilityJobInput,
    DescribeModelExplainabilityJobDefinitionResponse
-> MonitoringOutputConfig
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig,
    DescribeModelExplainabilityJobDefinitionResponse
-> MonitoringResources
jobResources :: MonitoringResources,
    -- | The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
    -- Access Management (IAM) role that has read permission to the input data
    -- location and write permission to the output data location in Amazon S3.
    DescribeModelExplainabilityJobDefinitionResponse -> Text
roleArn :: Prelude.Text
  }
  deriving (DescribeModelExplainabilityJobDefinitionResponse
-> DescribeModelExplainabilityJobDefinitionResponse -> Bool
(DescribeModelExplainabilityJobDefinitionResponse
 -> DescribeModelExplainabilityJobDefinitionResponse -> Bool)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> DescribeModelExplainabilityJobDefinitionResponse -> Bool)
-> Eq DescribeModelExplainabilityJobDefinitionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelExplainabilityJobDefinitionResponse
-> DescribeModelExplainabilityJobDefinitionResponse -> Bool
$c/= :: DescribeModelExplainabilityJobDefinitionResponse
-> DescribeModelExplainabilityJobDefinitionResponse -> Bool
== :: DescribeModelExplainabilityJobDefinitionResponse
-> DescribeModelExplainabilityJobDefinitionResponse -> Bool
$c== :: DescribeModelExplainabilityJobDefinitionResponse
-> DescribeModelExplainabilityJobDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeModelExplainabilityJobDefinitionResponse]
ReadPrec DescribeModelExplainabilityJobDefinitionResponse
Int -> ReadS DescribeModelExplainabilityJobDefinitionResponse
ReadS [DescribeModelExplainabilityJobDefinitionResponse]
(Int -> ReadS DescribeModelExplainabilityJobDefinitionResponse)
-> ReadS [DescribeModelExplainabilityJobDefinitionResponse]
-> ReadPrec DescribeModelExplainabilityJobDefinitionResponse
-> ReadPrec [DescribeModelExplainabilityJobDefinitionResponse]
-> Read DescribeModelExplainabilityJobDefinitionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelExplainabilityJobDefinitionResponse]
$creadListPrec :: ReadPrec [DescribeModelExplainabilityJobDefinitionResponse]
readPrec :: ReadPrec DescribeModelExplainabilityJobDefinitionResponse
$creadPrec :: ReadPrec DescribeModelExplainabilityJobDefinitionResponse
readList :: ReadS [DescribeModelExplainabilityJobDefinitionResponse]
$creadList :: ReadS [DescribeModelExplainabilityJobDefinitionResponse]
readsPrec :: Int -> ReadS DescribeModelExplainabilityJobDefinitionResponse
$creadsPrec :: Int -> ReadS DescribeModelExplainabilityJobDefinitionResponse
Prelude.Read, Int -> DescribeModelExplainabilityJobDefinitionResponse -> ShowS
[DescribeModelExplainabilityJobDefinitionResponse] -> ShowS
DescribeModelExplainabilityJobDefinitionResponse -> String
(Int -> DescribeModelExplainabilityJobDefinitionResponse -> ShowS)
-> (DescribeModelExplainabilityJobDefinitionResponse -> String)
-> ([DescribeModelExplainabilityJobDefinitionResponse] -> ShowS)
-> Show DescribeModelExplainabilityJobDefinitionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelExplainabilityJobDefinitionResponse] -> ShowS
$cshowList :: [DescribeModelExplainabilityJobDefinitionResponse] -> ShowS
show :: DescribeModelExplainabilityJobDefinitionResponse -> String
$cshow :: DescribeModelExplainabilityJobDefinitionResponse -> String
showsPrec :: Int -> DescribeModelExplainabilityJobDefinitionResponse -> ShowS
$cshowsPrec :: Int -> DescribeModelExplainabilityJobDefinitionResponse -> ShowS
Prelude.Show, (forall x.
 DescribeModelExplainabilityJobDefinitionResponse
 -> Rep DescribeModelExplainabilityJobDefinitionResponse x)
-> (forall x.
    Rep DescribeModelExplainabilityJobDefinitionResponse x
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Generic DescribeModelExplainabilityJobDefinitionResponse
forall x.
Rep DescribeModelExplainabilityJobDefinitionResponse x
-> DescribeModelExplainabilityJobDefinitionResponse
forall x.
DescribeModelExplainabilityJobDefinitionResponse
-> Rep DescribeModelExplainabilityJobDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelExplainabilityJobDefinitionResponse x
-> DescribeModelExplainabilityJobDefinitionResponse
$cfrom :: forall x.
DescribeModelExplainabilityJobDefinitionResponse
-> Rep DescribeModelExplainabilityJobDefinitionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelExplainabilityJobDefinitionResponse' 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:
--
-- 'stoppingCondition', 'describeModelExplainabilityJobDefinitionResponse_stoppingCondition' - Undocumented member.
--
-- 'networkConfig', 'describeModelExplainabilityJobDefinitionResponse_networkConfig' - Networking options for a model explainability job.
--
-- 'modelExplainabilityBaselineConfig', 'describeModelExplainabilityJobDefinitionResponse_modelExplainabilityBaselineConfig' - The baseline configuration for a model explainability job.
--
-- 'httpStatus', 'describeModelExplainabilityJobDefinitionResponse_httpStatus' - The response's http status code.
--
-- 'jobDefinitionArn', 'describeModelExplainabilityJobDefinitionResponse_jobDefinitionArn' - The Amazon Resource Name (ARN) of the model explainability job.
--
-- 'jobDefinitionName', 'describeModelExplainabilityJobDefinitionResponse_jobDefinitionName' - The name of the explainability job definition. The name must be unique
-- within an Amazon Web Services Region in the Amazon Web Services account.
--
-- 'creationTime', 'describeModelExplainabilityJobDefinitionResponse_creationTime' - The time at which the model explainability job was created.
--
-- 'modelExplainabilityAppSpecification', 'describeModelExplainabilityJobDefinitionResponse_modelExplainabilityAppSpecification' - Configures the model explainability job to run a specified Docker
-- container image.
--
-- 'modelExplainabilityJobInput', 'describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobInput' - Inputs for the model explainability job.
--
-- 'modelExplainabilityJobOutputConfig', 'describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobOutputConfig' - Undocumented member.
--
-- 'jobResources', 'describeModelExplainabilityJobDefinitionResponse_jobResources' - Undocumented member.
--
-- 'roleArn', 'describeModelExplainabilityJobDefinitionResponse_roleArn' - The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
-- Access Management (IAM) role that has read permission to the input data
-- location and write permission to the output data location in Amazon S3.
newDescribeModelExplainabilityJobDefinitionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobDefinitionArn'
  Prelude.Text ->
  -- | 'jobDefinitionName'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'modelExplainabilityAppSpecification'
  ModelExplainabilityAppSpecification ->
  -- | 'modelExplainabilityJobInput'
  ModelExplainabilityJobInput ->
  -- | 'modelExplainabilityJobOutputConfig'
  MonitoringOutputConfig ->
  -- | 'jobResources'
  MonitoringResources ->
  -- | 'roleArn'
  Prelude.Text ->
  DescribeModelExplainabilityJobDefinitionResponse
newDescribeModelExplainabilityJobDefinitionResponse :: Int
-> Text
-> Text
-> UTCTime
-> ModelExplainabilityAppSpecification
-> ModelExplainabilityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeModelExplainabilityJobDefinitionResponse
newDescribeModelExplainabilityJobDefinitionResponse
  Int
pHttpStatus_
  Text
pJobDefinitionArn_
  Text
pJobDefinitionName_
  UTCTime
pCreationTime_
  ModelExplainabilityAppSpecification
pModelExplainabilityAppSpecification_
  ModelExplainabilityJobInput
pModelExplainabilityJobInput_
  MonitoringOutputConfig
pModelExplainabilityJobOutputConfig_
  MonitoringResources
pJobResources_
  Text
pRoleArn_ =
    DescribeModelExplainabilityJobDefinitionResponse' :: Maybe MonitoringStoppingCondition
-> Maybe MonitoringNetworkConfig
-> Maybe ModelExplainabilityBaselineConfig
-> Int
-> Text
-> Text
-> POSIX
-> ModelExplainabilityAppSpecification
-> ModelExplainabilityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeModelExplainabilityJobDefinitionResponse
DescribeModelExplainabilityJobDefinitionResponse'
      { $sel:stoppingCondition:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe MonitoringStoppingCondition
stoppingCondition =
          Maybe MonitoringStoppingCondition
forall a. Maybe a
Prelude.Nothing,
        $sel:networkConfig:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe MonitoringNetworkConfig
networkConfig =
          Maybe MonitoringNetworkConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:modelExplainabilityBaselineConfig:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig =
          Maybe ModelExplainabilityBaselineConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeModelExplainabilityJobDefinitionResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:jobDefinitionArn:DescribeModelExplainabilityJobDefinitionResponse' :: Text
jobDefinitionArn =
          Text
pJobDefinitionArn_,
        $sel:jobDefinitionName:DescribeModelExplainabilityJobDefinitionResponse' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_,
        $sel:creationTime:DescribeModelExplainabilityJobDefinitionResponse' :: POSIX
creationTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time
            (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:modelExplainabilityAppSpecification:DescribeModelExplainabilityJobDefinitionResponse' :: ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification =
          ModelExplainabilityAppSpecification
pModelExplainabilityAppSpecification_,
        $sel:modelExplainabilityJobInput:DescribeModelExplainabilityJobDefinitionResponse' :: ModelExplainabilityJobInput
modelExplainabilityJobInput =
          ModelExplainabilityJobInput
pModelExplainabilityJobInput_,
        $sel:modelExplainabilityJobOutputConfig:DescribeModelExplainabilityJobDefinitionResponse' :: MonitoringOutputConfig
modelExplainabilityJobOutputConfig =
          MonitoringOutputConfig
pModelExplainabilityJobOutputConfig_,
        $sel:jobResources:DescribeModelExplainabilityJobDefinitionResponse' :: MonitoringResources
jobResources =
          MonitoringResources
pJobResources_,
        $sel:roleArn:DescribeModelExplainabilityJobDefinitionResponse' :: Text
roleArn = Text
pRoleArn_
      }

-- | Undocumented member.
describeModelExplainabilityJobDefinitionResponse_stoppingCondition :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse (Prelude.Maybe MonitoringStoppingCondition)
describeModelExplainabilityJobDefinitionResponse_stoppingCondition :: (Maybe MonitoringStoppingCondition
 -> f (Maybe MonitoringStoppingCondition))
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_stoppingCondition = (DescribeModelExplainabilityJobDefinitionResponse
 -> Maybe MonitoringStoppingCondition)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Maybe MonitoringStoppingCondition
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     (Maybe MonitoringStoppingCondition)
     (Maybe MonitoringStoppingCondition)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Maybe MonitoringStoppingCondition
stoppingCondition :: Maybe MonitoringStoppingCondition
$sel:stoppingCondition:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
stoppingCondition} -> Maybe MonitoringStoppingCondition
stoppingCondition) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Maybe MonitoringStoppingCondition
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:stoppingCondition:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe MonitoringStoppingCondition
stoppingCondition = Maybe MonitoringStoppingCondition
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | Networking options for a model explainability job.
describeModelExplainabilityJobDefinitionResponse_networkConfig :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse (Prelude.Maybe MonitoringNetworkConfig)
describeModelExplainabilityJobDefinitionResponse_networkConfig :: (Maybe MonitoringNetworkConfig
 -> f (Maybe MonitoringNetworkConfig))
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_networkConfig = (DescribeModelExplainabilityJobDefinitionResponse
 -> Maybe MonitoringNetworkConfig)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Maybe MonitoringNetworkConfig
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     (Maybe MonitoringNetworkConfig)
     (Maybe MonitoringNetworkConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Maybe MonitoringNetworkConfig
networkConfig :: Maybe MonitoringNetworkConfig
$sel:networkConfig:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
networkConfig} -> Maybe MonitoringNetworkConfig
networkConfig) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Maybe MonitoringNetworkConfig
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:networkConfig:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe MonitoringNetworkConfig
networkConfig = Maybe MonitoringNetworkConfig
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | The baseline configuration for a model explainability job.
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityBaselineConfig :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse (Prelude.Maybe ModelExplainabilityBaselineConfig)
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityBaselineConfig :: (Maybe ModelExplainabilityBaselineConfig
 -> f (Maybe ModelExplainabilityBaselineConfig))
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityBaselineConfig = (DescribeModelExplainabilityJobDefinitionResponse
 -> Maybe ModelExplainabilityBaselineConfig)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Maybe ModelExplainabilityBaselineConfig
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     (Maybe ModelExplainabilityBaselineConfig)
     (Maybe ModelExplainabilityBaselineConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig :: Maybe ModelExplainabilityBaselineConfig
$sel:modelExplainabilityBaselineConfig:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig} -> Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Maybe ModelExplainabilityBaselineConfig
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:modelExplainabilityBaselineConfig:DescribeModelExplainabilityJobDefinitionResponse' :: Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig = Maybe ModelExplainabilityBaselineConfig
a} :: DescribeModelExplainabilityJobDefinitionResponse)

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

-- | The Amazon Resource Name (ARN) of the model explainability job.
describeModelExplainabilityJobDefinitionResponse_jobDefinitionArn :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse Prelude.Text
describeModelExplainabilityJobDefinitionResponse_jobDefinitionArn :: (Text -> f Text)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_jobDefinitionArn = (DescribeModelExplainabilityJobDefinitionResponse -> Text)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Text -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Text
jobDefinitionArn :: Text
$sel:jobDefinitionArn:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse -> Text
jobDefinitionArn} -> Text
jobDefinitionArn) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Text
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:jobDefinitionArn:DescribeModelExplainabilityJobDefinitionResponse' :: Text
jobDefinitionArn = Text
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | The name of the explainability job definition. The name must be unique
-- within an Amazon Web Services Region in the Amazon Web Services account.
describeModelExplainabilityJobDefinitionResponse_jobDefinitionName :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse Prelude.Text
describeModelExplainabilityJobDefinitionResponse_jobDefinitionName :: (Text -> f Text)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_jobDefinitionName = (DescribeModelExplainabilityJobDefinitionResponse -> Text)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Text -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Text
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:jobDefinitionName:DescribeModelExplainabilityJobDefinitionResponse' :: Text
jobDefinitionName = Text
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | The time at which the model explainability job was created.
describeModelExplainabilityJobDefinitionResponse_creationTime :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse Prelude.UTCTime
describeModelExplainabilityJobDefinitionResponse_creationTime :: (UTCTime -> f UTCTime)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_creationTime = (DescribeModelExplainabilityJobDefinitionResponse -> POSIX)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> POSIX -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     POSIX
     POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} POSIX
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:creationTime:DescribeModelExplainabilityJobDefinitionResponse' :: POSIX
creationTime = POSIX
a} :: DescribeModelExplainabilityJobDefinitionResponse) ((POSIX -> f POSIX)
 -> DescribeModelExplainabilityJobDefinitionResponse
 -> f DescribeModelExplainabilityJobDefinitionResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Configures the model explainability job to run a specified Docker
-- container image.
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityAppSpecification :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse ModelExplainabilityAppSpecification
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityAppSpecification :: (ModelExplainabilityAppSpecification
 -> f ModelExplainabilityAppSpecification)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityAppSpecification = (DescribeModelExplainabilityJobDefinitionResponse
 -> ModelExplainabilityAppSpecification)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> ModelExplainabilityAppSpecification
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     ModelExplainabilityAppSpecification
     ModelExplainabilityAppSpecification
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification
$sel:modelExplainabilityAppSpecification:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification} -> ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} ModelExplainabilityAppSpecification
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:modelExplainabilityAppSpecification:DescribeModelExplainabilityJobDefinitionResponse' :: ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification = ModelExplainabilityAppSpecification
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | Inputs for the model explainability job.
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobInput :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse ModelExplainabilityJobInput
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobInput :: (ModelExplainabilityJobInput -> f ModelExplainabilityJobInput)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobInput = (DescribeModelExplainabilityJobDefinitionResponse
 -> ModelExplainabilityJobInput)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> ModelExplainabilityJobInput
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     ModelExplainabilityJobInput
     ModelExplainabilityJobInput
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {ModelExplainabilityJobInput
modelExplainabilityJobInput :: ModelExplainabilityJobInput
$sel:modelExplainabilityJobInput:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> ModelExplainabilityJobInput
modelExplainabilityJobInput} -> ModelExplainabilityJobInput
modelExplainabilityJobInput) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} ModelExplainabilityJobInput
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:modelExplainabilityJobInput:DescribeModelExplainabilityJobDefinitionResponse' :: ModelExplainabilityJobInput
modelExplainabilityJobInput = ModelExplainabilityJobInput
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | Undocumented member.
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobOutputConfig :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse MonitoringOutputConfig
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobOutputConfig :: (MonitoringOutputConfig -> f MonitoringOutputConfig)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_modelExplainabilityJobOutputConfig = (DescribeModelExplainabilityJobDefinitionResponse
 -> MonitoringOutputConfig)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> MonitoringOutputConfig
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     MonitoringOutputConfig
     MonitoringOutputConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {MonitoringOutputConfig
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig
$sel:modelExplainabilityJobOutputConfig:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> MonitoringOutputConfig
modelExplainabilityJobOutputConfig} -> MonitoringOutputConfig
modelExplainabilityJobOutputConfig) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} MonitoringOutputConfig
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:modelExplainabilityJobOutputConfig:DescribeModelExplainabilityJobDefinitionResponse' :: MonitoringOutputConfig
modelExplainabilityJobOutputConfig = MonitoringOutputConfig
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | Undocumented member.
describeModelExplainabilityJobDefinitionResponse_jobResources :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse MonitoringResources
describeModelExplainabilityJobDefinitionResponse_jobResources :: (MonitoringResources -> f MonitoringResources)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_jobResources = (DescribeModelExplainabilityJobDefinitionResponse
 -> MonitoringResources)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> MonitoringResources
    -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     MonitoringResources
     MonitoringResources
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {MonitoringResources
jobResources :: MonitoringResources
$sel:jobResources:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse
-> MonitoringResources
jobResources} -> MonitoringResources
jobResources) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} MonitoringResources
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:jobResources:DescribeModelExplainabilityJobDefinitionResponse' :: MonitoringResources
jobResources = MonitoringResources
a} :: DescribeModelExplainabilityJobDefinitionResponse)

-- | The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
-- Access Management (IAM) role that has read permission to the input data
-- location and write permission to the output data location in Amazon S3.
describeModelExplainabilityJobDefinitionResponse_roleArn :: Lens.Lens' DescribeModelExplainabilityJobDefinitionResponse Prelude.Text
describeModelExplainabilityJobDefinitionResponse_roleArn :: (Text -> f Text)
-> DescribeModelExplainabilityJobDefinitionResponse
-> f DescribeModelExplainabilityJobDefinitionResponse
describeModelExplainabilityJobDefinitionResponse_roleArn = (DescribeModelExplainabilityJobDefinitionResponse -> Text)
-> (DescribeModelExplainabilityJobDefinitionResponse
    -> Text -> DescribeModelExplainabilityJobDefinitionResponse)
-> Lens
     DescribeModelExplainabilityJobDefinitionResponse
     DescribeModelExplainabilityJobDefinitionResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelExplainabilityJobDefinitionResponse' {Text
roleArn :: Text
$sel:roleArn:DescribeModelExplainabilityJobDefinitionResponse' :: DescribeModelExplainabilityJobDefinitionResponse -> Text
roleArn} -> Text
roleArn) (\s :: DescribeModelExplainabilityJobDefinitionResponse
s@DescribeModelExplainabilityJobDefinitionResponse' {} Text
a -> DescribeModelExplainabilityJobDefinitionResponse
s {$sel:roleArn:DescribeModelExplainabilityJobDefinitionResponse' :: Text
roleArn = Text
a} :: DescribeModelExplainabilityJobDefinitionResponse)

instance
  Prelude.NFData
    DescribeModelExplainabilityJobDefinitionResponse