@aws-cdk/integ-runner
Version:
CDK Integration Testing Tool
132 lines • 3.6 kB
TypeScript
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