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 ExtendLicenseConsumption}.
7 */
8export interface ExtendLicenseConsumptionRequest
9 extends licensemanager.ExtendLicenseConsumptionRequest {}
10
11/**
12 * Runtime binding for `license-manager:ExtendLicenseConsumption` — extend
13 * a `PROVISIONAL` checkout's expiration before it lapses, keeping a
14 * long-running consumer's entitlement active.
15 *
16 * Provide the implementation with
17 * `Effect.provide(AWS.LicenseManager.ExtendLicenseConsumptionHttp)`.
18 * ### License Checkout Data Plane
19 * **Example:** Extend a Provisional Checkout
20 * ```typescript
21 * // init
22 * const extendConsumption =
23 * yield* AWS.LicenseManager.ExtendLicenseConsumption();
24 *
25 * // runtime
26 * const { Expiration } = yield* extendConsumption({
27 * LicenseConsumptionToken: token,
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface ExtendLicenseConsumption extends Binding.Service<
34 ExtendLicenseConsumption,
35 "AWS.LicenseManager.ExtendLicenseConsumption",
36 () => Effect.Effect<
37 (
38 request: ExtendLicenseConsumptionRequest,
39 ) => Effect.Effect<
40 licensemanager.ExtendLicenseConsumptionResponse,
41 licensemanager.ExtendLicenseConsumptionError
42 >
43 >
44> {}
45export const ExtendLicenseConsumption =
46 Binding.Service<ExtendLicenseConsumption>(
47 "AWS.LicenseManager.ExtendLicenseConsumption",
48 );