1import type * as appregistry from "@distilled.cloud/aws/service-catalog-appregistry";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Application } from "./Application.ts";
5
6/**
7 * Runtime binding for `servicecatalog:GetApplication`.
8 *
9 * Reads the bound application's metadata — description, tags, the
10 * `awsApplication` tag value, integrations, and the associated resource
11 * count. Provide the implementation with
12 * `Effect.provide(AWS.AppRegistry.GetApplicationHttp)`.
13 * ### Reading Application Metadata
14 * **Example:** Read the Application at Runtime
15 * ```typescript
16 * // init — bind the operation to the application
17 * const getApplication = yield* AWS.AppRegistry.GetApplication(app);
18 *
19 * // runtime
20 * const details = yield* getApplication();
21 * console.log(details.name, details.associatedResourceCount);
22 * ```
23 *
24 * @binding
25 */
26export interface GetApplication extends Binding.Service<
27 GetApplication,
28 "AWS.AppRegistry.GetApplication",
29 (
30 application: Application,
31 ) => Effect.Effect<
32 () => Effect.Effect<
33 appregistry.GetApplicationResponse,
34 appregistry.GetApplicationError
35 >
36 >
37> {}
38
39export const GetApplication = Binding.Service<GetApplication>(
40 "AWS.AppRegistry.GetApplication",
41);