{-# 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.MediaStore.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) -- -- Removes an object lifecycle policy from a container. It takes up to 20 -- minutes for the change to take effect. module Amazonka.MediaStore.DeleteLifecyclePolicy ( -- * Creating a Request DeleteLifecyclePolicy (..), newDeleteLifecyclePolicy, -- * Request Lenses deleteLifecyclePolicy_containerName, -- * 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 qualified Amazonka.Data as Data import Amazonka.MediaStore.Types 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 name of the container that holds the object lifecycle policy. containerName :: 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: -- -- 'containerName', 'deleteLifecyclePolicy_containerName' - The name of the container that holds the object lifecycle policy. newDeleteLifecyclePolicy :: -- | 'containerName' Prelude.Text -> DeleteLifecyclePolicy newDeleteLifecyclePolicy pContainerName_ = DeleteLifecyclePolicy' { containerName = pContainerName_ } -- | The name of the container that holds the object lifecycle policy. deleteLifecyclePolicy_containerName :: Lens.Lens' DeleteLifecyclePolicy Prelude.Text deleteLifecyclePolicy_containerName = Lens.lens (\DeleteLifecyclePolicy' {containerName} -> containerName) (\s@DeleteLifecyclePolicy' {} a -> s {containerName = a} :: DeleteLifecyclePolicy) instance Core.AWSRequest DeleteLifecyclePolicy where type AWSResponse DeleteLifecyclePolicy = DeleteLifecyclePolicyResponse request overrides = Request.postJSON (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` containerName instance Prelude.NFData DeleteLifecyclePolicy where rnf DeleteLifecyclePolicy' {..} = Prelude.rnf containerName instance Data.ToHeaders DeleteLifecyclePolicy where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "MediaStore_20170901.DeleteLifecyclePolicy" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON DeleteLifecyclePolicy where toJSON DeleteLifecyclePolicy' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("ContainerName" Data..= containerName) ] ) instance Data.ToPath DeleteLifecyclePolicy where toPath = Prelude.const "/" 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