1import type * as acm from "@distilled.cloud/aws/acm";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface SearchCertificatesRequest
6 extends acm.SearchCertificatesRequest {}
7
8/**
9 * Runtime binding for `acm:SearchCertificates`.
10 *
11 * An account-level operation (no certificate argument) that searches the ACM
12 * certificates in `us-east-1` with richer filtering than
13 * {@link ListCertificates} — X.509 attributes, status, type, and renewal
14 * eligibility can be combined in a filter statement. Provide the
15 * implementation with `Effect.provide(AWS.ACM.SearchCertificatesHttp)`.
16 * ### Inspecting Certificates
17 * **Example:** Search Certificates by ARN
18 * ```typescript
19 * // init — account-level binding takes no resource
20 * const searchCertificates = yield* AWS.ACM.SearchCertificates();
21 *
22 * // runtime
23 * const result = yield* searchCertificates({
24 * FilterStatement: { Filter: { CertificateArn: certificateArn } },
25 * });
26 * const arns = (result.Results ?? []).map((r) => r.CertificateArn);
27 * ```
28 *
29 * @binding
30 */
31export interface SearchCertificates extends Binding.Service<
32 SearchCertificates,
33 "AWS.ACM.SearchCertificates",
34 () => Effect.Effect<
35 (
36 request?: SearchCertificatesRequest,
37 ) => Effect.Effect<
38 acm.SearchCertificatesResponse,
39 acm.SearchCertificatesError
40 >
41 >
42> {}
43
44export const SearchCertificates = Binding.Service<SearchCertificates>(
45 "AWS.ACM.SearchCertificates",
46);