aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
52 lines (51 loc) • 1.82 kB
TypeScript
import type * as cxapi from '@aws-cdk/cx-api';
import { CloudAssembly } from './cloud-assembly';
import type { ICloudAssemblySource, IReadableCloudAssembly } from '../../../@aws-cdk/toolkit-lib/lib/api/cloud-assembly';
import type { SdkProvider } from '../api/aws-auth';
import { type IoHelper } from '../api-private';
import type { Configuration } from '../cli/user-configuration';
/**
* @returns output directory
*/
export type Synthesizer = (aws: SdkProvider, config: Configuration) => Promise<cxapi.CloudAssembly>;
export interface CloudExecutableProps {
/**
* Application configuration (settings and context)
*/
configuration: Configuration;
/**
* AWS object (used by synthesizer and contextprovider)
*/
sdkProvider: SdkProvider;
/**
* Messaging helper
*/
ioHelper: IoHelper;
/**
* Callback invoked to synthesize the actual stacks
*/
synthesizer: Synthesizer;
}
/**
* Represent the Cloud Executable and the synthesis we can do on it
*/
export declare class CloudExecutable implements ICloudAssemblySource {
private readonly props;
private _cloudAssembly?;
constructor(props: CloudExecutableProps);
produce(): Promise<IReadableCloudAssembly>;
/**
* Return whether there is an app command from the configuration
*/
get hasApp(): boolean;
/**
* Synthesize a set of stacks.
*
* @param cacheCloudAssembly whether to cache the Cloud Assembly after it has been first synthesized.
* This is 'true' by default, and only set to 'false' for 'cdk watch',
* which needs to re-synthesize the Assembly each time it detects a change to the project files
*/
synthesize(cacheCloudAssembly?: boolean): Promise<CloudAssembly>;
private doSynthesize;
private get canLookup();
}