{-# 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.DescribeDataQualityJobDefinition
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the details of a data quality monitoring job definition.
module Amazonka.SageMaker.DescribeDataQualityJobDefinition
  ( -- * Creating a Request
    DescribeDataQualityJobDefinition (..),
    newDescribeDataQualityJobDefinition,

    -- * Request Lenses
    describeDataQualityJobDefinition_jobDefinitionName,

    -- * Destructuring the Response
    DescribeDataQualityJobDefinitionResponse (..),
    newDescribeDataQualityJobDefinitionResponse,

    -- * Response Lenses
    describeDataQualityJobDefinitionResponse_dataQualityBaselineConfig,
    describeDataQualityJobDefinitionResponse_networkConfig,
    describeDataQualityJobDefinitionResponse_stoppingCondition,
    describeDataQualityJobDefinitionResponse_httpStatus,
    describeDataQualityJobDefinitionResponse_jobDefinitionArn,
    describeDataQualityJobDefinitionResponse_jobDefinitionName,
    describeDataQualityJobDefinitionResponse_creationTime,
    describeDataQualityJobDefinitionResponse_dataQualityAppSpecification,
    describeDataQualityJobDefinitionResponse_dataQualityJobInput,
    describeDataQualityJobDefinitionResponse_dataQualityJobOutputConfig,
    describeDataQualityJobDefinitionResponse_jobResources,
    describeDataQualityJobDefinitionResponse_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:/ 'newDescribeDataQualityJobDefinition' smart constructor.
data DescribeDataQualityJobDefinition = DescribeDataQualityJobDefinition'
  { -- | The name of the data quality monitoring job definition to describe.
    DescribeDataQualityJobDefinition -> Text
jobDefinitionName :: Prelude.Text
  }
  deriving (DescribeDataQualityJobDefinition
-> DescribeDataQualityJobDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDataQualityJobDefinition
-> DescribeDataQualityJobDefinition -> Bool
$c/= :: DescribeDataQualityJobDefinition
-> DescribeDataQualityJobDefinition -> Bool
== :: DescribeDataQualityJobDefinition
-> DescribeDataQualityJobDefinition -> Bool
$c== :: DescribeDataQualityJobDefinition
-> DescribeDataQualityJobDefinition -> Bool
Prelude.Eq, ReadPrec [DescribeDataQualityJobDefinition]
ReadPrec DescribeDataQualityJobDefinition
Int -> ReadS DescribeDataQualityJobDefinition
ReadS [DescribeDataQualityJobDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDataQualityJobDefinition]
$creadListPrec :: ReadPrec [DescribeDataQualityJobDefinition]
readPrec :: ReadPrec DescribeDataQualityJobDefinition
$creadPrec :: ReadPrec DescribeDataQualityJobDefinition
readList :: ReadS [DescribeDataQualityJobDefinition]
$creadList :: ReadS [DescribeDataQualityJobDefinition]
readsPrec :: Int -> ReadS DescribeDataQualityJobDefinition
$creadsPrec :: Int -> ReadS DescribeDataQualityJobDefinition
Prelude.Read, Int -> DescribeDataQualityJobDefinition -> ShowS
[DescribeDataQualityJobDefinition] -> ShowS
DescribeDataQualityJobDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDataQualityJobDefinition] -> ShowS
$cshowList :: [DescribeDataQualityJobDefinition] -> ShowS
show :: DescribeDataQualityJobDefinition -> String
$cshow :: DescribeDataQualityJobDefinition -> String
showsPrec :: Int -> DescribeDataQualityJobDefinition -> ShowS
$cshowsPrec :: Int -> DescribeDataQualityJobDefinition -> ShowS
Prelude.Show, forall x.
Rep DescribeDataQualityJobDefinition x
-> DescribeDataQualityJobDefinition
forall x.
DescribeDataQualityJobDefinition
-> Rep DescribeDataQualityJobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDataQualityJobDefinition x
-> DescribeDataQualityJobDefinition
$cfrom :: forall x.
DescribeDataQualityJobDefinition
-> Rep DescribeDataQualityJobDefinition x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDataQualityJobDefinition' 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', 'describeDataQualityJobDefinition_jobDefinitionName' - The name of the data quality monitoring job definition to describe.
newDescribeDataQualityJobDefinition ::
  -- | 'jobDefinitionName'
  Prelude.Text ->
  DescribeDataQualityJobDefinition
newDescribeDataQualityJobDefinition :: Text -> DescribeDataQualityJobDefinition
newDescribeDataQualityJobDefinition
  Text
pJobDefinitionName_ =
    DescribeDataQualityJobDefinition'
      { $sel:jobDefinitionName:DescribeDataQualityJobDefinition' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_
      }

-- | The name of the data quality monitoring job definition to describe.
describeDataQualityJobDefinition_jobDefinitionName :: Lens.Lens' DescribeDataQualityJobDefinition Prelude.Text
describeDataQualityJobDefinition_jobDefinitionName :: Lens' DescribeDataQualityJobDefinition Text
describeDataQualityJobDefinition_jobDefinitionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeDataQualityJobDefinition' :: DescribeDataQualityJobDefinition -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: DescribeDataQualityJobDefinition
s@DescribeDataQualityJobDefinition' {} Text
a -> DescribeDataQualityJobDefinition
s {$sel:jobDefinitionName:DescribeDataQualityJobDefinition' :: Text
jobDefinitionName = Text
a} :: DescribeDataQualityJobDefinition)

instance
  Core.AWSRequest
    DescribeDataQualityJobDefinition
  where
  type
    AWSResponse DescribeDataQualityJobDefinition =
      DescribeDataQualityJobDefinitionResponse
  request :: (Service -> Service)
-> DescribeDataQualityJobDefinition
-> Request DescribeDataQualityJobDefinition
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 DescribeDataQualityJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeDataQualityJobDefinition)))
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 DataQualityBaselineConfig
-> Maybe MonitoringNetworkConfig
-> Maybe MonitoringStoppingCondition
-> Int
-> Text
-> Text
-> POSIX
-> DataQualityAppSpecification
-> DataQualityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeDataQualityJobDefinitionResponse
DescribeDataQualityJobDefinitionResponse'
            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
