1import type * as appintegrations from "@distilled.cloud/aws/appintegrations";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { DataIntegration } from "./DataIntegration.ts";
5
6export interface UpdateDataIntegrationAssociationRequest extends Omit<
7 appintegrations.UpdateDataIntegrationAssociationRequest,
8 "DataIntegrationIdentifier"
9> {}
10
11/**
12 * Updates an association of an AppIntegrations {@link DataIntegration}
13 * (`app-integrations:UpdateDataIntegrationAssociation`). Updating an
14 * association with an `ON_DEMAND` `ExecutionConfiguration` reruns the
15 * on-demand data-pull job — this is the data-plane trigger for pulling
16 * source data again.
17 *
18 * Provide the `UpdateDataIntegrationAssociationHttp` layer on the Function to
19 * satisfy the binding.
20 * ### Updating Data Integration Associations
21 * **Example:** Rerun an On-Demand Data Pull
22 * ```typescript
23 * // init (provide AWS.AppIntegrations.UpdateDataIntegrationAssociationHttp on the Function)
24 * const updateDataIntegrationAssociation =
25 * yield* AWS.AppIntegrations.UpdateDataIntegrationAssociation(integration);
26 *
27 * // runtime — the DataIntegrationIdentifier is injected automatically
28 * yield* updateDataIntegrationAssociation({
29 * DataIntegrationAssociationIdentifier: associationId,
30 * ExecutionConfiguration: {
31 * ExecutionMode: "ON_DEMAND",
32 * OnDemandConfiguration: { StartTime: startEpochMillis },
33 * },
34 * });
35 * ```
36 *
37 * @binding
38 */
39export interface UpdateDataIntegrationAssociation extends Binding.Service<
40 UpdateDataIntegrationAssociation,
41 "AWS.AppIntegrations.UpdateDataIntegrationAssociation",
42 <R extends DataIntegration>(
43 integration: R,
44 ) => Effect.Effect<
45 (
46 request: UpdateDataIntegrationAssociationRequest,
47 ) => Effect.Effect<
48 appintegrations.UpdateDataIntegrationAssociationResponse,
49 appintegrations.UpdateDataIntegrationAssociationError
50 >
51 >
52> {}
53export const UpdateDataIntegrationAssociation =
54 Binding.Service<UpdateDataIntegrationAssociation>(
55 "AWS.AppIntegrations.UpdateDataIntegrationAssociation",
56 );