1import type * as servicequotas from "@distilled.cloud/aws/service-quotas";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `servicequotas:RequestServiceQuotaIncrease` — submit a
7 * quota increase request from inside a Function (e.g. automatically request
8 * more capacity when utilization approaches the limit).
9 *
10 * :::caution
11 * Submitting a request may open an AWS Support case and cannot be cancelled
12 * through the Service Quotas API. For declaratively managed increases prefer
13 * the {@link ServiceQuotaIncreaseRequest} resource.
14 * :::
15 *
16 * ### Quota Increase Requests
17 * **Example:** Request more concurrent executions
18 * ```typescript
19 * // init
20 * const requestServiceQuotaIncrease =
21 * yield* AWS.ServiceQuotas.RequestServiceQuotaIncrease();
22 *
23 * // runtime
24 * const { RequestedQuota } = yield* requestServiceQuotaIncrease({
25 * ServiceCode: "lambda",
26 * QuotaCode: "L-B99A9384",
27 * DesiredValue: 2000,
28 * });
29 * const requestId = RequestedQuota?.Id;
30 * ```
31 *
32 * @binding
33 */
34export interface RequestServiceQuotaIncrease extends Binding.Service<
35 RequestServiceQuotaIncrease,
36 "AWS.ServiceQuotas.RequestServiceQuotaIncrease",
37 () => Effect.Effect<
38 (
39 request: servicequotas.RequestServiceQuotaIncreaseRequest,
40 ) => Effect.Effect<
41 servicequotas.RequestServiceQuotaIncreaseResponse,
42 servicequotas.RequestServiceQuotaIncreaseError
43 >
44 >
45> {}
46export const RequestServiceQuotaIncrease =
47 Binding.Service<RequestServiceQuotaIncrease>(
48 "AWS.ServiceQuotas.RequestServiceQuotaIncrease",
49 );