UNPKG

@aws-cdk/integ-runner

Version:

CDK Integration Testing Tool

132 lines 3.6 kB
import type { DeployOptions, DestroyOptions, ICdk, ListOptions, SynthOptions, WatchEvents, WatchOptions } from './cdk-interface'; export interface ToolkitLibEngineOptions { /** * The directory to run the cdk commands from */ readonly workingDirectory: string; /** * Additional environment variables to set * in the execution environment that will be running * the cdk app * * @default - no additional env vars */ readonly env?: { [name: string]: string; }; /** * Show the output from running the CDK CLI * * @default false */ readonly showOutput?: boolean; /** * The region the CDK app should synthesize itself for */ readonly region: string; /** * The AWS profile to use when authenticating * * @default - no profile is passed, the default profile is used */ readonly profile?: string; /** * Use the indicated proxy * * @default - no proxy, ProxyAgent auto-detects from environment variables */ readonly proxy?: string; /** * Path to CA certificate to use when validating HTTPS requests * * @default - no additional CA bundle */ readonly caBundlePath?: string; } /** * Per-action options that can override the engine defaults. */ export interface ActionOptions { /** * The AWS profile to use */ readonly profile?: string; /** * Use the indicated proxy */ readonly proxy?: string; /** * Path to CA certificate to use when validating HTTPS requests */ readonly caBundlePath?: string; } /** * A runner engine powered directly by the toolkit-lib */ export declare class ToolkitLibRunnerEngine implements ICdk { private readonly toolkit; private readonly options; private readonly showOutput; private readonly ioHost; private readonly toolkitCache; constructor(options: ToolkitLibEngineOptions); /** * Get or create a Toolkit instance for the given action options. * Caches instances by their resolved configuration to avoid creating * duplicate Toolkit instances for identical settings. */ private getOrCreateToolkit; /** * Synthesizes the CDK app */ synth(options: SynthOptions): Promise<void>; /** * Lists the stacks in the CDK app */ list(options: ListOptions): Promise<string[]>; /** * Deploys the CDK app */ deploy(options: DeployOptions): Promise<void>; /** * Watches the CDK app for changes and deploys them automatically */ watch(options: WatchOptions, events?: WatchEvents): Promise<void>; /** * Destroys the CDK app */ destroy(options: DestroyOptions): Promise<void>; /** * Creates a Cloud Assembly Source from the provided options. */ private cx; /** * Creates a StackSelector from the provided options. */ private stackSelector; /** * Check that the regions for the stacks in the CloudAssembly match the regions requested on the engine * * This prevents misconfiguration of the integ test app. People tend to put: * * ```ts * new Stack(app, 'Stack', { * env: { * region: 'some-region-that-suits-me', * } * }); * ``` * * Into their integ tests, instead of: * * ```ts * { * region: process.env.CDK_DEFAULT_REGION, * } * ``` * * This catches that misconfiguration. */ private validateRegion; } //# sourceMappingURL=toolkit-lib.d.ts.map