-
Notifications
You must be signed in to change notification settings - Fork 3.7k
/
schema.ts
140 lines (121 loc) · 2.92 KB
/
schema.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import { ArtifactProperties } from './artifact-schema';
import { ContextProvider, ContextQueryProperties } from './context-queries';
import { MetadataEntry } from './metadata-schema';
/**
* Type of cloud artifact.
*/
export enum ArtifactType {
/**
* Stub required because of JSII.
*/
NONE = 'none', // required due to a jsii bug
/**
* The artifact is an AWS CloudFormation stack.
*/
AWS_CLOUDFORMATION_STACK = 'aws:cloudformation:stack',
/**
* The artifact contains the CDK application's construct tree.
*/
CDK_TREE = 'cdk:tree',
/**
* Manifest for all assets in the Cloud Assembly
*/
ASSET_MANIFEST = 'cdk:asset-manifest',
/**
* Nested Cloud Assembly
*/
NESTED_CLOUD_ASSEMBLY = 'cdk:cloud-assembly',
}
/**
* Information about the application's runtime components.
*/
export interface RuntimeInfo {
/**
* The list of libraries loaded in the application, associated with their versions.
*/
readonly libraries: { [name: string]: string };
}
/**
* Represents a missing piece of context.
*/
export interface MissingContext {
/**
* The missing context key.
*/
readonly key: string;
/**
* The provider from which we expect this context key to be obtained.
*/
readonly provider: ContextProvider;
/**
* A set of provider-specific options.
*/
readonly props: ContextQueryProperties;
}
/**
* A manifest for a single artifact within the cloud assembly.
*/
export interface ArtifactManifest {
/**
* The type of artifact.
*/
readonly type: ArtifactType;
/**
* The environment into which this artifact is deployed.
*
* @default - no envrionment.
*/
readonly environment?: string; // format: aws://account/region
/**
* Associated metadata.
*
* @default - no metadata.
*/
readonly metadata?: { [path: string]: MetadataEntry[] };
/**
* IDs of artifacts that must be deployed before this artifact.
*
* @default - no dependencies.
*/
readonly dependencies?: string[];
/**
* The set of properties for this artifact (depends on type)
*
* @default - no properties.
*/
readonly properties?: ArtifactProperties;
/**
* A string that represents this artifact. Should only be used in user interfaces.
*
* @default - no display name
*/
readonly displayName?: string;
}
/**
* A manifest which describes the cloud assembly.
*/
export interface AssemblyManifest {
/**
* Protocol version
*/
readonly version: string;
/**
* The set of artifacts in this assembly.
*
* @default - no artifacts.
*/
readonly artifacts?: { [id: string]: ArtifactManifest };
/**
* Missing context information. If this field has values, it means that the
* cloud assembly is not complete and should not be deployed.
*
* @default - no missing context.
*/
readonly missing?: MissingContext[];
/**
* Runtime information.
*
* @default - no info.
*/
readonly runtime?: RuntimeInfo;
}