{-# 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.Glue.GetDataQualityResult
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves the result of a data quality rule evaluation.
module Amazonka.Glue.GetDataQualityResult
  ( -- * Creating a Request
    GetDataQualityResult (..),
    newGetDataQualityResult,

    -- * Request Lenses
    getDataQualityResult_resultId,

    -- * Destructuring the Response
    GetDataQualityResultResponse (..),
    newGetDataQualityResultResponse,

    -- * Response Lenses
    getDataQualityResultResponse_completedOn,
    getDataQualityResultResponse_dataSource,
    getDataQualityResultResponse_evaluationContext,
    getDataQualityResultResponse_jobName,
    getDataQualityResultResponse_jobRunId,
    getDataQualityResultResponse_resultId,
    getDataQualityResultResponse_ruleResults,
    getDataQualityResultResponse_rulesetEvaluationRunId,
    getDataQualityResultResponse_rulesetName,
    getDataQualityResultResponse_score,
    getDataQualityResultResponse_startedOn,
    getDataQualityResultResponse_httpStatus,
  )
where

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

-- | /See:/ 'newGetDataQualityResult' smart constructor.
data GetDataQualityResult = GetDataQualityResult'
  { -- | A unique result ID for the data quality result.
    GetDataQualityResult -> Text
resultId :: Prelude.Text
  }
  deriving (GetDataQualityResult -> GetDataQualityResult -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDataQualityResult -> GetDataQualityResult -> Bool
$c/= :: GetDataQualityResult -> GetDataQualityResult -> Bool
== :: GetDataQualityResult -> GetDataQualityResult -> Bool
$c== :: GetDataQualityResult -> GetDataQualityResult -> Bool
Prelude.Eq, ReadPrec [GetDataQualityResult]
ReadPrec GetDataQualityResult
Int -> ReadS GetDataQualityResult
ReadS [GetDataQualityResult]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDataQualityResult]
$creadListPrec :: ReadPrec [GetDataQualityResult]
readPrec :: ReadPrec GetDataQualityResult
$creadPrec :: ReadPrec GetDataQualityResult
readList :: ReadS [GetDataQualityResult]
$creadList :: ReadS [GetDataQualityResult]
readsPrec :: Int -> ReadS GetDataQualityResult
$creadsPrec :: Int -> ReadS GetDataQualityResult
Prelude.Read, Int -> GetDataQualityResult -> ShowS
[GetDataQualityResult] -> ShowS
GetDataQualityResult -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDataQualityResult] -> ShowS
$cshowList :: [GetDataQualityResult] -> ShowS
show :: GetDataQualityResult -> String
$cshow :: GetDataQualityResult -> String
showsPrec :: Int -> GetDataQualityResult -> ShowS
$cshowsPrec :: Int -> GetDataQualityResult -> ShowS
Prelude.Show, forall x. Rep GetDataQualityResult x -> GetDataQualityResult
forall x. GetDataQualityResult -> Rep GetDataQualityResult x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetDataQualityResult x -> GetDataQualityResult
$cfrom :: forall x. GetDataQualityResult -> Rep GetDataQualityResult x
Prelude.Generic)

-- |
-- Create a value of 'GetDataQualityResult' 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:
--
-- 'resultId', 'getDataQualityResult_resultId' - A unique result ID for the data quality result.
newGetDataQualityResult ::
  -- | 'resultId'
  Prelude.Text ->
  GetDataQualityResult
newGetDataQualityResult :: Text -> GetDataQualityResult
newGetDataQualityResult Text
pResultId_ =
  GetDataQualityResult' {$sel:resultId:GetDataQualityResult' :: Text
resultId = Text
pResultId_}

-- | A unique result ID for the data quality result.
getDataQualityResult_resultId :: Lens.Lens' GetDataQualityResult Prelude.Text
getDataQualityResult_resultId :: Lens' GetDataQualityResult Text
getDataQualityResult_resultId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResult' {Text
resultId :: Text
$sel:resultId:GetDataQualityResult' :: GetDataQualityResult -> Text
resultId} -> Text
resultId) (\s :: GetDataQualityResult
s@GetDataQualityResult' {} Text
a -> GetDataQualityResult
s {$sel:resultId:GetDataQualityResult' :: Text
resultId = Text
a} :: GetDataQualityResult)

