{-# 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.ConnectCampaigns.DeleteInstanceOnboardingJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Delete the Connect Campaigns onboarding job for the specified Amazon
-- Connect instance.
module Amazonka.ConnectCampaigns.DeleteInstanceOnboardingJob
  ( -- * Creating a Request
    DeleteInstanceOnboardingJob (..),
    newDeleteInstanceOnboardingJob,

    -- * Request Lenses
    deleteInstanceOnboardingJob_connectInstanceId,

    -- * Destructuring the Response
    DeleteInstanceOnboardingJobResponse (..),
    newDeleteInstanceOnboardingJobResponse,
  )
where

import Amazonka.ConnectCampaigns.Types
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

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

-- |
-- Create a value of 'DeleteInstanceOnboardingJob' 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:
--
-- 'connectInstanceId', 'deleteInstanceOnboardingJob_connectInstanceId' - Undocumented member.
newDeleteInstanceOnboardingJob ::
  -- | 'connectInstanceId'
  Prelude.Text ->
  DeleteInstanceOnboardingJob
newDeleteInstanceOnboardingJob :: Text -> DeleteInstanceOnboardingJob
newDeleteInstanceOnboardingJob Text
pConnectInstanceId_ =
  DeleteInstanceOnboardingJob'
    { $sel:connectInstanceId:DeleteInstanceOnboardingJob' :: Text
connectInstanceId =
        Text
pConnectInstanceId_
    }

-- | Undocumented member.
deleteInstanceOnboardingJob_connectInstanceId :: Lens.Lens' DeleteInstanceOnboardingJob Prelude.Text
deleteInstanceOnboardingJob_connectInstanceId :: Lens' DeleteInstanceOnboardingJob Text
deleteInstanceOnboardingJob_connectInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteInstanceOnboardingJob' {Text
connectInstanceId :: Text
$sel:connectInstanceId:DeleteInstanceOnboardingJob' :: DeleteInstanceOnboardingJob -> Text
connectInstanceId} -> Text
connectInstanceId) (\s :: DeleteInstanceOnboardingJob
s@DeleteInstanceOnboardingJob' {} Text
a -> DeleteInstanceOnboardingJob
s {$sel:connectInstanceId:DeleteInstanceOnboardingJob' :: Text
connectInstanceId = Text
a} :: DeleteInstanceOnboardingJob)

instance Core.AWSRequest DeleteInstanceOnboardingJob where
  type
    AWSResponse DeleteInstanceOnboardingJob =
      DeleteInstanceOnboardingJobResponse
  request :: (Service -> Service)
-> DeleteInstanceOnboardingJob
-> Request DeleteInstanceOnboardingJob
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteInstanceOnboardingJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DeleteInstanceOnboardingJob)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
      DeleteInstanceOnboardingJobResponse
DeleteInstanceOnboardingJobResponse'

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

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

instance Data.ToHeaders DeleteInstanceOnboardingJob where
  toHeaders :: DeleteInstanceOnboardingJob -> [Header]
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToPath DeleteInstanceOnboardingJob where
  toPath :: DeleteInstanceOnboardingJob -> ByteString
toPath DeleteInstanceOnboardingJob' {Text
connectInstanceId :: Text
$sel:connectInstanceId:DeleteInstanceOnboardingJob' :: DeleteInstanceOnboardingJob -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/connect-instance/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
connectInstanceId,
        ByteString
"/onboarding"
      ]

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

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

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

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