"DataQualityBaselineConfig")
            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
"DataQualityAppSpecification")
            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
"DataQualityJobInput")
            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
"DataQualityJobOutputConfig")
            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
    DescribeDataQualityJobDefinition
  where
  hashWithSalt :: Int -> DescribeDataQualityJobDefinition -> Int
hashWithSalt
    Int
_salt
    DescribeDataQualityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeDataQualityJobDefinition' :: DescribeDataQualityJobDefinition -> Text
..} =
      Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobDefinitionName

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

instance
  Data.ToHeaders
    DescribeDataQualityJobDefinition
  where
  toHeaders :: DescribeDataQualityJobDefinition -> 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.DescribeDataQualityJobDefinition" ::
                          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 DescribeDataQualityJobDefinition where
  toJSON :: DescribeDataQualityJobDefinition -> Value
toJSON DescribeDataQualityJobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeDataQualityJobDefinition' :: DescribeDataQualityJobDefinition -> 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 DescribeDataQualityJobDefinition where
  toPath :: DescribeDataQualityJobDefinition -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newDescribeDataQualityJobDefinitionResponse' smart constructor.
data DescribeDataQualityJobDefinitionResponse = DescribeDataQualityJobDefinitionResponse'
  { -- | The constraints and baselines for the data quality monitoring job
    -- definition.
    DescribeDataQualityJobDefinitionResponse
-> Maybe DataQualityBaselineConfig
dataQualityBaselineConfig :: Prelude.Maybe DataQualityBaselineConfig,
    -- | The networking configuration for the data quality monitoring job.
    DescribeDataQualityJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
networkConfig :: Prelude.Maybe MonitoringNetworkConfig,
    DescribeDataQualityJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
stoppingCondition :: Prelude.Maybe MonitoringStoppingCondition,
    -- | The response's http status code.
    DescribeDataQualityJobDefinitionResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the data quality monitoring job
    -- definition.
    DescribeDataQualityJobDefinitionResponse -> Text
jobDefinitionArn :: Prelude.Text,
    -- | The name of the data quality monitoring job definition.
    DescribeDataQualityJobDefinitionResponse -> Text
jobDefinitionName :: Prelude.Text,
    -- | The time that the data quality monitoring job definition was created.
    DescribeDataQualityJobDefinitionResponse -> POSIX
creationTime :: Data.POSIX,
    -- | Information about the container that runs the data quality monitoring
    -- job.
    DescribeDataQualityJobDefinitionResponse
-> DataQualityAppSpecification
dataQualityAppSpecification :: DataQualityAppSpecification,
    -- | The list of inputs for the data quality monitoring job. Currently
    -- endpoints are supported.
    DescribeDataQualityJobDefinitionResponse -> DataQualityJobInput
dataQualityJobInput :: DataQualityJobInput,
    DescribeDataQualityJobDefinitionResponse -> MonitoringOutputConfig
dataQualityJobOutputConfig :: MonitoringOutputConfig,
    DescribeDataQualityJobDefinitionResponse -> MonitoringResources
jobResources :: MonitoringResources,
    -- | The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
    -- assume to perform tasks on your behalf.
    DescribeDataQualityJobDefinitionResponse -> Text
roleArn :: Prelude.Text
  }
  deriving (DescribeDataQualityJobDefinitionResponse
-> DescribeDataQualityJobDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDataQualityJobDefinitionResponse
-> DescribeDataQualityJobDefinitionResponse -> Bool
$c/= :: DescribeDataQualityJobDefinitionResponse
-> DescribeDataQualityJobDefinitionResponse -> Bool
== :: DescribeDataQualityJobDefinitionResponse
-> DescribeDataQualityJobDefinitionResponse -> Bool
$c== :: DescribeDataQualityJobDefinitionResponse
-> DescribeDataQualityJobDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDataQualityJobDefinitionResponse]
ReadPrec DescribeDataQualityJobDefinitionResponse
Int -> ReadS DescribeDataQualityJobDefinitionResponse
ReadS [DescribeDataQualityJobDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDataQualityJobDefinitionResponse]
$creadListPrec :: ReadPrec [DescribeDataQualityJobDefinitionResponse]
readPrec :: ReadPrec DescribeDataQualityJobDefinitionResponse
$creadPrec :: ReadPrec DescribeDataQualityJobDefinitionResponse
readList :: ReadS [DescribeDataQualityJobDefinitionResponse]
$creadList :: ReadS [DescribeDataQualityJobDefinitionResponse]
readsPrec :: Int -> ReadS DescribeDataQualityJobDefinitionResponse
$creadsPrec :: Int -> ReadS DescribeDataQualityJobDefinitionResponse
Prelude.Read, Int -> DescribeDataQualityJobDefinitionResponse -> ShowS
[DescribeDataQualityJobDefinitionResponse] -> ShowS
DescribeDataQualityJobDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDataQualityJobDefinitionResponse] -> ShowS
$cshowList :: [DescribeDataQualityJobDefinitionResponse] -> ShowS
show :: DescribeDataQualityJobDefinitionResponse -> String
$cshow :: DescribeDataQualityJobDefinitionResponse -> String
showsPrec :: Int -> DescribeDataQualityJobDefinitionResponse -> ShowS
$cshowsPrec :: Int -> DescribeDataQualityJobDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDataQualityJobDefinitionResponse x
-> DescribeDataQualityJobDefinitionResponse
forall x.
DescribeDataQualityJobDefinitionResponse
-> Rep DescribeDataQualityJobDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDataQualityJobDefinitionResponse x
-> DescribeDataQualityJobDefinitionResponse
$cfrom :: forall x.
DescribeDataQualityJobDefinitionResponse
-> Rep DescribeDataQualityJobDefinitionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDataQualityJobDefinitionResponse' 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:
--
-- 'dataQualityBaselineConfig', 'describeDataQualityJobDefinitionResponse_dataQualityBaselineConfig' - The constraints and baselines for the data quality monitoring job
-- definition.
--
-- 'networkConfig', 'describeDataQualityJobDefinitionResponse_networkConfig' - The networking configuration for the data quality monitoring job.
--
-- 'stoppingCondition', 'describeDataQualityJobDefinitionResponse_stoppingCondition' - Undocumented member.
--
-- 'httpStatus', 'describeDataQualityJobDefinitionResponse_httpStatus' - The response's http status code.
--
-- 'jobDefinitionArn', 'describeDataQualityJobDefinitionResponse_jobDefinitionArn' - The Amazon Resource Name (ARN) of the data quality monitoring job
-- definition.
--
-- 'jobDefinitionName', 'describeDataQualityJobDefinitionResponse_jobDefinitionName' - The name of the data quality monitoring job definition.
--
-- 'creationTime', 'describeDataQualityJobDefinitionResponse_creationTime' - The time that the data quality monitoring job definition was created.
--
-- 'dataQualityAppSpecification', 'describeDataQualityJobDefinitionResponse_dataQualityAppSpecification' - Information about the container that runs the data quality monitoring
-- job.
--
-- 'dataQualityJobInput', 'describeDataQualityJobDefinitionResponse_dataQualityJobInput' - The list of inputs for the data quality monitoring job. Currently
-- endpoints are supported.
--
-- 'dataQualityJobOutputConfig', 'describeDataQualityJobDefinitionResponse_dataQualityJobOutputConfig' - Undocumented member.
--
-- 'jobResources', 'describeDataQualityJobDefinitionResponse_jobResources' - Undocumented member.
--
-- 'roleArn', 'describeDataQualityJobDefinitionResponse_roleArn' - The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
-- assume to perform tasks on your behalf.
newDescribeDataQualityJobDefinitionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'jobDefinitionArn'
  Prelude.Text ->
  -- | 'jobDefinitionName'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'dataQualityAppSpecification'
  DataQualityAppSpecification ->
  -- | 'dataQualityJobInput'
  DataQualityJobInput ->
  -- | 'dataQualityJobOutputConfig'
  MonitoringOutputConfig ->
  -- | 'jobResources'
  MonitoringResources ->
  -- | 'roleArn'
  Prelude.Text ->
  DescribeDataQualityJobDefinitionResponse
