import type * as cloudcontrol from "@distilled.cloud/aws/cloudcontrol"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { CloudControlBindingOptions } from "./BindingOptions.ts"; /** * Runtime binding for `cloudformation:GetResource`. * * Reads the current state of any Cloud Control-supported resource — whether * or not it was provisioned through Cloud Control. Because Cloud Control * invokes the resource type's read handler with the caller's credentials, * pass the handler's underlying permissions via * {@link CloudControlBindingOptions.handlerPolicyStatements}. * ### Reading Resources * **Example:** Read an SSM Parameter's live state * ```typescript * // init — account-level; grant the read handler's permissions too * const getResource = yield* CloudControl.GetResource({ * handlerPolicyStatements: [ * { Effect: "Allow", Action: ["ssm:GetParameters"], Resource: ["*"] }, * ], * }); * * // runtime * const result = yield* getResource({ * TypeName: "AWS::SSM::Parameter", * Identifier: "/app/greeting", * }); * ``` * * @binding */ export interface GetResource extends Binding.Service Effect.Effect<(request: cloudcontrol.GetResourceInput) => Effect.Effect>> { } export declare const GetResource: GetResource; //# sourceMappingURL=GetResource.d.ts.map