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 UpdateLicenseSpecificationsForResource}.
7 */
8export interface UpdateLicenseSpecificationsForResourceRequest
9 extends licensemanager.UpdateLicenseSpecificationsForResourceRequest {}
10
11/**
12 * Runtime binding for
13 * `license-manager:UpdateLicenseSpecificationsForResource` — associate or
14 * disassociate license configurations with a resource (e.g. attach a
15 * license configuration to an AMI so launches are tracked).
16 *
17 * Provide the implementation with
18 * `Effect.provide(AWS.LicenseManager.UpdateLicenseSpecificationsForResourceHttp)`.
19 * ### Resource Inventory and Specifications
20 * **Example:** Attach a License Configuration to an AMI
21 * ```typescript
22 * // init
23 * const updateSpecifications =
24 * yield* AWS.LicenseManager.UpdateLicenseSpecificationsForResource();
25 *
26 * // runtime
27 * yield* updateSpecifications({
28 * ResourceArn: amiArn,
29 * AddLicenseSpecifications: [
30 * { LicenseConfigurationArn: configurationArn },
31 * ],
32 * });
33 * ```
34 *
35 * @binding
36 */
37export interface UpdateLicenseSpecificationsForResource extends Binding.Service<
38 UpdateLicenseSpecificationsForResource,
39 "AWS.LicenseManager.UpdateLicenseSpecificationsForResource",
40 () => Effect.Effect<
41 (
42 request: UpdateLicenseSpecificationsForResourceRequest,
43 ) => Effect.Effect<
44 licensemanager.UpdateLicenseSpecificationsForResourceResponse,
45 licensemanager.UpdateLicenseSpecificationsForResourceError
46 >
47 >
48> {}
49export const UpdateLicenseSpecificationsForResource =
50 Binding.Service<UpdateLicenseSpecificationsForResource>(
51 "AWS.LicenseManager.UpdateLicenseSpecificationsForResource",
52 );