newDescribeDataQualityJobDefinitionResponse :: Int
-> Text
-> Text
-> UTCTime
-> DataQualityAppSpecification
-> DataQualityJobInput
-> MonitoringOutputConfig
-> MonitoringResources
-> Text
-> DescribeDataQualityJobDefinitionResponse
newDescribeDataQualityJobDefinitionResponse
  Int
pHttpStatus_
  Text
pJobDefinitionArn_
  Text
pJobDefinitionName_
  UTCTime
pCreationTime_
  DataQualityAppSpecification
pDataQualityAppSpecification_
  DataQualityJobInput
pDataQualityJobInput_
  MonitoringOutputConfig
pDataQualityJobOutputConfig_
  MonitoringResources
pJobResources_
  Text
pRoleArn_ =
    DescribeDataQualityJobDefinitionResponse'
      { $sel:dataQualityBaselineConfig:DescribeDataQualityJobDefinitionResponse' :: Maybe DataQualityBaselineConfig
dataQualityBaselineConfig =
          forall a. Maybe a
Prelude.Nothing,
        $sel:networkConfig:DescribeDataQualityJobDefinitionResponse' :: Maybe MonitoringNetworkConfig
networkConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:stoppingCondition:DescribeDataQualityJobDefinitionResponse' :: Maybe MonitoringStoppingCondition
stoppingCondition =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeDataQualityJobDefinitionResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:jobDefinitionArn:DescribeDataQualityJobDefinitionResponse' :: Text
jobDefinitionArn =
          Text
pJobDefinitionArn_,
        $sel:jobDefinitionName:DescribeDataQualityJobDefinitionResponse' :: Text
jobDefinitionName =
          Text
pJobDefinitionName_,
        $sel:creationTime:DescribeDataQualityJobDefinitionResponse' :: POSIX
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
            forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:dataQualityAppSpecification:DescribeDataQualityJobDefinitionResponse' :: DataQualityAppSpecification
dataQualityAppSpecification =
          DataQualityAppSpecification
pDataQualityAppSpecification_,
        $sel:dataQualityJobInput:DescribeDataQualityJobDefinitionResponse' :: DataQualityJobInput
dataQualityJobInput =
          DataQualityJobInput
pDataQualityJobInput_,
        $sel:dataQualityJobOutputConfig:DescribeDataQualityJobDefinitionResponse' :: MonitoringOutputConfig
dataQualityJobOutputConfig =
          MonitoringOutputConfig
pDataQualityJobOutputConfig_,
        $sel:jobResources:DescribeDataQualityJobDefinitionResponse' :: MonitoringResources
jobResources = MonitoringResources
pJobResources_,
        $sel:roleArn:DescribeDataQualityJobDefinitionResponse' :: Text
roleArn = Text
pRoleArn_
      }

