1import type * as SVC from "@distilled.cloud/aws/codedeploy";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Application } from "./Application.ts";
5
6export interface GetApplicationRevisionRequest extends Omit<
7 SVC.GetApplicationRevisionInput,
8 "applicationName"
9> {}
10
11/**
12 * Runtime binding for `codedeploy:GetApplicationRevision` — reads a
13 * registered revision's metadata (description, deployment groups it was
14 * deployed to, first-seen time).
15 * ### Managing Revisions
16 * **Example:** Read a Revision
17 * ```typescript
18 * const getApplicationRevision =
19 * yield* AWS.CodeDeploy.GetApplicationRevision(app);
20 *
21 * const { revisionInfo } = yield* getApplicationRevision({
22 * revision: {
23 * revisionType: "S3",
24 * s3Location: { bucket, key, bundleType: "zip" },
25 * },
26 * });
27 * ```
28 *
29 * @binding
30 */
31export interface GetApplicationRevision extends Binding.Service<
32 GetApplicationRevision,
33 "AWS.CodeDeploy.GetApplicationRevision",
34 <P extends Application>(
35 application: P,
36 ) => Effect.Effect<
37 (
38 request: GetApplicationRevisionRequest,
39 ) => Effect.Effect<
40 SVC.GetApplicationRevisionOutput,
41 SVC.GetApplicationRevisionError
42 >
43 >
44> {}
45export const GetApplicationRevision = Binding.Service<GetApplicationRevision>(
46 "AWS.CodeDeploy.GetApplicationRevision",
47);