instance Core.AWSRequest GetDataQualityResult where
  type
    AWSResponse GetDataQualityResult =
      GetDataQualityResultResponse
  request :: (Service -> Service)
-> GetDataQualityResult -> Request GetDataQualityResult
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 GetDataQualityResult
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetDataQualityResult)))
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 POSIX
-> Maybe DataSource
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DataQualityRuleResult)
-> Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe POSIX
-> Int
-> GetDataQualityResultResponse
GetDataQualityResultResponse'
            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
"CompletedOn")
            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
"DataSource")
            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
"EvaluationContext")
            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
"JobName")
            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
"JobRunId")
            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
"ResultId")
            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
"RuleResults")
            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
"RulesetEvaluationRunId")
            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
"RulesetName")
            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
"Score")
            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
"StartedOn")
            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))
      )

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

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

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

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

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

-- | /See:/ 'newGetDataQualityResultResponse' smart constructor.
data GetDataQualityResultResponse = GetDataQualityResultResponse'
  { -- | The date and time when the run for this data quality result was
    -- completed.
    GetDataQualityResultResponse -> Maybe POSIX
completedOn :: Prelude.Maybe Data.POSIX,
    -- | The table associated with the data quality result, if any.
    GetDataQualityResultResponse -> Maybe DataSource
dataSource :: Prelude.Maybe DataSource,
    -- | In the context of a job in Glue Studio, each node in the canvas is
    -- typically assigned some sort of name and data quality nodes will have
    -- names. In the case of multiple nodes, the @evaluationContext@ can
    -- differentiate the nodes.
    GetDataQualityResultResponse -> Maybe Text
evaluationContext :: Prelude.Maybe Prelude.Text,
    -- | The job name associated with the data quality result, if any.
    GetDataQualityResultResponse -> Maybe Text
jobName :: Prelude.Maybe Prelude.Text,
    -- | The job run ID associated with the data quality result, if any.
    GetDataQualityResultResponse -> Maybe Text
jobRunId :: Prelude.Maybe Prelude.Text,
    -- | A unique result ID for the data quality result.
    GetDataQualityResultResponse -> Maybe Text
resultId :: Prelude.Maybe Prelude.Text,
    -- | A list of @DataQualityRuleResult@ objects representing the results for
    -- each rule.
    GetDataQualityResultResponse
-> Maybe (NonEmpty DataQualityRuleResult)
ruleResults :: Prelude.Maybe (Prelude.NonEmpty DataQualityRuleResult),
    -- | The unique run ID associated with the ruleset evaluation.
    GetDataQualityResultResponse -> Maybe Text
rulesetEvaluationRunId :: Prelude.Maybe Prelude.Text,
    -- | The name of the ruleset associated with the data quality result.
    GetDataQualityResultResponse -> Maybe Text
rulesetName :: Prelude.Maybe Prelude.Text,
    -- | An aggregate data quality score. Represents the ratio of rules that
    -- passed to the total number of rules.
    GetDataQualityResultResponse -> Maybe Double
score :: Prelude.Maybe Prelude.Double,
    -- | The date and time when the run for this data quality result started.
    GetDataQualityResultResponse -> Maybe POSIX
startedOn :: Prelude.Maybe Data.POSIX,
    -- | The response's http status code.
    GetDataQualityResultResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetDataQualityResultResponse
-> GetDataQualityResultResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDataQualityResultResponse
-> GetDataQualityResultResponse -> Bool
$c/= :: GetDataQualityResultResponse
-> GetDataQualityResultResponse -> Bool
== :: GetDataQualityResultResponse
-> GetDataQualityResultResponse -> Bool
$c== :: GetDataQualityResultResponse
-> GetDataQualityResultResponse -> Bool
Prelude.Eq, ReadPrec [GetDataQualityResultResponse]
ReadPrec GetDataQualityResultResponse
Int -> ReadS GetDataQualityResultResponse
ReadS [GetDataQualityResultResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDataQualityResultResponse]
$creadListPrec :: ReadPrec [GetDataQualityResultResponse]
readPrec :: ReadPrec GetDataQualityResultResponse
$creadPrec :: ReadPrec GetDataQualityResultResponse
readList :: ReadS [GetDataQualityResultResponse]
$creadList :: ReadS [GetDataQualityResultResponse]
readsPrec :: Int -> ReadS GetDataQualityResultResponse
$creadsPrec :: Int -> ReadS GetDataQualityResultResponse
Prelude.Read, Int -> GetDataQualityResultResponse -> ShowS
[GetDataQualityResultResponse] -> ShowS
GetDataQualityResultResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDataQualityResultResponse] -> ShowS
$cshowList :: [GetDataQualityResultResponse] -> ShowS
show :: GetDataQualityResultResponse -> String
$cshow :: GetDataQualityResultResponse -> String
showsPrec :: Int -> GetDataQualityResultResponse -> ShowS
$cshowsPrec :: Int -> GetDataQualityResultResponse -> ShowS
Prelude.Show, forall x.
Rep GetDataQualityResultResponse x -> GetDataQualityResultResponse
forall x.
GetDataQualityResultResponse -> Rep GetDataQualityResultResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetDataQualityResultResponse x -> GetDataQualityResultResponse
$cfrom :: forall x.
GetDataQualityResultResponse -> Rep GetDataQualityResultResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetDataQualityResultResponse' 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:
--
-- 'completedOn', 'getDataQualityResultResponse_completedOn' - The date and time when the run for this data quality result was
-- completed.
--
-- 'dataSource', 'getDataQualityResultResponse_dataSource' - The table associated with the data quality result, if any.
--
-- 'evaluationContext', 'getDataQualityResultResponse_evaluationContext' - In the context of a job in Glue Studio, each node in the canvas is
-- typically assigned some sort of name and data quality nodes will have
-- names. In the case of multiple nodes, the @evaluationContext@ can
-- differentiate the nodes.
--
-- 'jobName', 'getDataQualityResultResponse_jobName' - The job name associated with the data quality result, if any.
--
-- 'jobRunId', 'getDataQualityResultResponse_jobRunId' - The job run ID associated with the data quality result, if any.
--
-- 'resultId', 'getDataQualityResultResponse_resultId' - A unique result ID for the data quality result.
--
-- 'ruleResults', 'getDataQualityResultResponse_ruleResults' - A list of @DataQualityRuleResult@ objects representing the results for
-- each rule.
--
-- 'rulesetEvaluationRunId', 'getDataQualityResultResponse_rulesetEvaluationRunId' - The unique run ID associated with the ruleset evaluation.
--
-- 'rulesetName', 'getDataQualityResultResponse_rulesetName' - The name of the ruleset associated with the data quality result.
--
-- 'score', 'getDataQualityResultResponse_score' - An aggregate data quality score. Represents the ratio of rules that
-- passed to the total number of rules.
--
-- 'startedOn', 'getDataQualityResultResponse_startedOn' - The date and time when the run for this data quality result started.
--
-- 'httpStatus', 'getDataQualityResultResponse_httpStatus' - The response's http status code.
newGetDataQualityResultResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetDataQualityResultResponse
newGetDataQualityResultResponse :: Int -> GetDataQualityResultResponse
newGetDataQualityResultResponse Int
pHttpStatus_ =
  GetDataQualityResultResponse'
    { $sel:completedOn:GetDataQualityResultResponse' :: Maybe POSIX
completedOn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataSource:GetDataQualityResultResponse' :: Maybe DataSource
dataSource = forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationContext:GetDataQualityResultResponse' :: Maybe Text
evaluationContext = forall a. Maybe a
Prelude.Nothing,
      $sel:jobName:GetDataQualityResultResponse' :: Maybe Text
jobName = forall a. Maybe a
Prelude.Nothing,
      $sel:jobRunId:GetDataQualityResultResponse' :: Maybe Text
jobRunId = forall a. Maybe a
Prelude.Nothing,
      $sel:resultId:GetDataQualityResultResponse' :: Maybe Text
resultId = forall a. Maybe a
Prelude.Nothing,
      $sel:ruleResults:GetDataQualityResultResponse' :: Maybe (NonEmpty DataQualityRuleResult)
ruleResults = forall a. Maybe a
Prelude.Nothing,
      $sel:rulesetEvaluationRunId:GetDataQualityResultResponse' :: Maybe Text
rulesetEvaluationRunId = forall a. Maybe a
Prelude.Nothing,
      $sel:rulesetName:GetDataQualityResultResponse' :: Maybe Text
rulesetName = forall a. Maybe a
Prelude.Nothing,
      $sel:score:GetDataQualityResultResponse' :: Maybe Double
score = forall a. Maybe a
Prelude.Nothing,
      $sel:startedOn:GetDataQualityResultResponse' :: Maybe POSIX
startedOn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetDataQualityResultResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The date and time when the run for this data quality result was
-- completed.
getDataQualityResultResponse_completedOn :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.UTCTime)
getDataQualityResultResponse_completedOn :: Lens' GetDataQualityResultResponse (Maybe UTCTime)
getDataQualityResultResponse_completedOn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe POSIX
completedOn :: Maybe POSIX
$sel:completedOn:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe POSIX
completedOn} -> Maybe POSIX
completedOn) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe POSIX
a -> GetDataQualityResultResponse
s {$sel:completedOn:GetDataQualityResultResponse' :: Maybe POSIX
completedOn = Maybe POSIX
a} :: GetDataQualityResultResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The table associated with the data quality result, if any.
getDataQualityResultResponse_dataSource :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe DataSource)
getDataQualityResultResponse_dataSource :: Lens' GetDataQualityResultResponse (Maybe DataSource)
getDataQualityResultResponse_dataSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe DataSource
dataSource :: Maybe DataSource
$sel:dataSource:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe DataSource
dataSource} -> Maybe DataSource
dataSource) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe DataSource
a -> GetDataQualityResultResponse
s {$sel:dataSource:GetDataQualityResultResponse' :: Maybe DataSource
dataSource = Maybe DataSource
a} :: GetDataQualityResultResponse)