-- | The constraints and baselines for the data quality monitoring job
-- definition.
describeDataQualityJobDefinitionResponse_dataQualityBaselineConfig :: Lens.Lens' DescribeDataQualityJobDefinitionResponse (Prelude.Maybe DataQualityBaselineConfig)
describeDataQualityJobDefinitionResponse_dataQualityBaselineConfig :: Lens'
  DescribeDataQualityJobDefinitionResponse
  (Maybe DataQualityBaselineConfig)
describeDataQualityJobDefinitionResponse_dataQualityBaselineConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {Maybe DataQualityBaselineConfig
dataQualityBaselineConfig :: Maybe DataQualityBaselineConfig
$sel:dataQualityBaselineConfig:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> Maybe DataQualityBaselineConfig
dataQualityBaselineConfig} -> Maybe DataQualityBaselineConfig
dataQualityBaselineConfig) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} Maybe DataQualityBaselineConfig
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:dataQualityBaselineConfig:DescribeDataQualityJobDefinitionResponse' :: Maybe DataQualityBaselineConfig
dataQualityBaselineConfig = Maybe DataQualityBaselineConfig
a} :: DescribeDataQualityJobDefinitionResponse)

-- | The networking configuration for the data quality monitoring job.
describeDataQualityJobDefinitionResponse_networkConfig :: Lens.Lens' DescribeDataQualityJobDefinitionResponse (Prelude.Maybe MonitoringNetworkConfig)
describeDataQualityJobDefinitionResponse_networkConfig :: Lens'
  DescribeDataQualityJobDefinitionResponse
  (Maybe MonitoringNetworkConfig)
