1import type * as cloudhsm from "@distilled.cloud/aws/cloudhsm-v2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DeleteResourcePolicy` operation (IAM action
7 * `cloudhsm:DeleteResourcePolicy`).
8 *
9 * Removes the resource policy from a CloudHSM backup, unsharing it (and
10 * removing it from any RAM resource shares); clusters already created from
11 * the backup are unaffected. Provide the implementation with
12 * `Effect.provide(AWS.CloudHSMV2.DeleteResourcePolicyHttp)`.
13 * ### Sharing Backups
14 * **Example:** Unshare A Backup
15 * ```typescript
16 * const deleteResourcePolicy = yield* AWS.CloudHSMV2.DeleteResourcePolicy();
17 *
18 * yield* deleteResourcePolicy({ ResourceArn: backupArn });
19 * ```
20 *
21 * @binding
22 */
23export interface DeleteResourcePolicy extends Binding.Service<
24 DeleteResourcePolicy,
25 "AWS.CloudHSMV2.DeleteResourcePolicy",
26 () => Effect.Effect<
27 (
28 request: cloudhsm.DeleteResourcePolicyRequest,
29 ) => Effect.Effect<
30 cloudhsm.DeleteResourcePolicyResponse,
31 cloudhsm.DeleteResourcePolicyError
32 >
33 >
34> {}
35export const DeleteResourcePolicy = Binding.Service<DeleteResourcePolicy>(
36 "AWS.CloudHSMV2.DeleteResourcePolicy",
37);