@aws-cdk/cloud-assembly-schema 2.18.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1536 -49
- package/.jsii.tabl.json +658 -1
- package/.warnings.jsii.js +266 -98
- package/NOTICE +0 -17
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/integ-tests/commands/common.d.ts +178 -0
- package/lib/integ-tests/commands/common.js +22 -0
- package/lib/integ-tests/commands/deploy.d.ts +86 -0
- package/lib/integ-tests/commands/deploy.js +3 -0
- package/lib/integ-tests/commands/destroy.d.ts +18 -0
- package/lib/integ-tests/commands/destroy.js +3 -0
- package/lib/integ-tests/commands/index.d.ts +3 -0
- package/lib/integ-tests/commands/index.js +16 -0
- package/lib/integ-tests/index.d.ts +3 -0
- package/lib/integ-tests/index.js +16 -0
- package/lib/integ-tests/schema.d.ts +25 -0
- package/lib/integ-tests/schema.js +3 -0
- package/lib/integ-tests/test-case.d.ts +173 -0
- package/lib/integ-tests/test-case.js +3 -0
- package/lib/manifest.d.ts +14 -0
- package/lib/manifest.js +75 -7
- package/node_modules/lru-cache/LICENSE +1 -1
- package/node_modules/lru-cache/README.md +632 -99
- package/node_modules/lru-cache/index.js +732 -251
- package/node_modules/lru-cache/package.json +17 -7
- package/node_modules/semver/README.md +3 -1
- package/node_modules/semver/bin/semver.js +17 -8
- package/node_modules/semver/classes/comparator.js +3 -2
- package/node_modules/semver/classes/index.js +1 -1
- package/node_modules/semver/classes/range.js +31 -22
- package/node_modules/semver/functions/cmp.js +8 -4
- package/node_modules/semver/functions/coerce.js +3 -2
- package/node_modules/semver/functions/parse.js +1 -1
- package/node_modules/semver/internal/constants.js +2 -2
- package/node_modules/semver/internal/identifiers.js +1 -1
- package/node_modules/semver/internal/parse-options.js +3 -3
- package/node_modules/semver/internal/re.js +3 -3
- package/node_modules/semver/package.json +46 -13
- package/node_modules/semver/ranges/min-version.js +2 -1
- package/node_modules/semver/ranges/outside.js +1 -1
- package/node_modules/semver/ranges/simplify.js +15 -12
- package/node_modules/semver/ranges/subset.js +53 -31
- package/package.json +5 -5
- package/schema/cloud-assembly.version.json +1 -1
- package/schema/integ.schema.json +474 -0
- package/scripts/update-schema.js +2 -1
- package/node_modules/semver/CHANGELOG.md +0 -111
- package/node_modules/yallist/LICENSE +0 -15
- package/node_modules/yallist/README.md +0 -204
- package/node_modules/yallist/iterator.js +0 -8
- package/node_modules/yallist/package.json +0 -29
- package/node_modules/yallist/yallist.js +0 -426
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In what scenarios should the CLI ask for approval
|
|
3
|
+
*/
|
|
4
|
+
export declare enum RequireApproval {
|
|
5
|
+
/**
|
|
6
|
+
* Never ask for approval
|
|
7
|
+
*/
|
|
8
|
+
NEVER = "never",
|
|
9
|
+
/**
|
|
10
|
+
* Prompt for approval for any type of change to the stack
|
|
11
|
+
*/
|
|
12
|
+
ANYCHANGE = "any-change",
|
|
13
|
+
/**
|
|
14
|
+
* Only prompt for approval if there are security related changes
|
|
15
|
+
*/
|
|
16
|
+
BROADENING = "broadening"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Default CDK CLI options that apply to all commands
|
|
20
|
+
*/
|
|
21
|
+
export interface DefaultCdkOptions {
|
|
22
|
+
/**
|
|
23
|
+
* List of stacks to deploy
|
|
24
|
+
*
|
|
25
|
+
* Requried if `all` is not set
|
|
26
|
+
*
|
|
27
|
+
* @default - []
|
|
28
|
+
*/
|
|
29
|
+
readonly stacks?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Deploy all stacks
|
|
32
|
+
*
|
|
33
|
+
* Requried if `stacks` is not set
|
|
34
|
+
*
|
|
35
|
+
* @default - false
|
|
36
|
+
*/
|
|
37
|
+
readonly all?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* command-line for executing your app or a cloud assembly directory
|
|
40
|
+
* e.g. "node bin/my-app.js"
|
|
41
|
+
* or
|
|
42
|
+
* "cdk.out"
|
|
43
|
+
*
|
|
44
|
+
* @default - read from cdk.json
|
|
45
|
+
*/
|
|
46
|
+
readonly app?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Role to pass to CloudFormation for deployment
|
|
49
|
+
*
|
|
50
|
+
* @default - use the bootstrap cfn-exec role
|
|
51
|
+
*/
|
|
52
|
+
readonly roleArn?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Additional context
|
|
55
|
+
*
|
|
56
|
+
* @default - no additional context
|
|
57
|
+
*/
|
|
58
|
+
readonly context?: {
|
|
59
|
+
[name: string]: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Print trace for stack warnings
|
|
63
|
+
*
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
readonly trace?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Do not construct stacks with warnings
|
|
69
|
+
*
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
readonly strict?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Perform context lookups.
|
|
75
|
+
*
|
|
76
|
+
* Synthesis fails if this is disabled and context lookups need
|
|
77
|
+
* to be performed
|
|
78
|
+
*
|
|
79
|
+
* @default true
|
|
80
|
+
*/
|
|
81
|
+
readonly lookups?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Ignores synthesis errors, which will likely produce an invalid output
|
|
84
|
+
*
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
87
|
+
readonly ignoreErrors?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Use JSON output instead of YAML when templates are printed
|
|
90
|
+
* to STDOUT
|
|
91
|
+
*
|
|
92
|
+
* @default false
|
|
93
|
+
*/
|
|
94
|
+
readonly json?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* show debug logs
|
|
97
|
+
*
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
readonly verbose?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* enable emission of additional debugging information, such as creation stack
|
|
103
|
+
* traces of tokens
|
|
104
|
+
*
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
readonly debug?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Use the indicated AWS profile as the default environment
|
|
110
|
+
*
|
|
111
|
+
* @default - no profile is used
|
|
112
|
+
*/
|
|
113
|
+
readonly profile?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Use the indicated proxy. Will read from
|
|
116
|
+
* HTTPS_PROXY environment if specified
|
|
117
|
+
*
|
|
118
|
+
* @default - no proxy
|
|
119
|
+
*/
|
|
120
|
+
readonly proxy?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Path to CA certificate to use when validating HTTPS
|
|
123
|
+
* requests.
|
|
124
|
+
*
|
|
125
|
+
* @default - read from AWS_CA_BUNDLE environment variable
|
|
126
|
+
*/
|
|
127
|
+
readonly caBundlePath?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Force trying to fetch EC2 instance credentials
|
|
130
|
+
*
|
|
131
|
+
* @default - guess EC2 instance status
|
|
132
|
+
*/
|
|
133
|
+
readonly ec2Creds?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Include "AWS::CDK::Metadata" resource in synthesized templates
|
|
136
|
+
*
|
|
137
|
+
* @default true
|
|
138
|
+
*/
|
|
139
|
+
readonly versionReporting?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Include "aws:cdk:path" CloudFormation metadata for each resource
|
|
142
|
+
*
|
|
143
|
+
* @default true
|
|
144
|
+
*/
|
|
145
|
+
readonly pathMetadata?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Include "aws:asset:*" CloudFormation metadata for resources that use assets
|
|
148
|
+
*
|
|
149
|
+
* @default true
|
|
150
|
+
*/
|
|
151
|
+
readonly assetMetadata?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Copy assets to the output directory
|
|
154
|
+
*
|
|
155
|
+
* Needed for local debugging the source files with SAM CLI
|
|
156
|
+
*
|
|
157
|
+
* @default false
|
|
158
|
+
*/
|
|
159
|
+
readonly staging?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Emits the synthesized cloud assembly into a directory
|
|
162
|
+
*
|
|
163
|
+
* @default cdk.out
|
|
164
|
+
*/
|
|
165
|
+
readonly output?: string;
|
|
166
|
+
/**
|
|
167
|
+
* Show relevant notices
|
|
168
|
+
*
|
|
169
|
+
* @default true
|
|
170
|
+
*/
|
|
171
|
+
readonly notices?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Show colors and other style from console output
|
|
174
|
+
*
|
|
175
|
+
* @default true
|
|
176
|
+
*/
|
|
177
|
+
readonly color?: boolean;
|
|
178
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequireApproval = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* In what scenarios should the CLI ask for approval
|
|
6
|
+
*/
|
|
7
|
+
var RequireApproval;
|
|
8
|
+
(function (RequireApproval) {
|
|
9
|
+
/**
|
|
10
|
+
* Never ask for approval
|
|
11
|
+
*/
|
|
12
|
+
RequireApproval["NEVER"] = "never";
|
|
13
|
+
/**
|
|
14
|
+
* Prompt for approval for any type of change to the stack
|
|
15
|
+
*/
|
|
16
|
+
RequireApproval["ANYCHANGE"] = "any-change";
|
|
17
|
+
/**
|
|
18
|
+
* Only prompt for approval if there are security related changes
|
|
19
|
+
*/
|
|
20
|
+
RequireApproval["BROADENING"] = "broadening";
|
|
21
|
+
})(RequireApproval = exports.RequireApproval || (exports.RequireApproval = {}));
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsSUFBWSxlQWVYO0FBZkQsV0FBWSxlQUFlO0lBQ3pCOztPQUVHO0lBQ0gsa0NBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQXdCLENBQUE7SUFFeEI7O09BRUc7SUFDSCw0Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBZlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFlMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluIHdoYXQgc2NlbmFyaW9zIHNob3VsZCB0aGUgQ0xJIGFzayBmb3IgYXBwcm92YWxcbiAqL1xuZXhwb3J0IGVudW0gUmVxdWlyZUFwcHJvdmFsIHtcbiAgLyoqXG4gICAqIE5ldmVyIGFzayBmb3IgYXBwcm92YWxcbiAgICovXG4gIE5FVkVSID0gJ25ldmVyJyxcblxuICAvKipcbiAgICogUHJvbXB0IGZvciBhcHByb3ZhbCBmb3IgYW55IHR5cGUgIG9mIGNoYW5nZSB0byB0aGUgc3RhY2tcbiAgICovXG4gIEFOWUNIQU5HRSA9ICdhbnktY2hhbmdlJyxcblxuICAvKipcbiAgICogT25seSBwcm9tcHQgZm9yIGFwcHJvdmFsIGlmIHRoZXJlIGFyZSBzZWN1cml0eSByZWxhdGVkIGNoYW5nZXNcbiAgICovXG4gIEJST0FERU5JTkcgPSAnYnJvYWRlbmluZydcbn1cblxuLyoqXG4gKiBEZWZhdWx0IENESyBDTEkgb3B0aW9ucyB0aGF0IGFwcGx5IHRvIGFsbCBjb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3RhY2tzIHRvIGRlcGxveVxuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgYWxsYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gW11cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZXBsb3kgYWxsIHN0YWNrc1xuICAgKlxuICAgKiBSZXF1cmllZCBpZiBgc3RhY2tzYCBpcyBub3Qgc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGNvbW1hbmQtbGluZSBmb3IgZXhlY3V0aW5nIHlvdXIgYXBwIG9yIGEgY2xvdWQgYXNzZW1ibHkgZGlyZWN0b3J5XG4gICAqIGUuZy4gXCJub2RlIGJpbi9teS1hcHAuanNcIlxuICAgKiBvclxuICAgKiBcImNkay5vdXRcIlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJlYWQgZnJvbSBjZGsuanNvblxuICAgKi9cbiAgcmVhZG9ubHkgYXBwPzogc3RyaW5nO1xuXG5cbiAgLyoqXG4gICAqIFJvbGUgdG8gcGFzcyB0byBDbG91ZEZvcm1hdGlvbiBmb3IgZGVwbG95bWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgYm9vdHN0cmFwIGNmbi1leGVjIHJvbGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dD86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQcmludCB0cmFjZSBmb3Igc3RhY2sgd2FybmluZ3NcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRG8gbm90IGNvbnN0cnVjdCBzdGFja3Mgd2l0aCB3YXJuaW5nc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGVyZm9ybSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFN5bnRoZXNpcyBmYWlscyBpZiB0aGlzIGlzIGRpc2FibGVkIGFuZCBjb250ZXh0IGxvb2t1cHMgbmVlZFxuICAgKiB0byBiZSBwZXJmb3JtZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3Vwcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgKiBJZ25vcmVzIHN5bnRoZXNpcyBlcnJvcnMsIHdoaWNoIHdpbGwgbGlrZWx5IHByb2R1Y2UgYW4gaW52YWxpZCBvdXRwdXRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUVycm9ycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBKU09OIG91dHB1dCBpbnN0ZWFkIG9mIFlBTUwgd2hlbiB0ZW1wbGF0ZXMgYXJlIHByaW50ZWRcbiAgICogdG8gU1RET1VUXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBqc29uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogc2hvdyBkZWJ1ZyBsb2dzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogZW5hYmxlIGVtaXNzaW9uIG9mIGFkZGl0aW9uYWwgZGVidWdnaW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIGNyZWF0aW9uIHN0YWNrXG4gICAqIHRyYWNlcyBvZiB0b2tlbnNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlYnVnPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHRoZSBpbmRpY2F0ZWQgQVdTIHByb2ZpbGUgYXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9maWxlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgaW5kaWNhdGVkIHByb3h5LiBXaWxsIHJlYWQgZnJvbVxuICAgKiBIVFRQU19QUk9YWSBlbnZpcm9ubWVudCBpZiBzcGVjaWZpZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm94eVxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gQ0EgY2VydGlmaWNhdGUgdG8gdXNlIHdoZW4gdmFsaWRhdGluZyBIVFRQU1xuICAgKiByZXF1ZXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSByZWFkIGZyb20gQVdTX0NBX0JVTkRMRSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FCdW5kbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGb3JjZSB0cnlpbmcgdG8gZmV0Y2ggRUMyIGluc3RhbmNlIGNyZWRlbnRpYWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ3Vlc3MgRUMyIGluc3RhbmNlIHN0YXR1c1xuICAgKi9cbiAgcmVhZG9ubHkgZWMyQ3JlZHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiQVdTOjpDREs6Ok1ldGFkYXRhXCIgcmVzb3VyY2UgaW4gc3ludGhlc2l6ZWQgdGVtcGxhdGVzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25SZXBvcnRpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIFwiYXdzOmNkazpwYXRoXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggcmVzb3VyY2VcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aE1ldGFkYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5jbHVkZSBcImF3czphc3NldDoqXCIgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIHJlc291cmNlcyB0aGF0IHVzZSBhc3NldHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRNZXRhZGF0YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvcHkgYXNzZXRzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5XG4gICAqXG4gICAqIE5lZWRlZCBmb3IgbG9jYWwgZGVidWdnaW5nIHRoZSBzb3VyY2UgZmlsZXMgd2l0aCBTQU0gQ0xJXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHN5bnRoZXNpemVkIGNsb3VkIGFzc2VtYmx5IGludG8gYSBkaXJlY3RvcnlcbiAgICpcbiAgICogQGRlZmF1bHQgY2RrLm91dFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlbGV2YW50IG5vdGljZXNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgY29sb3JzIGFuZCBvdGhlciBzdHlsZSBmcm9tIGNvbnNvbGUgb3V0cHV0XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { DefaultCdkOptions, RequireApproval } from './common';
|
|
2
|
+
/**
|
|
3
|
+
* Options to use with cdk deploy
|
|
4
|
+
*/
|
|
5
|
+
export interface DeployOptions extends DefaultCdkOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Only perform action on the given stack
|
|
8
|
+
*
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
readonly exclusively?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Name of the toolkit stack to use/deploy
|
|
14
|
+
*
|
|
15
|
+
* @default CDKToolkit
|
|
16
|
+
*/
|
|
17
|
+
readonly toolkitStackName?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Reuse the assets with the given asset IDs
|
|
20
|
+
*
|
|
21
|
+
* @default - do not reuse assets
|
|
22
|
+
*/
|
|
23
|
+
readonly reuseAssets?: string[];
|
|
24
|
+
/**
|
|
25
|
+
* Optional name to use for the CloudFormation change set.
|
|
26
|
+
* If not provided, a name will be generated automatically.
|
|
27
|
+
*
|
|
28
|
+
* @default - auto generate a name
|
|
29
|
+
*/
|
|
30
|
+
readonly changeSetName?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Always deploy, even if templates are identical.
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
readonly force?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Rollback failed deployments
|
|
38
|
+
*
|
|
39
|
+
* @default true
|
|
40
|
+
*/
|
|
41
|
+
readonly rollback?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* ARNs of SNS topics that CloudFormation will notify with stack related events
|
|
44
|
+
*
|
|
45
|
+
* @default - no notifications
|
|
46
|
+
*/
|
|
47
|
+
readonly notificationArns?: string[];
|
|
48
|
+
/**
|
|
49
|
+
* What kind of security changes require approval
|
|
50
|
+
*
|
|
51
|
+
* @default RequireApproval.Never
|
|
52
|
+
*/
|
|
53
|
+
readonly requireApproval?: RequireApproval;
|
|
54
|
+
/**
|
|
55
|
+
* Whether to execute the ChangeSet
|
|
56
|
+
* Not providing `execute` parameter will result in execution of ChangeSet
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
readonly execute?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Additional parameters for CloudFormation at deploy time
|
|
62
|
+
* @default {}
|
|
63
|
+
*/
|
|
64
|
+
readonly parameters?: {
|
|
65
|
+
[name: string]: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Use previous values for unspecified parameters
|
|
69
|
+
*
|
|
70
|
+
* If not set, all parameters must be specified for every deployment.
|
|
71
|
+
*
|
|
72
|
+
* @default true
|
|
73
|
+
*/
|
|
74
|
+
readonly usePreviousParameters?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Path to file where stack outputs will be written after a successful deploy as JSON
|
|
77
|
+
* @default - Outputs are not written to any file
|
|
78
|
+
*/
|
|
79
|
+
readonly outputsFile?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Whether we are on a CI system
|
|
82
|
+
*
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
readonly ci?: boolean;
|
|
86
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwbG95LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0Q2RrT3B0aW9ucywgUmVxdWlyZUFwcHJvdmFsIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIHdpdGggY2RrIGRlcGxveVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveU9wdGlvbnMgZXh0ZW5kcyBEZWZhdWx0Q2RrT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPbmx5IHBlcmZvcm0gYWN0aW9uIG9uIHRoZSBnaXZlbiBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVzaXZlbHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0b29sa2l0IHN0YWNrIHRvIHVzZS9kZXBsb3lcbiAgICpcbiAgICogQGRlZmF1bHQgQ0RLVG9vbGtpdFxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbGtpdFN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUmV1c2UgdGhlIGFzc2V0cyB3aXRoIHRoZSBnaXZlbiBhc3NldCBJRHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgcmV1c2UgYXNzZXRzXG4gICAqL1xuICByZWFkb25seSByZXVzZUFzc2V0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBuYW1lIHRvIHVzZSBmb3IgdGhlIENsb3VkRm9ybWF0aW9uIGNoYW5nZSBzZXQuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0byBnZW5lcmF0ZSBhIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZVNldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsd2F5cyBkZXBsb3ksIGV2ZW4gaWYgdGVtcGxhdGVzIGFyZSBpZGVudGljYWwuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJvbGxiYWNrIGZhaWxlZCBkZXBsb3ltZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByb2xsYmFjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFSTnMgb2YgU05TIHRvcGljcyB0aGF0IENsb3VkRm9ybWF0aW9uIHdpbGwgbm90aWZ5IHdpdGggc3RhY2sgcmVsYXRlZCBldmVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBub3RpZmljYXRpb25zXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25Bcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoYXQga2luZCBvZiBzZWN1cml0eSBjaGFuZ2VzIHJlcXVpcmUgYXBwcm92YWxcbiAgICpcbiAgICogQGRlZmF1bHQgUmVxdWlyZUFwcHJvdmFsLk5ldmVyXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlQXBwcm92YWw/OiBSZXF1aXJlQXBwcm92YWw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgQ2hhbmdlU2V0XG4gICAqIE5vdCBwcm92aWRpbmcgYGV4ZWN1dGVgIHBhcmFtZXRlciB3aWxsIHJlc3VsdCBpbiBleGVjdXRpb24gb2YgQ2hhbmdlU2V0XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFVzZSBwcmV2aW91cyB2YWx1ZXMgZm9yIHVuc3BlY2lmaWVkIHBhcmFtZXRlcnNcbiAgICpcbiAgICogSWYgbm90IHNldCwgYWxsIHBhcmFtZXRlcnMgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIGV2ZXJ5IGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHVzZVByZXZpb3VzUGFyYW1ldGVycz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gZmlsZSB3aGVyZSBzdGFjayBvdXRwdXRzIHdpbGwgYmUgd3JpdHRlbiBhZnRlciBhIHN1Y2Nlc3NmdWwgZGVwbG95IGFzIEpTT05cbiAgICogQGRlZmF1bHQgLSBPdXRwdXRzIGFyZSBub3Qgd3JpdHRlbiB0byBhbnkgZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0c0ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgd2UgYXJlIG9uIGEgQ0kgc3lzdGVtXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjaT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DefaultCdkOptions } from './common';
|
|
2
|
+
/**
|
|
3
|
+
* Options to use with cdk destroy
|
|
4
|
+
*/
|
|
5
|
+
export interface DestroyOptions extends DefaultCdkOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Do not ask for permission before destroying stacks
|
|
8
|
+
*
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
readonly force?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Only destroy the given stack
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
readonly exclusively?: boolean;
|
|
18
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlc3Ryb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRDZGtPcHRpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIHdpdGggY2RrIGRlc3Ryb3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95T3B0aW9ucyBleHRlbmRzIERlZmF1bHRDZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIERvIG5vdCBhc2sgZm9yIHBlcm1pc3Npb24gYmVmb3JlIGRlc3Ryb3lpbmcgc3RhY2tzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9ubHkgZGVzdHJveSB0aGUgZ2l2ZW4gc3RhY2tcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZWx5PzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./common"), exports);
|
|
14
|
+
__exportStar(require("./deploy"), exports);
|
|
15
|
+
__exportStar(require("./destroy"), exports);
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGVwbG95JztcbmV4cG9ydCAqIGZyb20gJy4vZGVzdHJveSc7XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./schema"), exports);
|
|
14
|
+
__exportStar(require("./commands"), exports);
|
|
15
|
+
__exportStar(require("./test-case"), exports);
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0LWNhc2UnO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { TestCase } from './test-case';
|
|
2
|
+
/**
|
|
3
|
+
* Definitions for the integration testing manifest
|
|
4
|
+
*/
|
|
5
|
+
export interface IntegManifest {
|
|
6
|
+
/**
|
|
7
|
+
* Version of the manifest
|
|
8
|
+
*/
|
|
9
|
+
readonly version: string;
|
|
10
|
+
/**
|
|
11
|
+
* Enable lookups for this test. If lookups are enabled
|
|
12
|
+
* then `stackUpdateWorkflow` must be set to false.
|
|
13
|
+
* Lookups should only be enabled when you are explicitely testing
|
|
14
|
+
* lookups.
|
|
15
|
+
*
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
readonly enableLookups?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* test cases
|
|
21
|
+
*/
|
|
22
|
+
readonly testCases: {
|
|
23
|
+
[testName: string]: TestCase;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0Q2FzZSB9IGZyb20gJy4vdGVzdC1jYXNlJztcbi8qKlxuICogRGVmaW5pdGlvbnMgZm9yIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0aW5nIG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdNYW5pZmVzdCB7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBtYW5pZmVzdFxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgbG9va3VwcyBmb3IgdGhpcyB0ZXN0LiBJZiBsb29rdXBzIGFyZSBlbmFibGVkXG4gICAqIHRoZW4gYHN0YWNrVXBkYXRlV29ya2Zsb3dgIG11c3QgYmUgc2V0IHRvIGZhbHNlLlxuICAgKiBMb29rdXBzIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgd2hlbiB5b3UgYXJlIGV4cGxpY2l0ZWx5IHRlc3RpbmdcbiAgICogbG9va3Vwcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUxvb2t1cHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiB0ZXN0IGNhc2VzXG4gICAqL1xuICByZWFkb25seSB0ZXN0Q2FzZXM6IHsgW3Rlc3ROYW1lOiBzdHJpbmddOiBUZXN0Q2FzZSB9O1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { DeployOptions, DestroyOptions } from './commands';
|
|
2
|
+
/**
|
|
3
|
+
* The set of options to control the workflow of the test runner
|
|
4
|
+
*/
|
|
5
|
+
export interface TestOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Run update workflow on this test case
|
|
8
|
+
* This should only be set to false to test scenarios
|
|
9
|
+
* that are not possible to test as part of the update workflow
|
|
10
|
+
*
|
|
11
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
readonly stackUpdateWorkflow?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Additional options to use for each CDK command
|
|
16
|
+
*
|
|
17
|
+
* @default - runner default options
|
|
18
|
+
*/
|
|
19
|
+
readonly cdkCommandOptions?: CdkCommands;
|
|
20
|
+
/**
|
|
21
|
+
* Additional commands to run at predefined points in the test workflow
|
|
22
|
+
*
|
|
23
|
+
* e.g. { postDeploy: ['yarn', 'test'] }
|
|
24
|
+
*
|
|
25
|
+
* @default - no hooks
|
|
26
|
+
*/
|
|
27
|
+
readonly hooks?: Hooks;
|
|
28
|
+
/**
|
|
29
|
+
* Whether or not to include asset hashes in the diff
|
|
30
|
+
* Asset hashes can introduces a lot of unneccessary noise into tests,
|
|
31
|
+
* but there are some cases where asset hashes _should_ be included. For example
|
|
32
|
+
* any tests involving custom resources or bundling
|
|
33
|
+
*
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
readonly diffAssets?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* List of CloudFormation resource types in this stack that can
|
|
39
|
+
* be destroyed as part of an update without failing the test.
|
|
40
|
+
*
|
|
41
|
+
* This list should only include resources that for this specific
|
|
42
|
+
* integration test we are sure will not cause errors or an outage if
|
|
43
|
+
* destroyed. For example, maybe we know that a new resource will be created
|
|
44
|
+
* first before the old resource is destroyed which prevents any outage.
|
|
45
|
+
*
|
|
46
|
+
* e.g. ['AWS::IAM::Role']
|
|
47
|
+
*
|
|
48
|
+
* @default - do not allow destruction of any resources on update
|
|
49
|
+
*/
|
|
50
|
+
readonly allowDestroy?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Limit deployment to these regions
|
|
53
|
+
*
|
|
54
|
+
* @default - can run in any region
|
|
55
|
+
*/
|
|
56
|
+
readonly regions?: string[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Represents an integration test case
|
|
60
|
+
*/
|
|
61
|
+
export interface TestCase extends TestOptions {
|
|
62
|
+
/**
|
|
63
|
+
* Stacks that should be tested as part of this test case
|
|
64
|
+
* The stackNames will be passed as args to the cdk commands
|
|
65
|
+
* so dependent stacks will be automatically deployed unless
|
|
66
|
+
* `exclusively` is passed
|
|
67
|
+
*/
|
|
68
|
+
readonly stacks: string[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Commands to run at predefined points during the
|
|
72
|
+
* integration test workflow
|
|
73
|
+
*/
|
|
74
|
+
export interface Hooks {
|
|
75
|
+
/**
|
|
76
|
+
* Commands to run prior to deploying the cdk stacks
|
|
77
|
+
* in the integration test
|
|
78
|
+
*
|
|
79
|
+
* @default - no commands
|
|
80
|
+
*/
|
|
81
|
+
readonly preDeploy?: string[];
|
|
82
|
+
/**
|
|
83
|
+
* Commands to run prior after deploying the cdk stacks
|
|
84
|
+
* in the integration test
|
|
85
|
+
*
|
|
86
|
+
* @default - no commands
|
|
87
|
+
*/
|
|
88
|
+
readonly postDeploy?: string[];
|
|
89
|
+
/**
|
|
90
|
+
* Commands to run prior to destroying the cdk stacks
|
|
91
|
+
* in the integration test
|
|
92
|
+
*
|
|
93
|
+
* @default - no commands
|
|
94
|
+
*/
|
|
95
|
+
readonly preDestroy?: string[];
|
|
96
|
+
/**
|
|
97
|
+
* Commands to run after destroying the cdk stacks
|
|
98
|
+
* in the integration test
|
|
99
|
+
*
|
|
100
|
+
* @default - no commands
|
|
101
|
+
*/
|
|
102
|
+
readonly postDestroy?: string[];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Represents a cdk command
|
|
106
|
+
* i.e. `synth`, `deploy`, & `destroy`
|
|
107
|
+
*/
|
|
108
|
+
export interface CdkCommand {
|
|
109
|
+
/**
|
|
110
|
+
* Whether or not to run this command as part of the workflow
|
|
111
|
+
* This can be used if you only want to test some of the workflow
|
|
112
|
+
* for example enable `synth` and disable `deploy` & `destroy` in order
|
|
113
|
+
* to limit the test to synthesis
|
|
114
|
+
*
|
|
115
|
+
* @default true
|
|
116
|
+
*/
|
|
117
|
+
readonly enabled?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* If the runner should expect this command to fail
|
|
120
|
+
*
|
|
121
|
+
* @default false
|
|
122
|
+
*/
|
|
123
|
+
readonly expectError?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* This can be used in combination with `expectedError`
|
|
126
|
+
* to validate that a specific message is returned.
|
|
127
|
+
*
|
|
128
|
+
* @default - do not validate message
|
|
129
|
+
*/
|
|
130
|
+
readonly expectedMessage?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Represents a cdk deploy command
|
|
134
|
+
*/
|
|
135
|
+
export interface DeployCommand extends CdkCommand {
|
|
136
|
+
/**
|
|
137
|
+
* Additional arguments to pass to the command
|
|
138
|
+
* This can be used to test specific CLI functionality
|
|
139
|
+
*
|
|
140
|
+
* @default - only default args are used
|
|
141
|
+
*/
|
|
142
|
+
readonly args?: DeployOptions;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Represents a cdk destroy command
|
|
146
|
+
*/
|
|
147
|
+
export interface DestroyCommand extends CdkCommand {
|
|
148
|
+
/**
|
|
149
|
+
* Additional arguments to pass to the command
|
|
150
|
+
* This can be used to test specific CLI functionality
|
|
151
|
+
*
|
|
152
|
+
* @default - only default args are used
|
|
153
|
+
*/
|
|
154
|
+
readonly args?: DestroyOptions;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Options for specific cdk commands that are run
|
|
158
|
+
* as part of the integration test workflow
|
|
159
|
+
*/
|
|
160
|
+
export interface CdkCommands {
|
|
161
|
+
/**
|
|
162
|
+
* Options to for the cdk deploy command
|
|
163
|
+
*
|
|
164
|
+
* @default - default deploy options
|
|
165
|
+
*/
|
|
166
|
+
readonly deploy?: DeployCommand;
|
|
167
|
+
/**
|
|
168
|
+
* Options to for the cdk destroy command
|
|
169
|
+
*
|
|
170
|
+
* @default - default destroy options
|
|
171
|
+
*/
|
|
172
|
+
readonly destroy?: DestroyCommand;
|
|
173
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1jYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXBsb3lPcHRpb25zLCBEZXN0cm95T3B0aW9ucyB9IGZyb20gJy4vY29tbWFuZHMnO1xuXG4vKipcbiAqIFRoZSBzZXQgb2Ygb3B0aW9ucyB0byBjb250cm9sIHRoZSB3b3JrZmxvdyBvZiB0aGUgdGVzdCBydW5uZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBSdW4gdXBkYXRlIHdvcmtmbG93IG9uIHRoaXMgdGVzdCBjYXNlXG4gICAqIFRoaXMgc2hvdWxkIG9ubHkgYmUgc2V0IHRvIGZhbHNlIHRvIHRlc3Qgc2NlbmFyaW9zXG4gICAqIHRoYXQgYXJlIG5vdCBwb3NzaWJsZSB0byB0ZXN0IGFzIHBhcnQgb2YgdGhlIHVwZGF0ZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzdGFja1VwZGF0ZVdvcmtmbG93PzogYm9vbGVhbjtcblxuICAvKipcbiAgICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byB1c2UgZm9yIGVhY2ggQ0RLIGNvbW1hbmRcbiAgICAqXG4gICAgKiBAZGVmYXVsdCAtIHJ1bm5lciBkZWZhdWx0IG9wdGlvbnNcbiAgICAqL1xuICByZWFkb25seSBjZGtDb21tYW5kT3B0aW9ucz86IENka0NvbW1hbmRzO1xuXG4gIC8qKlxuICAgICogQWRkaXRpb25hbCBjb21tYW5kcyB0byBydW4gYXQgcHJlZGVmaW5lZCBwb2ludHMgaW4gdGhlIHRlc3Qgd29ya2Zsb3dcbiAgICAqXG4gICAgKiBlLmcuIHsgcG9zdERlcGxveTogWyd5YXJuJywgJ3Rlc3QnXSB9XG4gICAgKlxuICAgICogQGRlZmF1bHQgLSBubyBob29rc1xuICAgICovXG4gIHJlYWRvbmx5IGhvb2tzPzogSG9va3M7XG5cbiAgLyoqXG4gICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGFzc2V0IGhhc2hlcyBpbiB0aGUgZGlmZlxuICAgICogQXNzZXQgaGFzaGVzIGNhbiBpbnRyb2R1Y2VzIGEgbG90IG9mIHVubmVjY2Vzc2FyeSBub2lzZSBpbnRvIHRlc3RzLFxuICAgICogYnV0IHRoZXJlIGFyZSBzb21lIGNhc2VzIHdoZXJlIGFzc2V0IGhhc2hlcyBfc2hvdWxkXyBiZSBpbmNsdWRlZC4gRm9yIGV4YW1wbGVcbiAgICAqIGFueSB0ZXN0cyBpbnZvbHZpbmcgY3VzdG9tIHJlc291cmNlcyBvciBidW5kbGluZ1xuICAgICpcbiAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgKi9cbiAgcmVhZG9ubHkgZGlmZkFzc2V0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgKiBMaXN0IG9mIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGVzIGluIHRoaXMgc3RhY2sgdGhhdCBjYW5cbiAgICAqIGJlIGRlc3Ryb3llZCBhcyBwYXJ0IG9mIGFuIHVwZGF0ZSB3aXRob3V0IGZhaWxpbmcgdGhlIHRlc3QuXG4gICAgKlxuICAgICogVGhpcyBsaXN0IHNob3VsZCBvbmx5IGluY2x1ZGUgcmVzb3VyY2VzIHRoYXQgZm9yIHRoaXMgc3BlY2lmaWNcbiAgICAqIGludGVncmF0aW9uIHRlc3Qgd2UgYXJlIHN1cmUgd2lsbCBub3QgY2F1c2UgZXJyb3JzIG9yIGFuIG91dGFnZSBpZlxuICAgICogZGVzdHJveWVkLiBGb3IgZXhhbXBsZSwgbWF5YmUgd2Uga25vdyB0aGF0IGEgbmV3IHJlc291cmNlIHdpbGwgYmUgY3JlYXRlZFxuICAgICogZmlyc3QgYmVmb3JlIHRoZSBvbGQgcmVzb3VyY2UgaXMgZGVzdHJveWVkIHdoaWNoIHByZXZlbnRzIGFueSBvdXRhZ2UuXG4gICAgKlxuICAgICogZS5nLiBbJ0FXUzo6SUFNOjpSb2xlJ11cbiAgICAqXG4gICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBhbGxvdyBkZXN0cnVjdGlvbiBvZiBhbnkgcmVzb3VyY2VzIG9uIHVwZGF0ZVxuICAgICovXG4gIHJlYWRvbmx5IGFsbG93RGVzdHJveT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgICogTGltaXQgZGVwbG95bWVudCB0byB0aGVzZSByZWdpb25zXG4gICAgKlxuICAgICogQGRlZmF1bHQgLSBjYW4gcnVuIGluIGFueSByZWdpb25cbiAgICAqL1xuICByZWFkb25seSByZWdpb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGNhc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXN0Q2FzZSBleHRlbmRzIFRlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0YWNrcyB0aGF0IHNob3VsZCBiZSB0ZXN0ZWQgYXMgcGFydCBvZiB0aGlzIHRlc3QgY2FzZVxuICAgKiBUaGUgc3RhY2tOYW1lcyB3aWxsIGJlIHBhc3NlZCBhcyBhcmdzIHRvIHRoZSBjZGsgY29tbWFuZHNcbiAgICogc28gZGVwZW5kZW50IHN0YWNrcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZGVwbG95ZWQgdW5sZXNzXG4gICAqIGBleGNsdXNpdmVseWAgaXMgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENvbW1hbmRzIHRvIHJ1biBhdCBwcmVkZWZpbmVkIHBvaW50cyBkdXJpbmcgdGhlXG4gKiBpbnRlZ3JhdGlvbiB0ZXN0IHdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9va3Mge1xuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIHByaW9yIHRvIGRlcGxveWluZyB0aGUgY2RrIHN0YWNrc1xuICAgKiBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBwcmVEZXBsb3k/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIHByaW9yIGFmdGVyIGRlcGxveWluZyB0aGUgY2RrIHN0YWNrc1xuICAgKiBpbiB0aGUgaW50ZWdyYXRpb24gdGVzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBwb3N0RGVwbG95Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRvIHJ1biBwcmlvciB0byBkZXN0cm95aW5nIHRoZSBjZGsgc3RhY2tzXG4gICAqIGluIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IHByZURlc3Ryb3k/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcnVuIGFmdGVyIGRlc3Ryb3lpbmcgdGhlIGNkayBzdGFja3NcbiAgICogaW4gdGhlIGludGVncmF0aW9uIHRlc3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb21tYW5kc1xuICAgKi9cbiAgcmVhZG9ubHkgcG9zdERlc3Ryb3k/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2RrIGNvbW1hbmRcbiAqIGkuZS4gYHN5bnRoYCwgYGRlcGxveWAsICYgYGRlc3Ryb3lgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBydW4gdGhpcyBjb21tYW5kIGFzIHBhcnQgb2YgdGhlIHdvcmtmbG93XG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaWYgeW91IG9ubHkgd2FudCB0byB0ZXN0IHNvbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIGZvciBleGFtcGxlIGVuYWJsZSBgc3ludGhgIGFuZCBkaXNhYmxlIGBkZXBsb3lgICYgYGRlc3Ryb3lgIGluIG9yZGVyXG4gICAqIHRvIGxpbWl0IHRoZSB0ZXN0IHRvIHN5bnRoZXNpc1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdGhlIHJ1bm5lciBzaG91bGQgZXhwZWN0IHRoaXMgY29tbWFuZCB0byBmYWlsXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBleHBlY3RFcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgZXhwZWN0ZWRFcnJvcmBcbiAgICogdG8gdmFsaWRhdGUgdGhhdCBhIHNwZWNpZmljIG1lc3NhZ2UgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IHZhbGlkYXRlIG1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGV4cGVjdGVkTWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2RrIGRlcGxveSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95Q29tbWFuZCBleHRlbmRzIENka0NvbW1hbmQge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZFxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHRlc3Qgc3BlY2lmaWMgQ0xJIGZ1bmN0aW9uYWxpdHlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBvbmx5IGRlZmF1bHQgYXJncyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IERlcGxveU9wdGlvbnM7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNkayBkZXN0cm95IGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXN0cm95Q29tbWFuZCBleHRlbmRzIENka0NvbW1hbmQge1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY29tbWFuZFxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHRlc3Qgc3BlY2lmaWMgQ0xJIGZ1bmN0aW9uYWxpdHlcbiAgICpcbiAgICogQGRlZmF1bHQgLSBvbmx5IGRlZmF1bHQgYXJncyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IERlc3Ryb3lPcHRpb25zO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHNwZWNpZmljIGNkayBjb21tYW5kcyB0aGF0IGFyZSBydW5cbiAqIGFzIHBhcnQgb2YgdGhlIGludGVncmF0aW9uIHRlc3Qgd29ya2Zsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtDb21tYW5kcyB7XG4gIC8qKlxuICAgKiBPcHRpb25zIHRvIGZvciB0aGUgY2RrIGRlcGxveSBjb21tYW5kXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBkZXBsb3kgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95PzogRGVwbG95Q29tbWFuZDtcblxuICAvKipcbiAgICogT3B0aW9ucyB0byBmb3IgdGhlIGNkayBkZXN0cm95IGNvbW1hbmRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGRlc3Ryb3kgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzdHJveT86IERlc3Ryb3lDb21tYW5kO1xufVxuIl19
|
package/lib/manifest.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as assets from './assets';
|
|
2
2
|
import * as assembly from './cloud-assembly';
|
|
3
|
+
import * as integ from './integ-tests';
|
|
3
4
|
export declare const VERSION_MISMATCH: string;
|
|
4
5
|
/**
|
|
5
6
|
* Options for the loadManifest operation
|
|
@@ -55,6 +56,19 @@ export declare class Manifest {
|
|
|
55
56
|
* @param filePath - path to the manifest file.
|
|
56
57
|
*/
|
|
57
58
|
static loadAssetManifest(filePath: string): assets.AssetManifest;
|
|
59
|
+
/**
|
|
60
|
+
* Validates and saves the integ manifest to file.
|
|
61
|
+
*
|
|
62
|
+
* @param manifest - manifest.
|
|
63
|
+
* @param filePath - output file path.
|
|
64
|
+
*/
|
|
65
|
+
static saveIntegManifest(manifest: integ.IntegManifest, filePath: string): void;
|
|
66
|
+
/**
|
|
67
|
+
* Load and validates the integ manifest from file.
|
|
68
|
+
*
|
|
69
|
+
* @param filePath - path to the manifest file.
|
|
70
|
+
*/
|
|
71
|
+
static loadIntegManifest(filePath: string): integ.IntegManifest;
|
|
58
72
|
/**
|
|
59
73
|
* Fetch the current schema version number.
|
|
60
74
|
*/
|