{-# 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.DescribeModelBiasJobDefinition
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns a description of a model bias job definition.
module Amazonka.SageMaker.DescribeModelBiasJobDefinition
  ( -- * Creating a Request
    DescribeModelBiasJobDefinition (..),
    newDescribeModelBiasJobDefinition,

    -- * Request Lenses
    describeModelBiasJobDefinition_jobDefinitionName,

    -- * Destructuring the Response
    DescribeModelBiasJobDefinitionResponse (..),
    newDescribeModelBiasJobDefinitionResponse,

    -- * Response Lenses
    describeModelBiasJobDefinitionResponse_modelBiasBaselineConfig,
    describeModelBiasJobDefinitionResponse_networkConfig,
    describeModelBiasJobDefinitionResponse_stoppingCondition,
    describeModelBiasJobDefinitionResponse_httpStatus,
    describeModelBiasJobDefinitionResponse_jobDefinitionArn,
    describeModelBiasJobDefinitionResponse_jobDefinitionName,
    describeModelBiasJobDefinitionResponse_creationTime,
    describeModelBiasJobDefinitionResponse_modelBiasAppSpecification,
    describeModelBiasJobDefinitionResponse_modelBiasJobInput,
    describeModelBiasJobDefinitionResponse_modelBiasJobOutputConfig,
    describeModelBiasJobDefinitionResponse_jobResources,
    describeModelBiasJobDefinitionResponse_roleArn,
  )
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:/ 'newDescribeModelBiasJobDefinition' smart constructor.
data DescribeModelBiasJobDefinition = DescribeModelBiasJobDefinition'
  { -- | The name of the model bias job definition. The name must be unique
    -- within an Amazon Web Services Region in the Amazon Web Services account.
    DescribeModelBiasJobDefinition -> Text
jobDefinitionName :: Prelude.Text
  }
  deriving (DescribeModelBiasJobDefinition
-> DescribeModelBiasJobDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelBiasJobDefinition
-> DescribeModelBiasJobDefinition -> Bool
$c/= :: DescribeModelBiasJobDefinition
-> DescribeModelBiasJobDefinition -> Bool
== :: DescribeModelBiasJobDefinition
-> DescribeModelBiasJobDefinition -> Bool
$c== :: DescribeModelBiasJobDefinition
-> DescribeModelBiasJobDefinition -> Bool
Prelude.Eq, ReadPrec [DescribeModelBiasJobDefinition]
ReadPrec DescribeModelBiasJobDefinition
Int -> ReadS DescribeModelBiasJobDefinition
ReadS [DescribeModelBiasJobDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelBiasJobDefinition]
$creadListPrec :: ReadPrec [DescribeModelBiasJobDefinition]
readPrec :: ReadPrec DescribeModelBiasJobDefinition
$creadPrec :: ReadPrec DescribeModelBiasJobDefinition
readList :: ReadS [DescribeModelBiasJobDefinition]
$creadList :: ReadS [DescribeModelBiasJobDefinition]
readsPrec :: Int -> ReadS DescribeModelBiasJobDefinition
$creadsPrec :: Int -> ReadS DescribeModelBiasJobDefinition
Prelude.Read, Int -> DescribeModelBiasJobDefinition -> ShowS
[DescribeModelBiasJobDefinition] -> ShowS
DescribeModelBiasJobDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelBiasJobDefinition] -> ShowS
$cshowList :: [DescribeModelBiasJobDefinition] -> ShowS
show :: DescribeModelBiasJobDefinition -> String
$cshow :: DescribeModelBiasJobDefinition -> String
showsPrec :: Int -> DescribeModelBiasJobDefinition -> ShowS
$cshowsPrec :: Int -> DescribeModelBiasJobDefinition -> ShowS
Prelude.Show, forall x.
Rep DescribeModelBiasJobDefinition x
-> DescribeModelBiasJobDefinition
forall x.
DescribeModelBiasJobDefinition
-> Rep DescribeModelBiasJobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelBiasJobDefinition x
-> DescribeModelBiasJobDefinition
$cfrom :: forall x.
DescribeModelBiasJobDefinition
-> Rep DescribeModelBiasJobDefinition x
Prelude.Generic)

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

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