describeDataQualityJobDefinitionResponse_networkConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {Maybe MonitoringNetworkConfig
networkConfig :: Maybe MonitoringNetworkConfig
$sel:networkConfig:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
networkConfig} -> Maybe MonitoringNetworkConfig
networkConfig) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} Maybe MonitoringNetworkConfig
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:networkConfig:DescribeDataQualityJobDefinitionResponse' :: Maybe MonitoringNetworkConfig
networkConfig = Maybe MonitoringNetworkConfig
a} :: DescribeDataQualityJobDefinitionResponse)

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

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

-- | The Amazon Resource Name (ARN) of the data quality monitoring job
-- definition.
describeDataQualityJobDefinitionResponse_jobDefinitionArn :: Lens.Lens' DescribeDataQualityJobDefinitionResponse Prelude.Text
describeDataQualityJobDefinitionResponse_jobDefinitionArn :: Lens' DescribeDataQualityJobDefinitionResponse Text
describeDataQualityJobDefinitionResponse_jobDefinitionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {Text
jobDefinitionArn :: Text
$sel:jobDefinitionArn:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Text
jobDefinitionArn} -> Text
jobDefinitionArn) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} Text
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:jobDefinitionArn:DescribeDataQualityJobDefinitionResponse' :: Text
jobDefinitionArn = Text
a} :: DescribeDataQualityJobDefinitionResponse)

-- | The name of the data quality monitoring job definition.
describeDataQualityJobDefinitionResponse_jobDefinitionName :: Lens.Lens' DescribeDataQualityJobDefinitionResponse Prelude.Text
describeDataQualityJobDefinitionResponse_jobDefinitionName :: Lens' DescribeDataQualityJobDefinitionResponse Text
describeDataQualityJobDefinitionResponse_jobDefinitionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} Text
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:jobDefinitionName:DescribeDataQualityJobDefinitionResponse' :: Text
jobDefinitionName = Text
a} :: DescribeDataQualityJobDefinitionResponse)

-- | The time that the data quality monitoring job definition was created.
describeDataQualityJobDefinitionResponse_creationTime :: Lens.Lens' DescribeDataQualityJobDefinitionResponse Prelude.UTCTime
describeDataQualityJobDefinitionResponse_creationTime :: Lens' DescribeDataQualityJobDefinitionResponse UTCTime
describeDataQualityJobDefinitionResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} POSIX
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:creationTime:DescribeDataQualityJobDefinitionResponse' :: POSIX
creationTime = POSIX
a} :: DescribeDataQualityJobDefinitionResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Information about the container that runs the data quality monitoring
-- job.
describeDataQualityJobDefinitionResponse_dataQualityAppSpecification :: Lens.Lens' DescribeDataQualityJobDefinitionResponse DataQualityAppSpecification
describeDataQualityJobDefinitionResponse_dataQualityAppSpecification :: Lens'
  DescribeDataQualityJobDefinitionResponse
  DataQualityAppSpecification
