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

    -- * Request Lenses
    deleteDataQualityJobDefinition_jobDefinitionName,

    -- * Destructuring the Response
    DeleteDataQualityJobDefinitionResponse (..),
    newDeleteDataQualityJobDefinitionResponse,
  )
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:/ 'newDeleteDataQualityJobDefinition' smart constructor.
data DeleteDataQualityJobDefinition = DeleteDataQualityJobDefinition'
  { -- | The name of the data quality monitoring job definition to delete.
    DeleteDataQualityJobDefinition -> Text
jobDefinitionName :: Prelude.Text
  }
  deriving (DeleteDataQualityJobDefinition
-> DeleteDataQualityJobDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDataQualityJobDefinition
-> DeleteDataQualityJobDefinition -> Bool
$c/= :: DeleteDataQualityJobDefinition
-> DeleteDataQualityJobDefinition -> Bool
== :: DeleteDataQualityJobDefinition
-> DeleteDataQualityJobDefinition -> Bool
$c== :: DeleteDataQualityJobDefinition
-> DeleteDataQualityJobDefinition -> Bool
Prelude.Eq, ReadPrec [DeleteDataQualityJobDefinition]
ReadPrec DeleteDataQualityJobDefinition
Int -> ReadS DeleteDataQualityJobDefinition
ReadS [DeleteDataQualityJobDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDataQualityJobDefinition]
$creadListPrec :: ReadPrec [DeleteDataQualityJobDefinition]
readPrec :: ReadPrec DeleteDataQualityJobDefinition
$creadPrec :: ReadPrec DeleteDataQualityJobDefinition
readList :: ReadS [DeleteDataQualityJobDefinition]
$creadList :: ReadS [DeleteDataQualityJobDefinition]
readsPrec :: Int -> ReadS DeleteDataQualityJobDefinition
$creadsPrec :: Int -> ReadS DeleteDataQualityJobDefinition
Prelude.Read, Int -> DeleteDataQualityJobDefinition -> ShowS
[DeleteDataQualityJobDefinition] -> ShowS
DeleteDataQualityJobDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDataQualityJobDefinition] -> ShowS
$cshowList :: [DeleteDataQualityJobDefinition] -> ShowS
show :: DeleteDataQualityJobDefinition -> String
$cshow :: DeleteDataQualityJobDefinition -> String
showsPrec :: Int -> DeleteDataQualityJobDefinition -> ShowS
$cshowsPrec :: Int -> DeleteDataQualityJobDefinition -> ShowS
Prelude.Show, forall x.
Rep DeleteDataQualityJobDefinition x
-> DeleteDataQualityJobDefinition
forall x.
DeleteDataQualityJobDefinition
-> Rep DeleteDataQualityJobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteDataQualityJobDefinition x
-> DeleteDataQualityJobDefinition
$cfrom :: forall x.
DeleteDataQualityJobDefinition
-> Rep DeleteDataQualityJobDefinition x
Prelude.Generic)

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

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

instance
  Core.AWSRequest
    DeleteDataQualityJobDefinition
  where
  type
    AWSResponse DeleteDataQualityJobDefinition =
      DeleteDataQualityJobDefinitionResponse
  request :: (Service -> Service)
-> DeleteDataQualityJobDefinition
-> Request DeleteDataQualityJobDefinition
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 DeleteDataQualityJobDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DeleteDataQualityJobDefinition)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
      DeleteDataQualityJobDefinitionResponse
DeleteDataQualityJobDefinitionResponse'

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

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

instance
  Data.ToHeaders
    DeleteDataQualityJobDefinition
  where
  toHeaders :: DeleteDataQualityJobDefinition -> [Header]
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 -> [Header]
Data.=# ( ByteString
"SageMaker.DeleteDataQualityJobDefinition" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

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

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

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

-- |
-- Create a value of 'DeleteDataQualityJobDefinitionResponse' 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.
newDeleteDataQualityJobDefinitionResponse ::
  DeleteDataQualityJobDefinitionResponse
newDeleteDataQualityJobDefinitionResponse :: DeleteDataQualityJobDefinitionResponse
newDeleteDataQualityJobDefinitionResponse =
  DeleteDataQualityJobDefinitionResponse
DeleteDataQualityJobDefinitionResponse'

instance
  Prelude.NFData
    DeleteDataQualityJobDefinitionResponse
  where
  rnf :: DeleteDataQualityJobDefinitionResponse -> ()
rnf DeleteDataQualityJobDefinitionResponse
_ = ()