{-# 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.DLM.DeleteLifecyclePolicy -- 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 the specified lifecycle policy and halts the automated -- operations that the policy specified. -- -- For more information about deleting a policy, see -- . module Amazonka.DLM.DeleteLifecyclePolicy ( -- * Creating a Request DeleteLifecyclePolicy (..), newDeleteLifecyclePolicy, -- * Request Lenses deleteLifecyclePolicy_policyId, -- * Destructuring the Response DeleteLifecyclePolicyResponse (..), newDeleteLifecyclePolicyResponse, -- * Response Lenses deleteLifecyclePolicyResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import Amazonka.DLM.Types 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:/ 'newDeleteLifecyclePolicy' smart constructor. data DeleteLifecyclePolicy = DeleteLifecyclePolicy' { -- | The identifier of the lifecycle policy. policyId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteLifecyclePolicy' 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: -- -- 'policyId', 'deleteLifecyclePolicy_policyId' - The identifier of the lifecycle policy. newDeleteLifecyclePolicy :: -- | 'policyId' Prelude.Text -> DeleteLifecyclePolicy newDeleteLifecyclePolicy pPolicyId_ = DeleteLifecyclePolicy' {policyId = pPolicyId_} -- | The identifier of the lifecycle policy. deleteLifecyclePolicy_policyId :: Lens.Lens' DeleteLifecyclePolicy Prelude.Text deleteLifecyclePolicy_policyId = Lens.lens (\DeleteLifecyclePolicy' {policyId} -> policyId) (\s@DeleteLifecyclePolicy' {} a -> s {policyId = a} :: DeleteLifecyclePolicy) instance Core.AWSRequest DeleteLifecyclePolicy where type AWSResponse DeleteLifecyclePolicy = DeleteLifecyclePolicyResponse request overrides = Request.delete (overrides defaultService) response = Response.receiveEmpty ( \s h x -> DeleteLifecyclePolicyResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable DeleteLifecyclePolicy where hashWithSalt _salt DeleteLifecyclePolicy' {..} = _salt `Prelude.hashWithSalt` policyId instance Prelude.NFData DeleteLifecyclePolicy where rnf DeleteLifecyclePolicy' {..} = Prelude.rnf policyId instance Data.ToHeaders DeleteLifecyclePolicy where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath DeleteLifecyclePolicy where toPath DeleteLifecyclePolicy' {..} = Prelude.mconcat ["/policies/", Data.toBS policyId, "/"] instance Data.ToQuery DeleteLifecyclePolicy where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newDeleteLifecyclePolicyResponse' smart constructor. data DeleteLifecyclePolicyResponse = DeleteLifecyclePolicyResponse' { -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteLifecyclePolicyResponse' 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', 'deleteLifecyclePolicyResponse_httpStatus' - The response's http status code. newDeleteLifecyclePolicyResponse :: -- | 'httpStatus' Prelude.Int -> DeleteLifecyclePolicyResponse newDeleteLifecyclePolicyResponse pHttpStatus_ = DeleteLifecyclePolicyResponse' { httpStatus = pHttpStatus_ } -- | The response's http status code. deleteLifecyclePolicyResponse_httpStatus :: Lens.Lens' DeleteLifecyclePolicyResponse Prelude.Int deleteLifecyclePolicyResponse_httpStatus = Lens.lens (\DeleteLifecyclePolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteLifecyclePolicyResponse' {} a -> s {httpStatus = a} :: DeleteLifecyclePolicyResponse) instance Prelude.NFData DeleteLifecyclePolicyResponse where rnf DeleteLifecyclePolicyResponse' {..} = Prelude.rnf httpStatus