-- | In the context of a job in Glue Studio, each node in the canvas is
-- typically assigned some sort of name and data quality nodes will have
-- names. In the case of multiple nodes, the @evaluationContext@ can
-- differentiate the nodes.
getDataQualityResultResponse_evaluationContext :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_evaluationContext :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_evaluationContext = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
evaluationContext :: Maybe Text
$sel:evaluationContext:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
evaluationContext} -> Maybe Text
evaluationContext) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:evaluationContext:GetDataQualityResultResponse' :: Maybe Text
evaluationContext = Maybe Text
a} :: GetDataQualityResultResponse)

-- | The job name associated with the data quality result, if any.
getDataQualityResultResponse_jobName :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_jobName :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_jobName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
jobName :: Maybe Text
$sel:jobName:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
jobName} -> Maybe Text
jobName) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:jobName:GetDataQualityResultResponse' :: Maybe Text
jobName = Maybe Text
a} :: GetDataQualityResultResponse)

-- | The job run ID associated with the data quality result, if any.
getDataQualityResultResponse_jobRunId :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_jobRunId :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_jobRunId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
jobRunId :: Maybe Text
$sel:jobRunId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
jobRunId} -> Maybe Text
jobRunId) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:jobRunId:GetDataQualityResultResponse' :: Maybe Text
jobRunId = Maybe Text
a} :: GetDataQualityResultResponse)

-- | A unique result ID for the data quality result.
getDataQualityResultResponse_resultId :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_resultId :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_resultId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
resultId :: Maybe Text
$sel:resultId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
resultId} -> Maybe Text
resultId) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:resultId:GetDataQualityResultResponse' :: Maybe Text
resultId = Maybe Text
a} :: GetDataQualityResultResponse)

-- | A list of @DataQualityRuleResult@ objects representing the results for
-- each rule.
getDataQualityResultResponse_ruleResults :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe (Prelude.NonEmpty DataQualityRuleResult))
getDataQualityResultResponse_ruleResults :: Lens'
  GetDataQualityResultResponse
  (Maybe (NonEmpty DataQualityRuleResult))
getDataQualityResultResponse_ruleResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe (NonEmpty DataQualityRuleResult)
ruleResults :: Maybe (NonEmpty DataQualityRuleResult)
$sel:ruleResults:GetDataQualityResultResponse' :: GetDataQualityResultResponse
-> Maybe (NonEmpty DataQualityRuleResult)
ruleResults} -> Maybe (NonEmpty DataQualityRuleResult)
ruleResults) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe (NonEmpty DataQualityRuleResult)
a -> GetDataQualityResultResponse
s {$sel:ruleResults:GetDataQualityResultResponse' :: Maybe (NonEmpty DataQualityRuleResult)
ruleResults = Maybe (NonEmpty DataQualityRuleResult)
a} :: GetDataQualityResultResponse) 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 unique run ID associated with the ruleset evaluation.
getDataQualityResultResponse_rulesetEvaluationRunId :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_rulesetEvaluationRunId :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_rulesetEvaluationRunId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
rulesetEvaluationRunId :: Maybe Text
$sel:rulesetEvaluationRunId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
rulesetEvaluationRunId} -> Maybe Text
rulesetEvaluationRunId) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:rulesetEvaluationRunId:GetDataQualityResultResponse' :: Maybe Text
rulesetEvaluationRunId = Maybe Text
a} :: GetDataQualityResultResponse)

