{-# 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.UpdateDataQualityRuleset
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the specified data quality ruleset.
module Amazonka.Glue.UpdateDataQualityRuleset
  ( -- * Creating a Request
    UpdateDataQualityRuleset (..),
    newUpdateDataQualityRuleset,

    -- * Request Lenses
    updateDataQualityRuleset_description,
    updateDataQualityRuleset_ruleset,
    updateDataQualityRuleset_updatedName,
    updateDataQualityRuleset_name,

    -- * Destructuring the Response
    UpdateDataQualityRulesetResponse (..),
    newUpdateDataQualityRulesetResponse,

    -- * Response Lenses
    updateDataQualityRulesetResponse_description,
    updateDataQualityRulesetResponse_name,
    updateDataQualityRulesetResponse_ruleset,
    updateDataQualityRulesetResponse_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:/ 'newUpdateDataQualityRuleset' smart constructor.
data UpdateDataQualityRuleset = UpdateDataQualityRuleset'
  { -- | A description of the ruleset.
    UpdateDataQualityRuleset -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | A Data Quality Definition Language (DQDL) ruleset. For more information,
    -- see the Glue developer guide.
    UpdateDataQualityRuleset -> Maybe Text
ruleset :: Prelude.Maybe Prelude.Text,
    -- | The new name of the ruleset, if you are renaming it.
    UpdateDataQualityRuleset -> Maybe Text
updatedName :: Prelude.Maybe Prelude.Text,
    -- | The name of the data quality ruleset.
    UpdateDataQualityRuleset -> Text
name :: Prelude.Text
  }
  deriving (UpdateDataQualityRuleset -> UpdateDataQualityRuleset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDataQualityRuleset -> UpdateDataQualityRuleset -> Bool
$c/= :: UpdateDataQualityRuleset -> UpdateDataQualityRuleset -> Bool
== :: UpdateDataQualityRuleset -> UpdateDataQualityRuleset -> Bool
$c== :: UpdateDataQualityRuleset -> UpdateDataQualityRuleset -> Bool
Prelude.Eq, ReadPrec [UpdateDataQualityRuleset]
ReadPrec UpdateDataQualityRuleset
Int -> ReadS UpdateDataQualityRuleset
ReadS [UpdateDataQualityRuleset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDataQualityRuleset]
$creadListPrec :: ReadPrec [UpdateDataQualityRuleset]
readPrec :: ReadPrec UpdateDataQualityRuleset
$creadPrec :: ReadPrec UpdateDataQualityRuleset
readList :: ReadS [UpdateDataQualityRuleset]
$creadList :: ReadS [UpdateDataQualityRuleset]
readsPrec :: Int -> ReadS UpdateDataQualityRuleset
$creadsPrec :: Int -> ReadS UpdateDataQualityRuleset
Prelude.Read, Int -> UpdateDataQualityRuleset -> ShowS
[UpdateDataQualityRuleset] -> ShowS
UpdateDataQualityRuleset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDataQualityRuleset] -> ShowS
$cshowList :: [UpdateDataQualityRuleset] -> ShowS
show :: UpdateDataQualityRuleset -> String
$cshow :: UpdateDataQualityRuleset -> String
showsPrec :: Int -> UpdateDataQualityRuleset -> ShowS
$cshowsPrec :: Int -> UpdateDataQualityRuleset -> ShowS
Prelude.Show, forall x.
Rep UpdateDataQualityRuleset x -> UpdateDataQualityRuleset
forall x.
UpdateDataQualityRuleset -> Rep UpdateDataQualityRuleset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDataQualityRuleset x -> UpdateDataQualityRuleset
$cfrom :: forall x.
UpdateDataQualityRuleset -> Rep UpdateDataQualityRuleset x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDataQualityRuleset' 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:
--
-- 'description', 'updateDataQualityRuleset_description' - A description of the ruleset.
--
-- 'ruleset', 'updateDataQualityRuleset_ruleset' - A Data Quality Definition Language (DQDL) ruleset. For more information,
-- see the Glue developer guide.
--
-- 'updatedName', 'updateDataQualityRuleset_updatedName' - The new name of the ruleset, if you are renaming it.
--
-- 'name', 'updateDataQualityRuleset_name' - The name of the data quality ruleset.
newUpdateDataQualityRuleset ::
  -- | 'name'
  Prelude.Text ->
  UpdateDataQualityRuleset
newUpdateDataQualityRuleset :: Text -> UpdateDataQualityRuleset
newUpdateDataQualityRuleset Text
pName_ =
  UpdateDataQualityRuleset'
    { $sel:description:UpdateDataQualityRuleset' :: Maybe Text
description =
        forall a. Maybe a
Prelude.Nothing,
      $sel:ruleset:UpdateDataQualityRuleset' :: Maybe Text
ruleset = forall a. Maybe a
Prelude.Nothing,
      $sel:updatedName:UpdateDataQualityRuleset' :: Maybe Text
updatedName = forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateDataQualityRuleset' :: Text
name = Text
pName_
    }

-- | A description of the ruleset.
updateDataQualityRuleset_description :: Lens.Lens' UpdateDataQualityRuleset (Prelude.Maybe Prelude.Text)
updateDataQualityRuleset_description :: Lens' UpdateDataQualityRuleset (Maybe Text)
updateDataQualityRuleset_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRuleset' {Maybe Text
description :: Maybe Text
$sel:description:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateDataQualityRuleset
s@UpdateDataQualityRuleset' {} Maybe Text
a -> UpdateDataQualityRuleset
s {$sel:description:UpdateDataQualityRuleset' :: Maybe Text
description = Maybe Text
a} :: UpdateDataQualityRuleset)

-- | A Data Quality Definition Language (DQDL) ruleset. For more information,
-- see the Glue developer guide.
updateDataQualityRuleset_ruleset :: Lens.Lens' UpdateDataQualityRuleset (Prelude.Maybe Prelude.Text)
updateDataQualityRuleset_ruleset :: Lens' UpdateDataQualityRuleset (Maybe Text)
updateDataQualityRuleset_ruleset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRuleset' {Maybe Text
ruleset :: Maybe Text
$sel:ruleset:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
ruleset} -> Maybe Text
ruleset) (\s :: UpdateDataQualityRuleset
s@UpdateDataQualityRuleset' {} Maybe Text
a -> UpdateDataQualityRuleset
s {$sel:ruleset:UpdateDataQualityRuleset' :: Maybe Text
ruleset = Maybe Text
a} :: UpdateDataQualityRuleset)

