UNPKG

2.12 kBTypeScriptView Raw
1import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets';
2import { ISynthesisSession } from '../construct-compat';
3import { Stack } from '../stack';
4import { StackSynthesizer } from './stack-synthesizer';
5/**
6 * Use the CDK classic way of referencing assets
7 *
8 * This synthesizer will generate CloudFormation parameters for every referenced
9 * asset, and use the CLI's current credentials to deploy the stack.
10 *
11 * - It does not support cross-account deployment (the CLI must have credentials
12 * to the account you are trying to deploy to).
13 * - It cannot be used with **CDK Pipelines**. To deploy using CDK Pipelines,
14 * you must use the `DefaultStackSynthesizer`.
15 * - Each asset will take up a CloudFormation Parameter in your template. Keep in
16 * mind that there is a maximum of 200 parameters in a CloudFormation template.
17 * To use determinstic asset locations instead, use `CliCredentialsStackSynthesizer`.
18 *
19 * Be aware that your CLI credentials must be valid for the duration of the
20 * entire deployment. If you are using session credentials, make sure the
21 * session lifetime is long enough.
22 *
23 * This is the only StackSynthesizer that supports customizing asset behavior
24 * by overriding `Stack.addFileAsset()` and `Stack.addDockerImageAsset()`.
25 */
26export declare class LegacyStackSynthesizer extends StackSynthesizer {
27 private stack?;
28 private cycle;
29 /**
30 * Includes all parameters synthesized for assets (lazy).
31 */
32 private _assetParameters?;
33 /**
34 * The image ID of all the docker image assets that were already added to this
35 * stack (to avoid duplication).
36 */
37 private readonly addedImageAssets;
38 bind(stack: Stack): void;
39 addFileAsset(asset: FileAssetSource): FileAssetLocation;
40 addDockerImageAsset(asset: DockerImageAssetSource): DockerImageAssetLocation;
41 /**
42 * Synthesize the associated stack to the session
43 */
44 synthesize(session: ISynthesisSession): void;
45 private doAddDockerImageAsset;
46 private doAddFileAsset;
47 private get assetParameters();
48}