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 * Request for {@link UpdateSyncBlocker} — the blocker ID and resolution
8 * reason; the sync configuration's identity is injected from the bound
9 * resource.
10 */
11export interface UpdateSyncBlockerRequest extends Omit<
12 codeconnections.UpdateSyncBlockerInput,
13 "ResourceName" | "SyncType"
14> {}
15
16/**
17 * Runtime binding for `codeconnections:UpdateSyncBlocker`.
18 *
19 * Bind this operation to a {@link SyncConfiguration} to resolve a sync
20 * blocker (discovered via {@link GetSyncBlockerSummary}) so Git sync can
21 * resume converging the resource. Provide the implementation with
22 * `Effect.provide(AWS.CodeConnections.UpdateSyncBlockerHttp)`.
23 * ### Monitoring Git Sync
24 * **Example:** Resolve a Sync Blocker
25 * ```typescript
26 * // init — bind the operation to the sync configuration
27 * const updateSyncBlocker = yield* AWS.CodeConnections.UpdateSyncBlocker(sync);
28 *
29 * // runtime
30 * yield* updateSyncBlocker({
31 * Id: blocker.Id,
32 * ResolvedReason: "stack drift corrected manually",
33 * });
34 * ```
35 *
36 * @binding
37 */
38export interface UpdateSyncBlocker extends Binding.Service<
39 UpdateSyncBlocker,
40 "AWS.CodeConnections.UpdateSyncBlocker",
41 (
42 syncConfiguration: SyncConfiguration,
43 ) => Effect.Effect<
44 (
45 request: UpdateSyncBlockerRequest,
46 ) => Effect.Effect<
47 codeconnections.UpdateSyncBlockerOutput,
48 codeconnections.UpdateSyncBlockerError
49 >
50 >
51> {}
52
53export const UpdateSyncBlocker = Binding.Service<UpdateSyncBlocker>(
54 "AWS.CodeConnections.UpdateSyncBlocker",
55);