-- | The new name of the ruleset, if you are renaming it.
updateDataQualityRuleset_updatedName :: Lens.Lens' UpdateDataQualityRuleset (Prelude.Maybe Prelude.Text)
updateDataQualityRuleset_updatedName :: Lens' UpdateDataQualityRuleset (Maybe Text)
updateDataQualityRuleset_updatedName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRuleset' {Maybe Text
updatedName :: Maybe Text
$sel:updatedName:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
updatedName} -> Maybe Text
updatedName) (\s :: UpdateDataQualityRuleset
s@UpdateDataQualityRuleset' {} Maybe Text
a -> UpdateDataQualityRuleset
s {$sel:updatedName:UpdateDataQualityRuleset' :: Maybe Text
updatedName = Maybe Text
a} :: UpdateDataQualityRuleset)

-- | The name of the data quality ruleset.
updateDataQualityRuleset_name :: Lens.Lens' UpdateDataQualityRuleset Prelude.Text
updateDataQualityRuleset_name :: Lens' UpdateDataQualityRuleset Text
updateDataQualityRuleset_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRuleset' {Text
name :: Text
$sel:name:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Text
name} -> Text
name) (\s :: UpdateDataQualityRuleset
s@UpdateDataQualityRuleset' {} Text
a -> UpdateDataQualityRuleset
s {$sel:name:UpdateDataQualityRuleset' :: Text
name = Text
a} :: UpdateDataQualityRuleset)

instance Core.AWSRequest UpdateDataQualityRuleset where
  type
    AWSResponse UpdateDataQualityRuleset =
      UpdateDataQualityRulesetResponse
  request :: (Service -> Service)
-> UpdateDataQualityRuleset -> Request UpdateDataQualityRuleset
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 UpdateDataQualityRuleset
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateDataQualityRuleset)))
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 Text
-> Maybe Text
-> Maybe Text
-> Int
-> UpdateDataQualityRulesetResponse
UpdateDataQualityRulesetResponse'
            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
"Description")
            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
"Name")
            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
"Ruleset")
            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 UpdateDataQualityRuleset where
  hashWithSalt :: Int -> UpdateDataQualityRuleset -> Int
hashWithSalt Int
_salt UpdateDataQualityRuleset' {Maybe Text
Text
name :: Text
updatedName :: Maybe Text
ruleset :: Maybe Text
description :: Maybe Text
$sel:name:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Text
$sel:updatedName:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:ruleset:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:description:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ruleset
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
updatedName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData UpdateDataQualityRuleset where
  rnf :: UpdateDataQualityRuleset -> ()
rnf UpdateDataQualityRuleset' {Maybe Text
Text
name :: Text
updatedName :: Maybe Text
ruleset :: Maybe Text
description :: Maybe Text
$sel:name:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Text
$sel:updatedName:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:ruleset:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:description:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ruleset
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
updatedName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance Data.ToHeaders UpdateDataQualityRuleset where
  toHeaders :: UpdateDataQualityRuleset -> 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.UpdateDataQualityRuleset" ::
                          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 UpdateDataQualityRuleset where
  toJSON :: UpdateDataQualityRuleset -> Value
toJSON UpdateDataQualityRuleset' {Maybe Text
Text
name :: Text
updatedName :: Maybe Text
ruleset :: Maybe Text
description :: Maybe Text
$sel:name:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Text
$sel:updatedName:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:ruleset:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
$sel:description:UpdateDataQualityRuleset' :: UpdateDataQualityRuleset -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Key
"Ruleset" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ruleset,
            (Key
"UpdatedName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
updatedName,
            forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
          ]
      )

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

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