instance
  Core.AWSRequest
    DescribeModelBiasJobDefinition
  where
  type
    AWSResponse DescribeModelBiasJobDefinition =
      DescribeModelBiasJobDefinitionResponse
  request :: (Service -> Service)
-> DescribeModelBiasJobDefinition
-> Request DescribeModelBiasJobDefinition
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 DescribeModelBiasJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeModelBiasJobDefinition)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe ModelBiasBaselineConfig
-> Maybe MonitoringNetworkConfig
-> Maybe MonitoringStoppingCondition
-> Int
-> Text
-> Text
-> POSIX
-> ModelBiasAppSpecification
-> ModelBiasJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeModelBiasJobDefinitionResponse
DescribeModelBiasJobDefinitionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ModelBiasBaselineConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NetworkConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"StoppingCondition")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            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")
            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
"JobDefinitionName")
            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
"CreationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"ModelBiasAppSpecification")
            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
"ModelBiasJobInput")
            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
"ModelBiasJobOutputConfig")
            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
"JobResources")
            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
"RoleArn")
      )

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

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

instance
  Data.ToHeaders
    DescribeModelBiasJobDefinition
  where
  toHeaders :: DescribeModelBiasJobDefinition -> 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.DescribeModelBiasJobDefinition" ::
                          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 DescribeModelBiasJobDefinition where
  toJSON :: DescribeModelBiasJobDefinition -> Value
toJSON DescribeModelBiasJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeModelBiasJobDefinition' :: DescribeModelBiasJobDefinition -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"JobDefinitionName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
jobDefinitionName)
          ]
      )

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

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

-- | /See:/ 'newDescribeModelBiasJobDefinitionResponse' smart constructor.
data DescribeModelBiasJobDefinitionResponse = DescribeModelBiasJobDefinitionResponse'
  { -- | The baseline configuration for a model bias job.
    DescribeModelBiasJobDefinitionResponse
-> Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig :: Prelude.Maybe ModelBiasBaselineConfig,
    -- | Networking options for a model bias job.
    DescribeModelBiasJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
networkConfig :: Prelude.Maybe MonitoringNetworkConfig,
    DescribeModelBiasJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
stoppingCondition :: Prelude.Maybe MonitoringStoppingCondition,
    -- | The response's http status code.
    DescribeModelBiasJobDefinitionResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the model bias job.
    DescribeModelBiasJobDefinitionResponse -> Text
jobDefinitionArn :: Prelude.Text,
    -- | The name of the bias job definition. The name must be unique within an
    -- Amazon Web Services Region in the Amazon Web Services account.
    DescribeModelBiasJobDefinitionResponse -> Text
jobDefinitionName :: Prelude.Text,
    -- | The time at which the model bias job was created.
    DescribeModelBiasJobDefinitionResponse -> POSIX
creationTime :: Data.POSIX,
    -- | Configures the model bias job to run a specified Docker container image.
    DescribeModelBiasJobDefinitionResponse -> ModelBiasAppSpecification
modelBiasAppSpecification :: ModelBiasAppSpecification,
    -- | Inputs for the model bias job.
    DescribeModelBiasJobDefinitionResponse -> ModelBiasJobInput
modelBiasJobInput :: ModelBiasJobInput,
    DescribeModelBiasJobDefinitionResponse -> MonitoringOutputConfig
modelBiasJobOutputConfig :: MonitoringOutputConfig,
    DescribeModelBiasJobDefinitionResponse -> 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.
    DescribeModelBiasJobDefinitionResponse -> Text
roleArn :: Prelude.Text
  }
  deriving (DescribeModelBiasJobDefinitionResponse
-> DescribeModelBiasJobDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelBiasJobDefinitionResponse
-> DescribeModelBiasJobDefinitionResponse -> Bool
$c/= :: DescribeModelBiasJobDefinitionResponse
-> DescribeModelBiasJobDefinitionResponse -> Bool
== :: DescribeModelBiasJobDefinitionResponse
-> DescribeModelBiasJobDefinitionResponse -> Bool
$c== :: DescribeModelBiasJobDefinitionResponse
-> DescribeModelBiasJobDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeModelBiasJobDefinitionResponse]
ReadPrec DescribeModelBiasJobDefinitionResponse
Int -> ReadS DescribeModelBiasJobDefinitionResponse
ReadS [DescribeModelBiasJobDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelBiasJobDefinitionResponse]
$creadListPrec :: ReadPrec [DescribeModelBiasJobDefinitionResponse]
readPrec :: ReadPrec DescribeModelBiasJobDefinitionResponse
$creadPrec :: ReadPrec DescribeModelBiasJobDefinitionResponse
readList :: ReadS [DescribeModelBiasJobDefinitionResponse]
$creadList :: ReadS [DescribeModelBiasJobDefinitionResponse]
readsPrec :: Int -> ReadS DescribeModelBiasJobDefinitionResponse
$creadsPrec :: Int -> ReadS DescribeModelBiasJobDefinitionResponse
Prelude.Read, Int -> DescribeModelBiasJobDefinitionResponse -> ShowS
[DescribeModelBiasJobDefinitionResponse] -> ShowS
DescribeModelBiasJobDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelBiasJobDefinitionResponse] -> ShowS
$cshowList :: [DescribeModelBiasJobDefinitionResponse] -> ShowS
show :: DescribeModelBiasJobDefinitionResponse -> String
$cshow :: DescribeModelBiasJobDefinitionResponse -> String
showsPrec :: Int -> DescribeModelBiasJobDefinitionResponse -> ShowS
$cshowsPrec :: Int -> DescribeModelBiasJobDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeModelBiasJobDefinitionResponse x
-> DescribeModelBiasJobDefinitionResponse
forall x.
DescribeModelBiasJobDefinitionResponse
-> Rep DescribeModelBiasJobDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelBiasJobDefinitionResponse x
-> DescribeModelBiasJobDefinitionResponse
$cfrom :: forall x.
DescribeModelBiasJobDefinitionResponse
-> Rep DescribeModelBiasJobDefinitionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelBiasJobDefinitionResponse' 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:
--
-- 'modelBiasBaselineConfig', 'describeModelBiasJobDefinitionResponse_modelBiasBaselineConfig' - The baseline configuration for a model bias job.
--
-- 'networkConfig', 'describeModelBiasJobDefinitionResponse_networkConfig' - Networking options for a model bias job.
--
-- 'stoppingCondition', 'describeModelBiasJobDefinitionResponse_stoppingCondition' - Undocumented member.
--
-- 'httpStatus', 'describeModelBiasJobDefinitionResponse_httpStatus' - The response's http status code.
--
-- 'jobDefinitionArn', 'describeModelBiasJobDefinitionResponse_jobDefinitionArn' - The Amazon Resource Name (ARN) of the model bias job.
--
-- 'jobDefinitionName', 'describeModelBiasJobDefinitionResponse_jobDefinitionName' - The name of the bias job definition. The name must be unique within an
-- Amazon Web Services Region in the Amazon Web Services account.
--
-- 'creationTime', 'describeModelBiasJobDefinitionResponse_creationTime' - The time at which the model bias job was created.
--
-- 'modelBiasAppSpecification', 'describeModelBiasJobDefinitionResponse_modelBiasAppSpecification' - Configures the model bias job to run a specified Docker container image.
--
-- 'modelBiasJobInput', 'describeModelBiasJobDefinitionResponse_modelBiasJobInput' - Inputs for the model bias job.
--
-- 'modelBiasJobOutputConfig', 'describeModelBiasJobDefinitionResponse_modelBiasJobOutputConfig' - Undocumented member.
--
-- 'jobResources', 'describeModelBiasJobDefinitionResponse_jobResources' - Undocumented member.
--
-- 'roleArn', 'describeModelBiasJobDefinitionResponse_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.
newDescribeModelBiasJobDefinitionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobDefinitionArn'
  Prelude.Text ->
  -- | 'jobDefinitionName'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'modelBiasAppSpecification'
  ModelBiasAppSpecification ->
  -- | 'modelBiasJobInput'
  ModelBiasJobInput ->
  -- | 'modelBiasJobOutputConfig'
  MonitoringOutputConfig ->
  -- | 'jobResources'
  MonitoringResources ->
  -- | 'roleArn'
  Prelude.Text ->
  DescribeModelBiasJobDefinitionResponse
newDescribeModelBiasJobDefinitionResponse :: Int
-> Text
-> Text
-> UTCTime
-> ModelBiasAppSpecification
-> ModelBiasJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeModelBiasJobDefinitionResponse
newDescribeModelBiasJobDefinitionResponse
  Int
pHttpStatus_
  Text
pJobDefinitionArn_
  Text
pJobDefinitionName_
  UTCTime
pCreationTime_
  ModelBiasAppSpecification
pModelBiasAppSpecification_
  ModelBiasJobInput
pModelBiasJobInput_
  MonitoringOutputConfig
pModelBiasJobOutputConfig_
  MonitoringResources
pJobResources_
  Text
pRoleArn_ =
    DescribeModelBiasJobDefinitionResponse'
      { $sel:modelBiasBaselineConfig:DescribeModelBiasJobDefinitionResponse' :: Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig =
          forall a. Maybe a
Prelude.Nothing,
        $sel:networkConfig:DescribeModelBiasJobDefinitionResponse' :: Maybe MonitoringNetworkConfig
networkConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:stoppingCondition:DescribeModelBiasJobDefinitionResponse' :: Maybe MonitoringStoppingCondition
stoppingCondition = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeModelBiasJobDefinitionResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:jobDefinitionArn:DescribeModelBiasJobDefinitionResponse' :: Text
jobDefinitionArn =
          Text
pJobDefinitionArn_,
        $sel:jobDefinitionName:DescribeModelBiasJobDefinitionResponse' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_,
        $sel:creationTime:DescribeModelBiasJobDefinitionResponse' :: POSIX
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:modelBiasAppSpecification:DescribeModelBiasJobDefinitionResponse' :: ModelBiasAppSpecification
modelBiasAppSpecification =
          ModelBiasAppSpecification
pModelBiasAppSpecification_,
        $sel:modelBiasJobInput:DescribeModelBiasJobDefinitionResponse' :: ModelBiasJobInput
modelBiasJobInput =
          ModelBiasJobInput
pModelBiasJobInput_,
        $sel:modelBiasJobOutputConfig:DescribeModelBiasJobDefinitionResponse' :: MonitoringOutputConfig
modelBiasJobOutputConfig =
          MonitoringOutputConfig
pModelBiasJobOutputConfig_,
        $sel:jobResources:DescribeModelBiasJobDefinitionResponse' :: MonitoringResources
jobResources = MonitoringResources
pJobResources_,
        $sel:roleArn:DescribeModelBiasJobDefinitionResponse' :: Text
roleArn = Text
pRoleArn_
      }

-- | The baseline configuration for a model bias job.
describeModelBiasJobDefinitionResponse_modelBiasBaselineConfig :: Lens.Lens' DescribeModelBiasJobDefinitionResponse (Prelude.Maybe ModelBiasBaselineConfig)
describeModelBiasJobDefinitionResponse_modelBiasBaselineConfig :: Lens'
  DescribeModelBiasJobDefinitionResponse
  (Maybe ModelBiasBaselineConfig)
describeModelBiasJobDefinitionResponse_modelBiasBaselineConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelBiasJobDefinitionResponse' {Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig :: Maybe ModelBiasBaselineConfig
$sel:modelBiasBaselineConfig:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse
-> Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig} -> Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig) (\s :: DescribeModelBiasJobDefinitionResponse
s@DescribeModelBiasJobDefinitionResponse' {} Maybe ModelBiasBaselineConfig
a -> DescribeModelBiasJobDefinitionResponse
s {$sel:modelBiasBaselineConfig:DescribeModelBiasJobDefinitionResponse' :: Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig = Maybe ModelBiasBaselineConfig
a} :: DescribeModelBiasJobDefinitionResponse)

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

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

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

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

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

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

-- | Configures the model bias job to run a specified Docker container image.
describeModelBiasJobDefinitionResponse_modelBiasAppSpecification :: Lens.Lens' DescribeModelBiasJobDefinitionResponse ModelBiasAppSpecification
describeModelBiasJobDefinitionResponse_modelBiasAppSpecification :: Lens'
  DescribeModelBiasJobDefinitionResponse ModelBiasAppSpecification
