1 | import { DockerImageAssetLocation, DockerImageAssetSource, FileAssetLocation, FileAssetSource } from '../assets';
|
2 | import { ISynthesisSession } from '../construct-compat';
|
3 | import { Stack } from '../stack';
|
4 | /**
|
5 | * Encodes information how a certain Stack should be deployed
|
6 | */
|
7 | export interface IStackSynthesizer {
|
8 | /**
|
9 | * Bind to the stack this environment is going to be used on
|
10 | *
|
11 | * Must be called before any of the other methods are called.
|
12 | */
|
13 | bind(stack: Stack): void;
|
14 | /**
|
15 | * Register a File Asset
|
16 | *
|
17 | * Returns the parameters that can be used to refer to the asset inside the template.
|
18 | */
|
19 | addFileAsset(asset: FileAssetSource): FileAssetLocation;
|
20 | /**
|
21 | * Register a Docker Image Asset
|
22 | *
|
23 | * Returns the parameters that can be used to refer to the asset inside the template.
|
24 | */
|
25 | addDockerImageAsset(asset: DockerImageAssetSource): DockerImageAssetLocation;
|
26 | /**
|
27 | * Synthesize the associated stack to the session
|
28 | */
|
29 | synthesize(session: ISynthesisSession): void;
|
30 | }
|