-- | /See:/ 'newUpdateDataQualityRulesetResponse' smart constructor.
data UpdateDataQualityRulesetResponse = UpdateDataQualityRulesetResponse'
  { -- | A description of the ruleset.
    UpdateDataQualityRulesetResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The name of the data quality ruleset.
    UpdateDataQualityRulesetResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | A Data Quality Definition Language (DQDL) ruleset. For more information,
    -- see the Glue developer guide.
    UpdateDataQualityRulesetResponse -> Maybe Text
ruleset :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateDataQualityRulesetResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateDataQualityRulesetResponse
-> UpdateDataQualityRulesetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDataQualityRulesetResponse
-> UpdateDataQualityRulesetResponse -> Bool
$c/= :: UpdateDataQualityRulesetResponse
-> UpdateDataQualityRulesetResponse -> Bool
== :: UpdateDataQualityRulesetResponse
-> UpdateDataQualityRulesetResponse -> Bool
$c== :: UpdateDataQualityRulesetResponse
-> UpdateDataQualityRulesetResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDataQualityRulesetResponse]
ReadPrec UpdateDataQualityRulesetResponse
Int -> ReadS UpdateDataQualityRulesetResponse
ReadS [UpdateDataQualityRulesetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDataQualityRulesetResponse]
$creadListPrec :: ReadPrec [UpdateDataQualityRulesetResponse]
readPrec :: ReadPrec UpdateDataQualityRulesetResponse
$creadPrec :: ReadPrec UpdateDataQualityRulesetResponse
readList :: ReadS [UpdateDataQualityRulesetResponse]
$creadList :: ReadS [UpdateDataQualityRulesetResponse]
readsPrec :: Int -> ReadS UpdateDataQualityRulesetResponse
$creadsPrec :: Int -> ReadS UpdateDataQualityRulesetResponse
Prelude.Read, Int -> UpdateDataQualityRulesetResponse -> ShowS
[UpdateDataQualityRulesetResponse] -> ShowS
UpdateDataQualityRulesetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDataQualityRulesetResponse] -> ShowS
$cshowList :: [UpdateDataQualityRulesetResponse] -> ShowS
show :: UpdateDataQualityRulesetResponse -> String
$cshow :: UpdateDataQualityRulesetResponse -> String
showsPrec :: Int -> UpdateDataQualityRulesetResponse -> ShowS
$cshowsPrec :: Int -> UpdateDataQualityRulesetResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDataQualityRulesetResponse x
-> UpdateDataQualityRulesetResponse
forall x.
UpdateDataQualityRulesetResponse
-> Rep UpdateDataQualityRulesetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDataQualityRulesetResponse x
-> UpdateDataQualityRulesetResponse
$cfrom :: forall x.
UpdateDataQualityRulesetResponse
-> Rep UpdateDataQualityRulesetResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDataQualityRulesetResponse' 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:
--
-- 'description', 'updateDataQualityRulesetResponse_description' - A description of the ruleset.
--
-- 'name', 'updateDataQualityRulesetResponse_name' - The name of the data quality ruleset.
--
-- 'ruleset', 'updateDataQualityRulesetResponse_ruleset' - A Data Quality Definition Language (DQDL) ruleset. For more information,
-- see the Glue developer guide.
--
-- 'httpStatus', 'updateDataQualityRulesetResponse_httpStatus' - The response's http status code.
newUpdateDataQualityRulesetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateDataQualityRulesetResponse
newUpdateDataQualityRulesetResponse :: Int -> UpdateDataQualityRulesetResponse
newUpdateDataQualityRulesetResponse Int
pHttpStatus_ =
  UpdateDataQualityRulesetResponse'
    { $sel:description:UpdateDataQualityRulesetResponse' :: Maybe Text
description =
        forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateDataQualityRulesetResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:ruleset:UpdateDataQualityRulesetResponse' :: Maybe Text
ruleset = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateDataQualityRulesetResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A description of the ruleset.
updateDataQualityRulesetResponse_description :: Lens.Lens' UpdateDataQualityRulesetResponse (Prelude.Maybe Prelude.Text)
updateDataQualityRulesetResponse_description :: Lens' UpdateDataQualityRulesetResponse (Maybe Text)
updateDataQualityRulesetResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRulesetResponse' {Maybe Text
description :: Maybe Text
$sel:description:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateDataQualityRulesetResponse
s@UpdateDataQualityRulesetResponse' {} Maybe Text
a -> UpdateDataQualityRulesetResponse
s {$sel:description:UpdateDataQualityRulesetResponse' :: Maybe Text
description = Maybe Text
a} :: UpdateDataQualityRulesetResponse)

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

-- | A Data Quality Definition Language (DQDL) ruleset. For more information,
-- see the Glue developer guide.
updateDataQualityRulesetResponse_ruleset :: Lens.Lens' UpdateDataQualityRulesetResponse (Prelude.Maybe Prelude.Text)
updateDataQualityRulesetResponse_ruleset :: Lens' UpdateDataQualityRulesetResponse (Maybe Text)
updateDataQualityRulesetResponse_ruleset = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataQualityRulesetResponse' {Maybe Text
ruleset :: Maybe Text
$sel:ruleset:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Maybe Text
ruleset} -> Maybe Text
ruleset) (\s :: UpdateDataQualityRulesetResponse
s@UpdateDataQualityRulesetResponse' {} Maybe Text
a -> UpdateDataQualityRulesetResponse
s {$sel:ruleset:UpdateDataQualityRulesetResponse' :: Maybe Text
ruleset = Maybe Text
a} :: UpdateDataQualityRulesetResponse)

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

instance
  Prelude.NFData
    UpdateDataQualityRulesetResponse
  where
  rnf :: UpdateDataQualityRulesetResponse -> ()
rnf UpdateDataQualityRulesetResponse' {Int
Maybe Text
httpStatus :: Int
ruleset :: Maybe Text
name :: Maybe Text
description :: Maybe Text
$sel:httpStatus:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Int
$sel:ruleset:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Maybe Text
$sel:name:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Maybe Text
$sel:description:UpdateDataQualityRulesetResponse' :: UpdateDataQualityRulesetResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ruleset
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus