import type * as synthetics from "@distilled.cloud/aws/synthetics"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Canary } from "./Canary.ts"; /** * Runtime binding for `synthetics:StartCanary` — start the bound * {@link Canary} running on its configured schedule (e.g. trigger an * on-demand smoke test after a deployment); the canary name is injected * automatically. * * Provide `Synthetics.StartCanaryHttp` on the hosting Lambda Function to * satisfy the requirement. * ### Controlling the Canary * **Example:** Start the Canary * ```typescript * // init — grants synthetics:StartCanary on the canary * const startCanary = yield* AWS.Synthetics.StartCanary(canary); * * // runtime — a ConflictException means it is already starting/running * yield* startCanary().pipe( * Effect.catchTag("ConflictException", () => Effect.void), * ); * ``` * * @binding */ export interface StartCanary extends Binding.Service Effect.Effect<() => Effect.Effect>> { } export declare const StartCanary: StartCanary; //# sourceMappingURL=StartCanary.d.ts.map