1import type * as licensemanager from "@distilled.cloud/aws/license-manager";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link DeleteLicense}.
7 */
8export interface DeleteLicenseRequest
9 extends licensemanager.DeleteLicenseRequest {}
10
11/**
12 * Runtime binding for `license-manager:DeleteLicense` — delete a
13 * seller-issued license (e.g. on refund or subscription cancellation). The
14 * license's current version must be passed as `SourceVersion`.
15 *
16 * Provide the implementation with
17 * `Effect.provide(AWS.LicenseManager.DeleteLicenseHttp)`.
18 * ### Issuing Licenses
19 * **Example:** Delete a License on Cancellation
20 * ```typescript
21 * // init
22 * const deleteLicense = yield* AWS.LicenseManager.DeleteLicense();
23 *
24 * // runtime
25 * const { License } = yield* getLicense({ LicenseArn: licenseArn });
26 * yield* deleteLicense({
27 * LicenseArn: licenseArn,
28 * SourceVersion: License!.Version!,
29 * });
30 * ```
31 *
32 * @binding
33 */
34export interface DeleteLicense extends Binding.Service<
35 DeleteLicense,
36 "AWS.LicenseManager.DeleteLicense",
37 () => Effect.Effect<
38 (
39 request: DeleteLicenseRequest,
40 ) => Effect.Effect<
41 licensemanager.DeleteLicenseResponse,
42 licensemanager.DeleteLicenseError
43 >
44 >
45> {}
46export const DeleteLicense = Binding.Service<DeleteLicense>(
47 "AWS.LicenseManager.DeleteLicense",
48);