1import type * as servicecatalog from "@distilled.cloud/aws/service-catalog";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `servicecatalog:DescribeServiceActionExecutionParameters`.
7 *
8 * Gets the parameters required to execute a self-service action on a provisioned product — call it before `ExecuteProvisionedProductServiceAction` to build the parameter form.
9 *
10 * Account-level operation — which products the caller can see and act on
11 * is governed by portfolio principal associations, so the binding takes no
12 * resource argument. Provide the implementation with
13 * `Effect.provide(AWS.ServiceCatalog.DescribeServiceActionExecutionParametersHttp)`.
14 * ### Service Actions
15 * **Example:** Read a Service Action's Parameters
16 * ```typescript
17 * // init — account-level binding, no resource argument
18 * const describeServiceActionExecutionParameters = yield* AWS.ServiceCatalog.DescribeServiceActionExecutionParameters();
19 *
20 * // runtime
21 * const { ServiceActionParameters } =
22 * yield* describeServiceActionExecutionParameters({
23 * ProvisionedProductId: "pp-abc123",
24 * ServiceActionId: "act-abc123",
25 * });
26 * ```
27 *
28 * @binding
29 */
30export interface DescribeServiceActionExecutionParameters extends Binding.Service<
31 DescribeServiceActionExecutionParameters,
32 "AWS.ServiceCatalog.DescribeServiceActionExecutionParameters",
33 () => Effect.Effect<
34 (
35 request: servicecatalog.DescribeServiceActionExecutionParametersInput,
36 ) => Effect.Effect<
37 servicecatalog.DescribeServiceActionExecutionParametersOutput,
38 servicecatalog.DescribeServiceActionExecutionParametersError
39 >
40 >
41> {}
42export const DescribeServiceActionExecutionParameters =
43 Binding.Service<DescribeServiceActionExecutionParameters>(
44 "AWS.ServiceCatalog.DescribeServiceActionExecutionParameters",
45 );