1import type * as elbv2 from "@distilled.cloud/aws/elastic-load-balancing-v2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { TrustStore } from "./TrustStore.ts";
5
6/**
7 * `GetTrustStoreRevocationContent` request with `TrustStoreArn` injected from
8 * the bound {@link TrustStore}.
9 */
10export interface GetTrustStoreRevocationContentRequest extends Omit<
11 elbv2.GetTrustStoreRevocationContentInput,
12 "TrustStoreArn"
13> {}
14
15/**
16 * Runtime binding for the `GetTrustStoreRevocationContent` operation (IAM
17 * action `elasticloadbalancing:GetTrustStoreRevocationContent` scoped to the
18 * trust-store ARN).
19 *
20 * Returns a pre-signed S3 URI (active for ten minutes) for a certificate
21 * revocation list (CRL) previously added to the bound {@link TrustStore} —
22 * e.g. an ops endpoint auditing which client certificates are currently
23 * revoked. A missing revocation id surfaces as the typed
24 * `RevocationIdNotFoundException`. Provide the implementation with
25 * `Effect.provide(AWS.ELBv2.GetTrustStoreRevocationContentHttp)`.
26 * ### Trust Store Content
27 * **Example:** Fetch a revocation list's presigned location
28 * ```typescript
29 * // init — bind the operation to the trust store
30 * const getRevocation = yield* AWS.ELBv2.GetTrustStoreRevocationContent(trustStore);
31 *
32 * // runtime
33 * const { Location } = yield* getRevocation({ RevocationId: 1 });
34 * ```
35 *
36 * @binding
37 */
38export interface GetTrustStoreRevocationContent extends Binding.Service<
39 GetTrustStoreRevocationContent,
40 "AWS.ELBv2.GetTrustStoreRevocationContent",
41 (
42 trustStore: TrustStore,
43 ) => Effect.Effect<
44 (
45 request?: GetTrustStoreRevocationContentRequest,
46 ) => Effect.Effect<
47 elbv2.GetTrustStoreRevocationContentOutput,
48 elbv2.GetTrustStoreRevocationContentError
49 >
50 >
51> {}
52
53export const GetTrustStoreRevocationContent =
54 Binding.Service<GetTrustStoreRevocationContent>(
55 "AWS.ELBv2.GetTrustStoreRevocationContent",
56 );