describeDataQualityJobDefinitionResponse_dataQualityAppSpecification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {DataQualityAppSpecification
dataQualityAppSpecification :: DataQualityAppSpecification
$sel:dataQualityAppSpecification:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> DataQualityAppSpecification
dataQualityAppSpecification} -> DataQualityAppSpecification
dataQualityAppSpecification) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} DataQualityAppSpecification
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:dataQualityAppSpecification:DescribeDataQualityJobDefinitionResponse' :: DataQualityAppSpecification
dataQualityAppSpecification = DataQualityAppSpecification
a} :: DescribeDataQualityJobDefinitionResponse)

-- | The list of inputs for the data quality monitoring job. Currently
-- endpoints are supported.
describeDataQualityJobDefinitionResponse_dataQualityJobInput :: Lens.Lens' DescribeDataQualityJobDefinitionResponse DataQualityJobInput
describeDataQualityJobDefinitionResponse_dataQualityJobInput :: Lens' DescribeDataQualityJobDefinitionResponse DataQualityJobInput
describeDataQualityJobDefinitionResponse_dataQualityJobInput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataQualityJobDefinitionResponse' {DataQualityJobInput
dataQualityJobInput :: DataQualityJobInput
$sel:dataQualityJobInput:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> DataQualityJobInput
dataQualityJobInput} -> DataQualityJobInput
dataQualityJobInput) (\s :: DescribeDataQualityJobDefinitionResponse
s@DescribeDataQualityJobDefinitionResponse' {} DataQualityJobInput
a -> DescribeDataQualityJobDefinitionResponse
s {$sel:dataQualityJobInput:DescribeDataQualityJobDefinitionResponse' :: DataQualityJobInput
dataQualityJobInput = DataQualityJobInput
a} :: DescribeDataQualityJobDefinitionResponse)

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

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

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

instance
  Prelude.NFData
    DescribeDataQualityJobDefinitionResponse
  where
  rnf :: DescribeDataQualityJobDefinitionResponse -> ()
rnf DescribeDataQualityJobDefinitionResponse' {Int
Maybe DataQualityBaselineConfig
Maybe MonitoringStoppingCondition
Maybe MonitoringNetworkConfig
Text
POSIX
DataQualityAppSpecification
MonitoringResources
DataQualityJobInput
MonitoringOutputConfig
roleArn :: Text
jobResources :: MonitoringResources
dataQualityJobOutputConfig :: MonitoringOutputConfig
dataQualityJobInput :: DataQualityJobInput
dataQualityAppSpecification :: DataQualityAppSpecification
creationTime :: POSIX
jobDefinitionName :: Text
jobDefinitionArn :: Text
httpStatus :: Int
stoppingCondition :: Maybe MonitoringStoppingCondition
networkConfig :: Maybe MonitoringNetworkConfig
dataQualityBaselineConfig :: Maybe DataQualityBaselineConfig
$sel:roleArn:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Text
$sel:jobResources:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> MonitoringResources
$sel:dataQualityJobOutputConfig:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> MonitoringOutputConfig
$sel:dataQualityJobInput:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> DataQualityJobInput
$sel:dataQualityAppSpecification:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> DataQualityAppSpecification
$sel:creationTime:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> POSIX
$sel:jobDefinitionName:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Text
$sel:jobDefinitionArn:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Text
$sel:httpStatus:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse -> Int
$sel:stoppingCondition:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> Maybe MonitoringStoppingCondition
$sel:networkConfig:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> Maybe MonitoringNetworkConfig
$sel:dataQualityBaselineConfig:DescribeDataQualityJobDefinitionResponse' :: DescribeDataQualityJobDefinitionResponse
-> Maybe DataQualityBaselineConfig
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe DataQualityBaselineConfig
dataQualityBaselineConfig
      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 DataQualityAppSpecification
dataQualityAppSpecification
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DataQualityJobInput
dataQualityJobInput
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MonitoringOutputConfig
dataQualityJobOutputConfig
      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