{-# 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.CodePipeline.DeleteWebhook -- 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 previously created webhook by name. Deleting the webhook stops -- AWS CodePipeline from starting a pipeline every time an external event -- occurs. The API returns successfully when trying to delete a webhook -- that is already deleted. If a deleted webhook is re-created by calling -- PutWebhook with the same name, it will have a different URL. module Amazonka.CodePipeline.DeleteWebhook ( -- * Creating a Request DeleteWebhook (..), newDeleteWebhook, -- * Request Lenses deleteWebhook_name, -- * Destructuring the Response DeleteWebhookResponse (..), newDeleteWebhookResponse, -- * Response Lenses deleteWebhookResponse_httpStatus, ) where import Amazonka.CodePipeline.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 -- | /See:/ 'newDeleteWebhook' smart constructor. data DeleteWebhook = DeleteWebhook' { -- | The name of the webhook you want to delete. name :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteWebhook' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'name', 'deleteWebhook_name' - The name of the webhook you want to delete. newDeleteWebhook :: -- | 'name' Prelude.Text -> DeleteWebhook newDeleteWebhook pName_ = DeleteWebhook' {name = pName_} -- | The name of the webhook you want to delete. deleteWebhook_name :: Lens.Lens' DeleteWebhook Prelude.Text deleteWebhook_name = Lens.lens (\DeleteWebhook' {name} -> name) (\s@DeleteWebhook' {} a -> s {name = a} :: DeleteWebhook) instance Core.AWSRequest DeleteWebhook where type AWSResponse DeleteWebhook = DeleteWebhookResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveEmpty ( \s h x -> DeleteWebhookResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable DeleteWebhook where hashWithSalt _salt DeleteWebhook' {..} = _salt `Prelude.hashWithSalt` name instance Prelude.NFData DeleteWebhook where rnf DeleteWebhook' {..} = Prelude.rnf name instance Data.ToHeaders DeleteWebhook where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "CodePipeline_20150709.DeleteWebhook" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON DeleteWebhook where toJSON DeleteWebhook' {..} = Data.object ( Prelude.catMaybes [Prelude.Just ("name" Data..= name)] ) instance Data.ToPath DeleteWebhook where toPath = Prelude.const "/" instance Data.ToQuery DeleteWebhook where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newDeleteWebhookResponse' smart constructor. data DeleteWebhookResponse = DeleteWebhookResponse' { -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteWebhookResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'httpStatus', 'deleteWebhookResponse_httpStatus' - The response's http status code. newDeleteWebhookResponse :: -- | 'httpStatus' Prelude.Int -> DeleteWebhookResponse newDeleteWebhookResponse pHttpStatus_ = DeleteWebhookResponse' {httpStatus = pHttpStatus_} -- | The response's http status code. deleteWebhookResponse_httpStatus :: Lens.Lens' DeleteWebhookResponse Prelude.Int deleteWebhookResponse_httpStatus = Lens.lens (\DeleteWebhookResponse' {httpStatus} -> httpStatus) (\s@DeleteWebhookResponse' {} a -> s {httpStatus = a} :: DeleteWebhookResponse) instance Prelude.NFData DeleteWebhookResponse where rnf DeleteWebhookResponse' {..} = Prelude.rnf httpStatus