{-# 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.CreateModelExplainabilityJobDefinition
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates the definition for a model explainability job.
module Amazonka.SageMaker.CreateModelExplainabilityJobDefinition
  ( -- * Creating a Request
    CreateModelExplainabilityJobDefinition (..),
    newCreateModelExplainabilityJobDefinition,

    -- * Request Lenses
    createModelExplainabilityJobDefinition_modelExplainabilityBaselineConfig,
    createModelExplainabilityJobDefinition_networkConfig,
    createModelExplainabilityJobDefinition_stoppingCondition,
    createModelExplainabilityJobDefinition_tags,
    createModelExplainabilityJobDefinition_jobDefinitionName,
    createModelExplainabilityJobDefinition_modelExplainabilityAppSpecification,
    createModelExplainabilityJobDefinition_modelExplainabilityJobInput,
    createModelExplainabilityJobDefinition_modelExplainabilityJobOutputConfig,
    createModelExplainabilityJobDefinition_jobResources,
    createModelExplainabilityJobDefinition_roleArn,

    -- * Destructuring the Response
    CreateModelExplainabilityJobDefinitionResponse (..),
    newCreateModelExplainabilityJobDefinitionResponse,

    -- * Response Lenses
    createModelExplainabilityJobDefinitionResponse_httpStatus,
    createModelExplainabilityJobDefinitionResponse_jobDefinitionArn,
  )
where

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

-- | /See:/ 'newCreateModelExplainabilityJobDefinition' smart constructor.
data CreateModelExplainabilityJobDefinition = CreateModelExplainabilityJobDefinition'
  { -- | The baseline configuration for a model explainability job.
    CreateModelExplainabilityJobDefinition
-> Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig :: Prelude.Maybe ModelExplainabilityBaselineConfig,
    -- | Networking options for a model explainability job.
    CreateModelExplainabilityJobDefinition
-> Maybe MonitoringNetworkConfig
networkConfig :: Prelude.Maybe MonitoringNetworkConfig,
    CreateModelExplainabilityJobDefinition
-> Maybe MonitoringStoppingCondition
stoppingCondition :: Prelude.Maybe MonitoringStoppingCondition,
    -- | (Optional) An array of key-value pairs. For more information, see
    -- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
    -- in the /Amazon Web Services Billing and Cost Management User Guide/.
    CreateModelExplainabilityJobDefinition -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | 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.
    CreateModelExplainabilityJobDefinition -> Text
jobDefinitionName :: Prelude.Text,
    -- | Configures the model explainability job to run a specified Docker
    -- container image.
    CreateModelExplainabilityJobDefinition
-> ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification,
    -- | Inputs for the model explainability job.
    CreateModelExplainabilityJobDefinition
-> ModelExplainabilityJobInput
modelExplainabilityJobInput :: ModelExplainabilityJobInput,
    CreateModelExplainabilityJobDefinition -> MonitoringOutputConfig
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig,
    CreateModelExplainabilityJobDefinition -> MonitoringResources
jobResources :: MonitoringResources,
    -- | The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
    -- assume to perform tasks on your behalf.
    CreateModelExplainabilityJobDefinition -> Text
roleArn :: Prelude.Text
  }
  deriving (CreateModelExplainabilityJobDefinition
-> CreateModelExplainabilityJobDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateModelExplainabilityJobDefinition
-> CreateModelExplainabilityJobDefinition -> Bool
$c/= :: CreateModelExplainabilityJobDefinition
-> CreateModelExplainabilityJobDefinition -> Bool
== :: CreateModelExplainabilityJobDefinition
-> CreateModelExplainabilityJobDefinition -> Bool
$c== :: CreateModelExplainabilityJobDefinition
-> CreateModelExplainabilityJobDefinition -> Bool
Prelude.Eq, ReadPrec [CreateModelExplainabilityJobDefinition]
ReadPrec CreateModelExplainabilityJobDefinition
Int -> ReadS CreateModelExplainabilityJobDefinition
ReadS [CreateModelExplainabilityJobDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateModelExplainabilityJobDefinition]
$creadListPrec :: ReadPrec [CreateModelExplainabilityJobDefinition]
readPrec :: ReadPrec CreateModelExplainabilityJobDefinition
$creadPrec :: ReadPrec CreateModelExplainabilityJobDefinition
readList :: ReadS [CreateModelExplainabilityJobDefinition]
$creadList :: ReadS [CreateModelExplainabilityJobDefinition]
readsPrec :: Int -> ReadS CreateModelExplainabilityJobDefinition
$creadsPrec :: Int -> ReadS CreateModelExplainabilityJobDefinition
Prelude.Read, Int -> CreateModelExplainabilityJobDefinition -> ShowS
[CreateModelExplainabilityJobDefinition] -> ShowS
CreateModelExplainabilityJobDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateModelExplainabilityJobDefinition] -> ShowS
$cshowList :: [CreateModelExplainabilityJobDefinition] -> ShowS
show :: CreateModelExplainabilityJobDefinition -> String
$cshow :: CreateModelExplainabilityJobDefinition -> String
showsPrec :: Int -> CreateModelExplainabilityJobDefinition -> ShowS
$cshowsPrec :: Int -> CreateModelExplainabilityJobDefinition -> ShowS
Prelude.Show, forall x.
Rep CreateModelExplainabilityJobDefinition x
-> CreateModelExplainabilityJobDefinition
forall x.
CreateModelExplainabilityJobDefinition
-> Rep CreateModelExplainabilityJobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateModelExplainabilityJobDefinition x
-> CreateModelExplainabilityJobDefinition
$cfrom :: forall x.
CreateModelExplainabilityJobDefinition
-> Rep CreateModelExplainabilityJobDefinition x
Prelude.Generic)

-- |
-- Create a value of 'CreateModelExplainabilityJobDefinition' 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:
--
-- 'modelExplainabilityBaselineConfig', 'createModelExplainabilityJobDefinition_modelExplainabilityBaselineConfig' - The baseline configuration for a model explainability job.
--
-- 'networkConfig', 'createModelExplainabilityJobDefinition_networkConfig' - Networking options for a model explainability job.
--
-- 'stoppingCondition', 'createModelExplainabilityJobDefinition_stoppingCondition' - Undocumented member.
--
-- 'tags', 'createModelExplainabilityJobDefinition_tags' - (Optional) An array of key-value pairs. For more information, see
-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
-- in the /Amazon Web Services Billing and Cost Management User Guide/.
--
-- 'jobDefinitionName', 'createModelExplainabilityJobDefinition_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.
--
-- 'modelExplainabilityAppSpecification', 'createModelExplainabilityJobDefinition_modelExplainabilityAppSpecification' - Configures the model explainability job to run a specified Docker
-- container image.
--
-- 'modelExplainabilityJobInput', 'createModelExplainabilityJobDefinition_modelExplainabilityJobInput' - Inputs for the model explainability job.
--
-- 'modelExplainabilityJobOutputConfig', 'createModelExplainabilityJobDefinition_modelExplainabilityJobOutputConfig' - Undocumented member.
--
-- 'jobResources', 'createModelExplainabilityJobDefinition_jobResources' - Undocumented member.
--
-- 'roleArn', 'createModelExplainabilityJobDefinition_roleArn' - The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
-- assume to perform tasks on your behalf.
newCreateModelExplainabilityJobDefinition ::
  -- | 'jobDefinitionName'
  Prelude.Text ->
  -- | 'modelExplainabilityAppSpecification'
  ModelExplainabilityAppSpecification ->
  -- | 'modelExplainabilityJobInput'
  ModelExplainabilityJobInput ->
  -- | 'modelExplainabilityJobOutputConfig'
  MonitoringOutputConfig ->
  -- | 'jobResources'
  MonitoringResources ->
  -- | 'roleArn'
  Prelude.Text ->
  CreateModelExplainabilityJobDefinition
newCreateModelExplainabilityJobDefinition :: Text
-> ModelExplainabilityAppSpecification
-> ModelExplainabilityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> CreateModelExplainabilityJobDefinition
newCreateModelExplainabilityJobDefinition
  Text
pJobDefinitionName_
  ModelExplainabilityAppSpecification
pModelExplainabilityAppSpecification_
  ModelExplainabilityJobInput
pModelExplainabilityJobInput_
  MonitoringOutputConfig
pModelExplainabilityJobOutputConfig_
  MonitoringResources
pJobResources_
  Text
pRoleArn_ =
    CreateModelExplainabilityJobDefinition'
      { $sel:modelExplainabilityBaselineConfig:CreateModelExplainabilityJobDefinition' :: Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig =
          forall a. Maybe a
Prelude.Nothing,
        $sel:networkConfig:CreateModelExplainabilityJobDefinition' :: Maybe MonitoringNetworkConfig
networkConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:stoppingCondition:CreateModelExplainabilityJobDefinition' :: Maybe MonitoringStoppingCondition
stoppingCondition = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:CreateModelExplainabilityJobDefinition' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_,
        $sel:modelExplainabilityAppSpecification:CreateModelExplainabilityJobDefinition' :: ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification =
          ModelExplainabilityAppSpecification
pModelExplainabilityAppSpecification_,
        $sel:modelExplainabilityJobInput:CreateModelExplainabilityJobDefinition' :: ModelExplainabilityJobInput
modelExplainabilityJobInput =
          ModelExplainabilityJobInput
pModelExplainabilityJobInput_,
        $sel:modelExplainabilityJobOutputConfig:CreateModelExplainabilityJobDefinition' :: MonitoringOutputConfig
modelExplainabilityJobOutputConfig =
          MonitoringOutputConfig
pModelExplainabilityJobOutputConfig_,
        $sel:jobResources:CreateModelExplainabilityJobDefinition' :: MonitoringResources
jobResources = MonitoringResources
pJobResources_,
        $sel:roleArn:CreateModelExplainabilityJobDefinition' :: Text
roleArn = Text
pRoleArn_
      }

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

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

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

-- | (Optional) An array of key-value pairs. For more information, see
-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
-- in the /Amazon Web Services Billing and Cost Management User Guide/.
createModelExplainabilityJobDefinition_tags :: Lens.Lens' CreateModelExplainabilityJobDefinition (Prelude.Maybe [Tag])
createModelExplainabilityJobDefinition_tags :: Lens' CreateModelExplainabilityJobDefinition (Maybe [Tag])
createModelExplainabilityJobDefinition_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateModelExplainabilityJobDefinition' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateModelExplainabilityJobDefinition
s@CreateModelExplainabilityJobDefinition' {} Maybe [Tag]
a -> CreateModelExplainabilityJobDefinition
s {$sel:tags:CreateModelExplainabilityJobDefinition' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateModelExplainabilityJobDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | 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.
createModelExplainabilityJobDefinition_jobDefinitionName :: Lens.Lens' CreateModelExplainabilityJobDefinition Prelude.Text
createModelExplainabilityJobDefinition_jobDefinitionName :: Lens' CreateModelExplainabilityJobDefinition Text
createModelExplainabilityJobDefinition_jobDefinitionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateModelExplainabilityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: CreateModelExplainabilityJobDefinition
s@CreateModelExplainabilityJobDefinition' {} Text
a -> CreateModelExplainabilityJobDefinition
s {$sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: Text
jobDefinitionName = Text
a} :: CreateModelExplainabilityJobDefinition)

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

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

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

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

-- | The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
-- assume to perform tasks on your behalf.
createModelExplainabilityJobDefinition_roleArn :: Lens.Lens' CreateModelExplainabilityJobDefinition Prelude.Text
createModelExplainabilityJobDefinition_roleArn :: Lens' CreateModelExplainabilityJobDefinition Text
createModelExplainabilityJobDefinition_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateModelExplainabilityJobDefinition' {Text
roleArn :: Text
$sel:roleArn:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
roleArn} -> Text
roleArn) (\s :: CreateModelExplainabilityJobDefinition
s@CreateModelExplainabilityJobDefinition' {} Text
a -> CreateModelExplainabilityJobDefinition
s {$sel:roleArn:CreateModelExplainabilityJobDefinition' :: Text
roleArn = Text
a} :: CreateModelExplainabilityJobDefinition)

instance
  Core.AWSRequest
    CreateModelExplainabilityJobDefinition
  where
  type
    AWSResponse
      CreateModelExplainabilityJobDefinition =
      CreateModelExplainabilityJobDefinitionResponse
  request :: (Service -> Service)
-> CreateModelExplainabilityJobDefinition
-> Request CreateModelExplainabilityJobDefinition
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateModelExplainabilityJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse CreateModelExplainabilityJobDefinition)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Int -> Text -> CreateModelExplainabilityJobDefinitionResponse
CreateModelExplainabilityJobDefinitionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"JobDefinitionArn")
      )

instance
  Prelude.Hashable
    CreateModelExplainabilityJobDefinition
  where
  hashWithSalt :: Int -> CreateModelExplainabilityJobDefinition -> Int
hashWithSalt
    Int
_salt
    CreateModelExplainabilityJobDefinition' {Maybe [Tag]
Maybe ModelExplainabilityBaselineConfig
Maybe MonitoringStoppingCondition
Maybe MonitoringNetworkConfig
Text
ModelExplainabilityAppSpecification
MonitoringResources
ModelExplainabilityJobInput
MonitoringOutputConfig
roleArn :: Text
jobResources :: MonitoringResources
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig
modelExplainabilityJobInput :: ModelExplainabilityJobInput
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification
jobDefinitionName :: Text
tags :: Maybe [Tag]
stoppingCondition :: Maybe MonitoringStoppingCondition
networkConfig :: Maybe MonitoringNetworkConfig
modelExplainabilityBaselineConfig :: Maybe ModelExplainabilityBaselineConfig
$sel:roleArn:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:jobResources:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringResources
$sel:modelExplainabilityJobOutputConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringOutputConfig
$sel:modelExplainabilityJobInput:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityJobInput
$sel:modelExplainabilityAppSpecification:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityAppSpecification
$sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:tags:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Maybe [Tag]
$sel:stoppingCondition:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringStoppingCondition
$sel:networkConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringNetworkConfig
$sel:modelExplainabilityBaselineConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe ModelExplainabilityBaselineConfig
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MonitoringNetworkConfig
networkConfig
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MonitoringStoppingCondition
stoppingCondition
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobDefinitionName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ModelExplainabilityJobInput
modelExplainabilityJobInput
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MonitoringOutputConfig
modelExplainabilityJobOutputConfig
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MonitoringResources
jobResources
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleArn

instance
  Prelude.NFData
    CreateModelExplainabilityJobDefinition
  where
  rnf :: CreateModelExplainabilityJobDefinition -> ()
rnf CreateModelExplainabilityJobDefinition' {Maybe [Tag]
Maybe ModelExplainabilityBaselineConfig
Maybe MonitoringStoppingCondition
Maybe MonitoringNetworkConfig
Text
ModelExplainabilityAppSpecification
MonitoringResources
ModelExplainabilityJobInput
MonitoringOutputConfig
roleArn :: Text
jobResources :: MonitoringResources
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig
modelExplainabilityJobInput :: ModelExplainabilityJobInput
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification
jobDefinitionName :: Text
tags :: Maybe [Tag]
stoppingCondition :: Maybe MonitoringStoppingCondition
networkConfig :: Maybe MonitoringNetworkConfig
modelExplainabilityBaselineConfig :: Maybe ModelExplainabilityBaselineConfig
$sel:roleArn:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:jobResources:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringResources
$sel:modelExplainabilityJobOutputConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringOutputConfig
$sel:modelExplainabilityJobInput:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityJobInput
$sel:modelExplainabilityAppSpecification:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityAppSpecification
$sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:tags:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Maybe [Tag]
$sel:stoppingCondition:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringStoppingCondition
$sel:networkConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringNetworkConfig
$sel:modelExplainabilityBaselineConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe ModelExplainabilityBaselineConfig
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MonitoringNetworkConfig
networkConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MonitoringStoppingCondition
stoppingCondition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobDefinitionName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelExplainabilityJobInput
modelExplainabilityJobInput
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MonitoringOutputConfig
modelExplainabilityJobOutputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MonitoringResources
jobResources
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn

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

instance
  Data.ToJSON
    CreateModelExplainabilityJobDefinition
  where
  toJSON :: CreateModelExplainabilityJobDefinition -> Value
toJSON CreateModelExplainabilityJobDefinition' {Maybe [Tag]
Maybe ModelExplainabilityBaselineConfig
Maybe MonitoringStoppingCondition
Maybe MonitoringNetworkConfig
Text
ModelExplainabilityAppSpecification
MonitoringResources
ModelExplainabilityJobInput
MonitoringOutputConfig
roleArn :: Text
jobResources :: MonitoringResources
modelExplainabilityJobOutputConfig :: MonitoringOutputConfig
modelExplainabilityJobInput :: ModelExplainabilityJobInput
modelExplainabilityAppSpecification :: ModelExplainabilityAppSpecification
jobDefinitionName :: Text
tags :: Maybe [Tag]
stoppingCondition :: Maybe MonitoringStoppingCondition
networkConfig :: Maybe MonitoringNetworkConfig
modelExplainabilityBaselineConfig :: Maybe ModelExplainabilityBaselineConfig
$sel:roleArn:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:jobResources:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringResources
$sel:modelExplainabilityJobOutputConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> MonitoringOutputConfig
$sel:modelExplainabilityJobInput:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityJobInput
$sel:modelExplainabilityAppSpecification:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> ModelExplainabilityAppSpecification
$sel:jobDefinitionName:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Text
$sel:tags:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition -> Maybe [Tag]
$sel:stoppingCondition:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringStoppingCondition
$sel:networkConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe MonitoringNetworkConfig
$sel:modelExplainabilityBaselineConfig:CreateModelExplainabilityJobDefinition' :: CreateModelExplainabilityJobDefinition
-> Maybe ModelExplainabilityBaselineConfig
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ModelExplainabilityBaselineConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ModelExplainabilityBaselineConfig
modelExplainabilityBaselineConfig,
            (Key
"NetworkConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MonitoringNetworkConfig
networkConfig,
            (Key
"StoppingCondition" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MonitoringStoppingCondition
stoppingCondition,
            (Key
"Tags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags,
            forall a. a -> Maybe a
Prelude.Just
              (Key
"JobDefinitionName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
jobDefinitionName),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ModelExplainabilityAppSpecification"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ModelExplainabilityAppSpecification
modelExplainabilityAppSpecification
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ModelExplainabilityJobInput"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ModelExplainabilityJobInput
modelExplainabilityJobInput
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ModelExplainabilityJobOutputConfig"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MonitoringOutputConfig
modelExplainabilityJobOutputConfig
              ),
            forall a. a -> Maybe a
Prelude.Just (Key
"JobResources" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MonitoringResources
jobResources),
            forall a. a -> Maybe a
Prelude.Just (Key
"RoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleArn)
          ]
      )

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

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

-- | /See:/ 'newCreateModelExplainabilityJobDefinitionResponse' smart constructor.
data CreateModelExplainabilityJobDefinitionResponse = CreateModelExplainabilityJobDefinitionResponse'
  { -- | The response's http status code.
    CreateModelExplainabilityJobDefinitionResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the model explainability job.
    CreateModelExplainabilityJobDefinitionResponse -> Text
jobDefinitionArn :: Prelude.Text
  }
  deriving (CreateModelExplainabilityJobDefinitionResponse
-> CreateModelExplainabilityJobDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateModelExplainabilityJobDefinitionResponse
-> CreateModelExplainabilityJobDefinitionResponse -> Bool
$c/= :: CreateModelExplainabilityJobDefinitionResponse
-> CreateModelExplainabilityJobDefinitionResponse -> Bool
== :: CreateModelExplainabilityJobDefinitionResponse
-> CreateModelExplainabilityJobDefinitionResponse -> Bool
$c== :: CreateModelExplainabilityJobDefinitionResponse
-> CreateModelExplainabilityJobDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [CreateModelExplainabilityJobDefinitionResponse]
ReadPrec CreateModelExplainabilityJobDefinitionResponse
Int -> ReadS CreateModelExplainabilityJobDefinitionResponse
ReadS [CreateModelExplainabilityJobDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateModelExplainabilityJobDefinitionResponse]
$creadListPrec :: ReadPrec [CreateModelExplainabilityJobDefinitionResponse]
readPrec :: ReadPrec CreateModelExplainabilityJobDefinitionResponse
$creadPrec :: ReadPrec CreateModelExplainabilityJobDefinitionResponse
readList :: ReadS [CreateModelExplainabilityJobDefinitionResponse]
$creadList :: ReadS [CreateModelExplainabilityJobDefinitionResponse]
readsPrec :: Int -> ReadS CreateModelExplainabilityJobDefinitionResponse
$creadsPrec :: Int -> ReadS CreateModelExplainabilityJobDefinitionResponse
Prelude.Read, Int -> CreateModelExplainabilityJobDefinitionResponse -> ShowS
[CreateModelExplainabilityJobDefinitionResponse] -> ShowS
CreateModelExplainabilityJobDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateModelExplainabilityJobDefinitionResponse] -> ShowS
$cshowList :: [CreateModelExplainabilityJobDefinitionResponse] -> ShowS
show :: CreateModelExplainabilityJobDefinitionResponse -> String
$cshow :: CreateModelExplainabilityJobDefinitionResponse -> String
showsPrec :: Int -> CreateModelExplainabilityJobDefinitionResponse -> ShowS
$cshowsPrec :: Int -> CreateModelExplainabilityJobDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep CreateModelExplainabilityJobDefinitionResponse x
-> CreateModelExplainabilityJobDefinitionResponse
forall x.
CreateModelExplainabilityJobDefinitionResponse
-> Rep CreateModelExplainabilityJobDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateModelExplainabilityJobDefinitionResponse x
-> CreateModelExplainabilityJobDefinitionResponse
$cfrom :: forall x.
CreateModelExplainabilityJobDefinitionResponse
-> Rep CreateModelExplainabilityJobDefinitionResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateModelExplainabilityJobDefinitionResponse' 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:
--
-- 'httpStatus', 'createModelExplainabilityJobDefinitionResponse_httpStatus' - The response's http status code.
--
-- 'jobDefinitionArn', 'createModelExplainabilityJobDefinitionResponse_jobDefinitionArn' - The Amazon Resource Name (ARN) of the model explainability job.
newCreateModelExplainabilityJobDefinitionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobDefinitionArn'
  Prelude.Text ->
  CreateModelExplainabilityJobDefinitionResponse
newCreateModelExplainabilityJobDefinitionResponse :: Int -> Text -> CreateModelExplainabilityJobDefinitionResponse
newCreateModelExplainabilityJobDefinitionResponse
  Int
pHttpStatus_
  Text
pJobDefinitionArn_ =
    CreateModelExplainabilityJobDefinitionResponse'
      { $sel:httpStatus:CreateModelExplainabilityJobDefinitionResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:jobDefinitionArn:CreateModelExplainabilityJobDefinitionResponse' :: Text
jobDefinitionArn =
          Text
pJobDefinitionArn_
      }

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

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

instance
  Prelude.NFData
    CreateModelExplainabilityJobDefinitionResponse
  where
  rnf :: CreateModelExplainabilityJobDefinitionResponse -> ()
rnf
    CreateModelExplainabilityJobDefinitionResponse' {Int
Text
jobDefinitionArn :: Text
httpStatus :: Int
$sel:jobDefinitionArn:CreateModelExplainabilityJobDefinitionResponse' :: CreateModelExplainabilityJobDefinitionResponse -> Text
$sel:httpStatus:CreateModelExplainabilityJobDefinitionResponse' :: CreateModelExplainabilityJobDefinitionResponse -> Int
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobDefinitionArn