1import type * as codeconnections from "@distilled.cloud/aws/codeconnections";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { RepositoryLink } from "./RepositoryLink.ts";
5
6/**
7 * Request for {@link ListSyncConfigurations} — the sync type to list; the
8 * repository link ID is injected from the bound resource.
9 */
10export interface ListSyncConfigurationsRequest extends Omit<
11 codeconnections.ListSyncConfigurationsInput,
12 "RepositoryLinkId"
13> {}
14
15/**
16 * Runtime binding for `codeconnections:ListSyncConfigurations`.
17 *
18 * Bind this operation to a {@link RepositoryLink} to enumerate the sync
19 * configurations attached to the link — which AWS resources Git sync keeps
20 * converged from the linked repository. Provide the implementation with
21 * `Effect.provide(AWS.CodeConnections.ListSyncConfigurationsHttp)`.
22 * ### Monitoring Git Sync
23 * **Example:** List the Link's Sync Configurations
24 * ```typescript
25 * // init — bind the operation to the repository link
26 * const listSyncConfigurations =
27 * yield* AWS.CodeConnections.ListSyncConfigurations(link);
28 *
29 * // runtime
30 * const { SyncConfigurations } =
31 * yield* listSyncConfigurations({ SyncType: "CFN_STACK_SYNC" });
32 * ```
33 *
34 * @binding
35 */
36export interface ListSyncConfigurations extends Binding.Service<
37 ListSyncConfigurations,
38 "AWS.CodeConnections.ListSyncConfigurations",
39 (
40 repositoryLink: RepositoryLink,
41 ) => Effect.Effect<
42 (
43 request: ListSyncConfigurationsRequest,
44 ) => Effect.Effect<
45 codeconnections.ListSyncConfigurationsOutput,
46 codeconnections.ListSyncConfigurationsError
47 >
48 >
49> {}
50
51export const ListSyncConfigurations = Binding.Service<ListSyncConfigurations>(
52 "AWS.CodeConnections.ListSyncConfigurations",
53);