1import type * as codeconnections from "@distilled.cloud/aws/codeconnections";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { SyncConfiguration } from "./SyncConfiguration.ts";
5
6/**
7 * Runtime binding for `codeconnections:GetResourceSyncStatus`.
8 *
9 * Bind this operation to a {@link SyncConfiguration} to read the sync
10 * status of its Amazon Web Services resource — the desired state revision
11 * and the latest successful/attempted syncs — from inside a function
12 * runtime. Provide the implementation with
13 * `Effect.provide(AWS.CodeConnections.GetResourceSyncStatusHttp)`.
14 * ### Monitoring Git Sync
15 * **Example:** Read the Resource's Sync Status
16 * ```typescript
17 * // init — bind the operation to the sync configuration
18 * const getResourceSyncStatus =
19 * yield* AWS.CodeConnections.GetResourceSyncStatus(sync);
20 *
21 * // runtime
22 * const { LatestSync } = yield* getResourceSyncStatus();
23 * ```
24 *
25 * @binding
26 */
27export interface GetResourceSyncStatus extends Binding.Service<
28 GetResourceSyncStatus,
29 "AWS.CodeConnections.GetResourceSyncStatus",
30 (
31 syncConfiguration: SyncConfiguration,
32 ) => Effect.Effect<
33 () => Effect.Effect<
34 codeconnections.GetResourceSyncStatusOutput,
35 codeconnections.GetResourceSyncStatusError
36 >
37 >
38> {}
39
40export const GetResourceSyncStatus = Binding.Service<GetResourceSyncStatus>(
41 "AWS.CodeConnections.GetResourceSyncStatus",
42);