-- | The name of the ruleset associated with the data quality result.
getDataQualityResultResponse_rulesetName :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Text)
getDataQualityResultResponse_rulesetName :: Lens' GetDataQualityResultResponse (Maybe Text)
getDataQualityResultResponse_rulesetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Text
rulesetName :: Maybe Text
$sel:rulesetName:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
rulesetName} -> Maybe Text
rulesetName) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Text
a -> GetDataQualityResultResponse
s {$sel:rulesetName:GetDataQualityResultResponse' :: Maybe Text
rulesetName = Maybe Text
a} :: GetDataQualityResultResponse)

-- | An aggregate data quality score. Represents the ratio of rules that
-- passed to the total number of rules.
getDataQualityResultResponse_score :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.Double)
getDataQualityResultResponse_score :: Lens' GetDataQualityResultResponse (Maybe Double)
getDataQualityResultResponse_score = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe Double
score :: Maybe Double
$sel:score:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Double
score} -> Maybe Double
score) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe Double
a -> GetDataQualityResultResponse
s {$sel:score:GetDataQualityResultResponse' :: Maybe Double
score = Maybe Double
a} :: GetDataQualityResultResponse)

-- | The date and time when the run for this data quality result started.
getDataQualityResultResponse_startedOn :: Lens.Lens' GetDataQualityResultResponse (Prelude.Maybe Prelude.UTCTime)
getDataQualityResultResponse_startedOn :: Lens' GetDataQualityResultResponse (Maybe UTCTime)
getDataQualityResultResponse_startedOn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDataQualityResultResponse' {Maybe POSIX
startedOn :: Maybe POSIX
$sel:startedOn:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe POSIX
startedOn} -> Maybe POSIX
startedOn) (\s :: GetDataQualityResultResponse
s@GetDataQualityResultResponse' {} Maybe POSIX
a -> GetDataQualityResultResponse
s {$sel:startedOn:GetDataQualityResultResponse' :: Maybe POSIX
startedOn = Maybe POSIX
a} :: GetDataQualityResultResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

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

instance Prelude.NFData GetDataQualityResultResponse where
  rnf :: GetDataQualityResultResponse -> ()
rnf GetDataQualityResultResponse' {Int
Maybe Double
Maybe (NonEmpty DataQualityRuleResult)
Maybe Text
Maybe POSIX
Maybe DataSource
httpStatus :: Int
startedOn :: Maybe POSIX
score :: Maybe Double
rulesetName :: Maybe Text
rulesetEvaluationRunId :: Maybe Text
ruleResults :: Maybe (NonEmpty DataQualityRuleResult)
resultId :: Maybe Text
jobRunId :: Maybe Text
jobName :: Maybe Text
evaluationContext :: Maybe Text
dataSource :: Maybe DataSource
completedOn :: Maybe POSIX
$sel:httpStatus:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Int
$sel:startedOn:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe POSIX
$sel:score:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Double
$sel:rulesetName:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:rulesetEvaluationRunId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:ruleResults:GetDataQualityResultResponse' :: GetDataQualityResultResponse
-> Maybe (NonEmpty DataQualityRuleResult)
$sel:resultId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:jobRunId:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:jobName:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:evaluationContext:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe Text
$sel:dataSource:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe DataSource
$sel:completedOn:GetDataQualityResultResponse' :: GetDataQualityResultResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
completedOn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataSource
dataSource
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
evaluationContext
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobRunId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resultId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty DataQualityRuleResult)
ruleResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
rulesetEvaluationRunId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
rulesetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
score
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startedOn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus