import type * as appconfig from "@distilled.cloud/aws/appconfig"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Application } from "./Application.ts"; import type { ConfigurationProfile } from "./ConfigurationProfile.ts"; export interface ValidateConfigurationRequest extends Omit { } /** * Validate a configuration version against a configuration profile's * validators from a Lambda (or other AWS runtime). Pairs with * {@link CreateHostedConfigurationVersion} + {@link StartDeployment}: write * the new content, validate it, then roll it out. Fails with a typed * `BadRequestException` when a validator rejects the content; succeeds with * an empty response when validation passes (including when the profile has * no validators). * * Provide `AppConfig.ValidateConfigurationHttp` on the hosting function's * Effect to implement the binding. * * ### Writing Configuration at Runtime * **Example:** Validate a version before deploying it * ```typescript * const validate = yield* AppConfig.ValidateConfiguration(app, profile); * yield* validate({ ConfigurationVersion: "2" }); * ``` * * @binding */ export interface ValidateConfiguration extends Binding.Service Effect.Effect<(request: ValidateConfigurationRequest) => Effect.Effect>> { } export declare const ValidateConfiguration: ValidateConfiguration; //# sourceMappingURL=ValidateConfiguration.d.ts.map