describeModelBiasJobDefinitionResponse_modelBiasAppSpecification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelBiasJobDefinitionResponse' {ModelBiasAppSpecification
modelBiasAppSpecification :: ModelBiasAppSpecification
$sel:modelBiasAppSpecification:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> ModelBiasAppSpecification
modelBiasAppSpecification} -> ModelBiasAppSpecification
modelBiasAppSpecification) (\s :: DescribeModelBiasJobDefinitionResponse
s@DescribeModelBiasJobDefinitionResponse' {} ModelBiasAppSpecification
a -> DescribeModelBiasJobDefinitionResponse
s {$sel:modelBiasAppSpecification:DescribeModelBiasJobDefinitionResponse' :: ModelBiasAppSpecification
modelBiasAppSpecification = ModelBiasAppSpecification
a} :: DescribeModelBiasJobDefinitionResponse)

-- | Inputs for the model bias job.
describeModelBiasJobDefinitionResponse_modelBiasJobInput :: Lens.Lens' DescribeModelBiasJobDefinitionResponse ModelBiasJobInput
describeModelBiasJobDefinitionResponse_modelBiasJobInput :: Lens' DescribeModelBiasJobDefinitionResponse ModelBiasJobInput
describeModelBiasJobDefinitionResponse_modelBiasJobInput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelBiasJobDefinitionResponse' {ModelBiasJobInput
modelBiasJobInput :: ModelBiasJobInput
$sel:modelBiasJobInput:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> ModelBiasJobInput
modelBiasJobInput} -> ModelBiasJobInput
modelBiasJobInput) (\s :: DescribeModelBiasJobDefinitionResponse
s@DescribeModelBiasJobDefinitionResponse' {} ModelBiasJobInput
a -> DescribeModelBiasJobDefinitionResponse
s {$sel:modelBiasJobInput:DescribeModelBiasJobDefinitionResponse' :: ModelBiasJobInput
modelBiasJobInput = ModelBiasJobInput
a} :: DescribeModelBiasJobDefinitionResponse)

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

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

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

instance
  Prelude.NFData
    DescribeModelBiasJobDefinitionResponse
  where
  rnf :: DescribeModelBiasJobDefinitionResponse -> ()
rnf DescribeModelBiasJobDefinitionResponse' {Int
Maybe ModelBiasBaselineConfig
Maybe MonitoringStoppingCondition
Maybe MonitoringNetworkConfig
Text
POSIX
ModelBiasAppSpecification
MonitoringResources
ModelBiasJobInput
MonitoringOutputConfig
roleArn :: Text
jobResources :: MonitoringResources
modelBiasJobOutputConfig :: MonitoringOutputConfig
modelBiasJobInput :: ModelBiasJobInput
modelBiasAppSpecification :: ModelBiasAppSpecification
creationTime :: POSIX
jobDefinitionName :: Text
jobDefinitionArn :: Text
httpStatus :: Int
stoppingCondition :: Maybe MonitoringStoppingCondition
networkConfig :: Maybe MonitoringNetworkConfig
modelBiasBaselineConfig :: Maybe ModelBiasBaselineConfig
$sel:roleArn:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> Text
$sel:jobResources:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> MonitoringResources
$sel:modelBiasJobOutputConfig:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> MonitoringOutputConfig
$sel:modelBiasJobInput:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> ModelBiasJobInput
$sel:modelBiasAppSpecification:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> ModelBiasAppSpecification
$sel:creationTime:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> POSIX
$sel:jobDefinitionName:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> Text
$sel:jobDefinitionArn:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> Text
$sel:httpStatus:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse -> Int
$sel:stoppingCondition:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
$sel:networkConfig:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
$sel:modelBiasBaselineConfig:DescribeModelBiasJobDefinitionResponse' :: DescribeModelBiasJobDefinitionResponse
-> Maybe ModelBiasBaselineConfig
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelBiasBaselineConfig
modelBiasBaselineConfig
      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 Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobDefinitionArn
      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 POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelBiasAppSpecification
modelBiasAppSpecification
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelBiasJobInput
modelBiasJobInput
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MonitoringOutputConfig
modelBiasJobOutputConfig
      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