@pulumi/pulumi 3.65.1 → 3.66.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/automation/errors.js +9 -5
- package/automation/errors.js.map +1 -1
- package/automation/events.js.map +1 -1
- package/automation/localWorkspace.js +21 -5
- package/automation/localWorkspace.js.map +1 -1
- package/automation/remoteStack.js.map +1 -1
- package/automation/remoteWorkspace.js.map +1 -1
- package/automation/server.js +1 -1
- package/automation/server.js.map +1 -1
- package/automation/stack.js +14 -7
- package/automation/stack.js.map +1 -1
- package/cmd/dynamic-provider/index.js +1 -1
- package/cmd/dynamic-provider/index.js.map +1 -1
- package/cmd/run/index.js +5 -3
- package/cmd/run/index.js.map +1 -1
- package/cmd/run/run.js +3 -7
- package/cmd/run/run.js.map +1 -1
- package/cmd/run/tracing.js.map +1 -1
- package/cmd/run-policy-pack/index.js +1 -1
- package/cmd/run-policy-pack/index.js.map +1 -1
- package/cmd/run-policy-pack/run.js +3 -6
- package/cmd/run-policy-pack/run.js.map +1 -1
- package/config.js +2 -3
- package/config.js.map +1 -1
- package/dynamic/index.js +2 -2
- package/dynamic/index.js.map +1 -1
- package/iterable/index.js +4 -4
- package/iterable/index.js.map +1 -1
- package/log/index.js +1 -3
- package/log/index.js.map +1 -1
- package/output.d.ts +4 -4
- package/output.js +35 -29
- package/output.js.map +1 -1
- package/package.json +2 -1
- package/provider/internals.js.map +1 -1
- package/provider/server.js +7 -8
- package/provider/server.js.map +1 -1
- package/resource.js +8 -8
- package/resource.js.map +1 -1
- package/runtime/asyncIterableUtil.js +1 -1
- package/runtime/asyncIterableUtil.js.map +1 -1
- package/runtime/closure/codePaths.js +1 -2
- package/runtime/closure/codePaths.js.map +1 -1
- package/runtime/closure/createClosure.js +56 -38
- package/runtime/closure/createClosure.js.map +1 -1
- package/runtime/closure/package.js +8 -5
- package/runtime/closure/package.js.map +1 -1
- package/runtime/closure/parseFunction.js +33 -17
- package/runtime/closure/parseFunction.js.map +1 -1
- package/runtime/closure/rewriteSuper.js +3 -6
- package/runtime/closure/rewriteSuper.js.map +1 -1
- package/runtime/closure/serializeClosure.js +34 -26
- package/runtime/closure/serializeClosure.js.map +1 -1
- package/runtime/closure/utils.js +1 -2
- package/runtime/closure/utils.js.map +1 -1
- package/runtime/closure/v8.js +9 -10
- package/runtime/closure/v8.js.map +1 -1
- package/runtime/closure/v8Hooks.js +2 -2
- package/runtime/closure/v8Hooks.js.map +1 -1
- package/runtime/config.js.map +1 -1
- package/runtime/debuggable.js +10 -9
- package/runtime/debuggable.js.map +1 -1
- package/runtime/index.js.map +1 -1
- package/runtime/invoke.js +4 -9
- package/runtime/invoke.js.map +1 -1
- package/runtime/mocks.js.map +1 -1
- package/runtime/resource.js +17 -12
- package/runtime/resource.js.map +1 -1
- package/runtime/rpc.js +6 -6
- package/runtime/rpc.js.map +1 -1
- package/runtime/settings.js +1 -1
- package/runtime/settings.js.map +1 -1
- package/runtime/stack.js +3 -3
- package/runtime/stack.js.map +1 -1
- package/runtime/state.js +1 -3
- package/runtime/state.js.map +1 -1
- package/stackReference.js.map +1 -1
- package/tests/automation/localWorkspace.spec.js +63 -57
- package/tests/automation/localWorkspace.spec.js.map +1 -1
- package/tests/automation/remoteWorkspace.spec.js +9 -6
- package/tests/automation/remoteWorkspace.spec.js.map +1 -1
- package/tests/config.spec.js +76 -28
- package/tests/config.spec.js.map +1 -1
- package/tests/iterable.spec.js +2 -2
- package/tests/iterable.spec.js.map +1 -1
- package/tests/options.spec.js +9 -3
- package/tests/options.spec.js.map +1 -1
- package/tests/output.spec.js +61 -67
- package/tests/output.spec.js.map +1 -1
- package/tests/provider.spec.js +7 -1
- package/tests/provider.spec.js.map +1 -1
- package/tests/resource.spec.js.map +1 -1
- package/tests/runtime/asyncIterableUtil.spec.js.map +1 -1
- package/tests/runtime/closureLoader.spec.js +1 -1
- package/tests/runtime/closureLoader.spec.js.map +1 -1
- package/tests/runtime/deploymentOnlyModule/runtimeConfig.js.map +1 -1
- package/tests/runtime/langhost/cases/000.empty/index.js +0 -1
- package/tests/runtime/langhost/cases/001.one_resource/index.js +0 -1
- package/tests/runtime/langhost/cases/002.ten_resources/index.js +0 -1
- package/tests/runtime/langhost/cases/003.one_complex_resource/index.js +20 -20
- package/tests/runtime/langhost/cases/004.ten_complex_resources/index.js +5 -6
- package/tests/runtime/langhost/cases/004.ten_complex_resources/resource.js +11 -12
- package/tests/runtime/langhost/cases/005.resource_thens/index.js +12 -13
- package/tests/runtime/langhost/cases/006.asset/index.js +1 -2
- package/tests/runtime/langhost/cases/007.promises_io/index.js +2 -3
- package/tests/runtime/langhost/cases/008.ten_depends_on_resources/index.js +19 -11
- package/tests/runtime/langhost/cases/009.invoke/index.js +1 -1
- package/tests/runtime/langhost/cases/012.assets_archive/index.js +10 -8
- package/tests/runtime/langhost/cases/013.unhandled_promise_rejection/index.js +1 -1
- package/tests/runtime/langhost/cases/014.read_resource/index.js +7 -7
- package/tests/runtime/langhost/cases/015.runtime_sxs/index.js +35 -19
- package/tests/runtime/langhost/cases/017.parent_defaults/index.js +49 -41
- package/tests/runtime/langhost/cases/020.property_dependencies/index.js +27 -18
- package/tests/runtime/langhost/cases/021.parent_child_dependencies/index.js +3 -3
- package/tests/runtime/langhost/cases/022.parent_child_dependencies_2/index.js +3 -3
- package/tests/runtime/langhost/cases/023.parent_child_dependencies_3/index.js +6 -6
- package/tests/runtime/langhost/cases/024.parent_child_dependencies_4/index.js +8 -8
- package/tests/runtime/langhost/cases/025.parent_child_dependencies_5/index.js +9 -9
- package/tests/runtime/langhost/cases/026.parent_child_dependencies_6/index.js +11 -11
- package/tests/runtime/langhost/cases/027.parent_child_dependencies_7/index.js +14 -14
- package/tests/runtime/langhost/cases/028.parent_child_dependencies_8/index.js +10 -10
- package/tests/runtime/langhost/cases/029.parent_child_dependencies_9/index.js +8 -8
- package/tests/runtime/langhost/cases/030.import_resource/index.js +0 -1
- package/tests/runtime/langhost/cases/041.component_opt_single_provider/index.js +49 -41
- package/tests/runtime/langhost/cases/042.component_opt_providers_array/index.js +49 -41
- package/tests/runtime/langhost/cases/060.provider_invokes/index.js +4 -4
- package/tests/runtime/langhost/cases/061.provider_in_parent_invokes/index.js +8 -8
- package/tests/runtime/langhost/cases/063.providerref_in_parent_invokes/index.js +2 -2
- package/tests/runtime/langhost/cases/064.async_components/index.js +9 -9
- package/tests/runtime/langhost/cases/065.large_resource/index.js +2 -2
- package/tests/runtime/langhost/cases/067.native_es_module/index.js +0 -1
- package/tests/runtime/langhost/cases/068.remote_component_providers/index.js +6 -6
- package/tests/runtime/langhost/cases/069.ambiguous_entrypoints/index.js +0 -1
- package/tests/runtime/langhost/cases/070.unusual_alias_names/index.js +5 -6
- package/tests/runtime/langhost/cases/071.large_alias_counts/index.js +4 -5
- package/tests/runtime/langhost/cases/072.large_alias_lineage_chains/index.js +13 -14
- package/tests/runtime/langhost/cases/073.component_dependencies/index.js +10 -10
- package/tests/runtime/langhost/run.spec.js +140 -116
- package/tests/runtime/langhost/run.spec.js.map +1 -1
- package/tests/runtime/package.spec.js +23 -23
- package/tests/runtime/package.spec.js.map +1 -1
- package/tests/runtime/props.spec.js +53 -51
- package/tests/runtime/props.spec.js.map +1 -1
- package/tests/runtime/settings.spec.js.map +1 -1
- package/tests/runtime/tsClosureCases.js +3 -1
- package/tests/runtime/tsClosureCases.js.map +1 -1
- package/tests/stackReference.spec.js.map +1 -1
- package/tests/unwrap.spec.js +27 -7
- package/tests/unwrap.spec.js.map +1 -1
- package/tests/util.js.map +1 -1
- package/tests_with_mocks/mocks.spec.js +11 -11
- package/tests_with_mocks/mocks.spec.js.map +1 -1
- package/version.js +1 -1
|
@@ -2,15 +2,15 @@ let assert = require("assert");
|
|
|
2
2
|
let pulumi = require("../../../../../");
|
|
3
3
|
|
|
4
4
|
class MyCustomResource extends pulumi.CustomResource {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
constructor(name, args, opts) {
|
|
6
|
+
super("test:index:MyCustomResource", name, args, opts);
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
class MyComponentResource extends pulumi.ComponentResource {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
constructor(name, args, opts) {
|
|
12
|
+
super("test:index:MyComponentResource", name, args, opts);
|
|
13
|
+
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
// comp1
|
|
@@ -22,15 +22,15 @@ class MyComponentResource extends pulumi.ComponentResource {
|
|
|
22
22
|
// cust4
|
|
23
23
|
|
|
24
24
|
let comp1 = new MyComponentResource("comp1");
|
|
25
|
-
let cust1 = new MyCustomResource("cust1", {
|
|
25
|
+
let cust1 = new MyCustomResource("cust1", {}, { parent: comp1 });
|
|
26
26
|
|
|
27
|
-
let comp2 = new MyComponentResource("comp2", {
|
|
28
|
-
let cust2 = new MyCustomResource("cust2", {
|
|
29
|
-
let cust3 = new MyCustomResource("cust3", {
|
|
27
|
+
let comp2 = new MyComponentResource("comp2", {}, { parent: comp1 });
|
|
28
|
+
let cust2 = new MyCustomResource("cust2", {}, { parent: comp2 });
|
|
29
|
+
let cust3 = new MyCustomResource("cust3", {}, { parent: comp2 });
|
|
30
30
|
|
|
31
31
|
let cust4 = new MyCustomResource("cust4", { parentId: cust2.id }, { parent: cust2 });
|
|
32
32
|
|
|
33
|
-
let res1 = new MyCustomResource("res1", {
|
|
34
|
-
let res2 = new MyCustomResource("res2", {
|
|
35
|
-
let res3 = new MyCustomResource("res3", {
|
|
36
|
-
let res4 = new MyCustomResource("res4", {
|
|
33
|
+
let res1 = new MyCustomResource("res1", {}, { dependsOn: comp1 });
|
|
34
|
+
let res2 = new MyCustomResource("res2", {}, { dependsOn: comp2 });
|
|
35
|
+
let res3 = new MyCustomResource("res3", {}, { dependsOn: cust2 });
|
|
36
|
+
let res4 = new MyCustomResource("res4", {}, { dependsOn: cust4 });
|
|
@@ -2,15 +2,15 @@ let assert = require("assert");
|
|
|
2
2
|
let pulumi = require("../../../../../");
|
|
3
3
|
|
|
4
4
|
class MyCustomResource extends pulumi.CustomResource {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
constructor(name, args, opts) {
|
|
6
|
+
super("test:index:MyCustomResource", name, args, opts);
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
class MyComponentResource extends pulumi.ComponentResource {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
constructor(name, args, opts) {
|
|
12
|
+
super("test:index:MyComponentResource", name, args, opts);
|
|
13
|
+
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
// comp1
|
|
@@ -20,9 +20,9 @@ class MyComponentResource extends pulumi.ComponentResource {
|
|
|
20
20
|
// cust2
|
|
21
21
|
|
|
22
22
|
let comp1 = new MyComponentResource("comp1");
|
|
23
|
-
let cust1 = new MyCustomResource("cust1", {
|
|
23
|
+
let cust1 = new MyCustomResource("cust1", {}, { parent: comp1 });
|
|
24
24
|
let cust2 = new MyCustomResource("cust2", { parentId: cust1.id }, { parent: cust1 });
|
|
25
25
|
|
|
26
|
-
let res1 = new MyCustomResource("res1", {
|
|
27
|
-
let res2 = new MyCustomResource("res2", {
|
|
28
|
-
let res3 = new MyCustomResource("res3", {
|
|
26
|
+
let res1 = new MyCustomResource("res1", {}, { dependsOn: comp1 });
|
|
27
|
+
let res2 = new MyCustomResource("res2", {}, { dependsOn: cust1 });
|
|
28
|
+
let res3 = new MyCustomResource("res3", {}, { dependsOn: cust2 });
|
|
@@ -2,22 +2,22 @@ let assert = require("assert");
|
|
|
2
2
|
let pulumi = require("../../../../../");
|
|
3
3
|
|
|
4
4
|
class MyCustomResource extends pulumi.CustomResource {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
constructor(name, args, opts) {
|
|
6
|
+
super("test:index:MyCustomResource", name, args, opts);
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
class MyComponentResource extends pulumi.ComponentResource {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
constructor(name, args, opts) {
|
|
12
|
+
super("test:index:MyComponentResource", name, args, opts);
|
|
13
|
+
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
// cust1
|
|
17
17
|
// \
|
|
18
18
|
// cust2
|
|
19
19
|
|
|
20
|
-
let cust1 = new MyCustomResource("cust1", {
|
|
20
|
+
let cust1 = new MyCustomResource("cust1", {}, {});
|
|
21
21
|
let cust2 = new MyCustomResource("cust2", { parentId: cust1.id }, { parent: cust1 });
|
|
22
22
|
|
|
23
|
-
let res1 = new MyCustomResource("res1", {
|
|
23
|
+
let res1 = new MyCustomResource("res1", {}, { dependsOn: cust1 });
|
|
@@ -6,56 +6,56 @@ let assert = require("assert");
|
|
|
6
6
|
let pulumi = require("../../../../../");
|
|
7
7
|
|
|
8
8
|
class Provider extends pulumi.ProviderResource {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
constructor(name, opts) {
|
|
10
|
+
super("test", name, {}, opts);
|
|
11
|
+
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
class Resource extends pulumi.CustomResource {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
constructor(name, createChildren, opts) {
|
|
16
|
+
super("test:index:Resource", name, {}, opts);
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if (createChildren) {
|
|
19
|
+
createChildren(name, this);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
class Component extends pulumi.ComponentResource {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
constructor(name, createChildren, opts) {
|
|
26
|
+
super("test:index:Component", name, {}, opts);
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
createChildren(name, this);
|
|
29
|
+
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function createResources(name, createChildren, parent) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// Use all parent defaults
|
|
34
|
+
new Resource(`${name}/r0`, createChildren, { parent: parent });
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
// Override protect
|
|
37
|
+
new Resource(`${name}/r1`, createChildren, { parent: parent, protect: false });
|
|
38
|
+
new Resource(`${name}/r2`, createChildren, { parent: parent, protect: true });
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
// Override provider
|
|
41
|
+
const provider = new Provider(`${name}-p`, { parent });
|
|
42
|
+
const r3 = new Resource(`${name}/r3`, createChildren, { parent, provider });
|
|
43
|
+
assert.strictEqual(r3.getProvider("test:index:Resource"), provider);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
function createComponents(name, createChildren, parent) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
// Use all parent defaults
|
|
48
|
+
new Component(`${name}/c0`, createChildren, { parent: parent });
|
|
49
|
+
|
|
50
|
+
// Override protect.
|
|
51
|
+
new Component(`${name}/c1`, createChildren, { parent: parent, protect: false });
|
|
52
|
+
new Component(`${name}/c2`, createChildren, { parent: parent, protect: true });
|
|
53
|
+
|
|
54
|
+
// Override providers.
|
|
55
|
+
new Component(`${name}/c3`, createChildren, {
|
|
56
|
+
parent: parent,
|
|
57
|
+
provider: new Provider(`${name}-p`, { parent: parent }),
|
|
58
|
+
});
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
// Create default (unparented) resources
|
|
@@ -63,19 +63,27 @@ createResources("unparented");
|
|
|
63
63
|
|
|
64
64
|
// Create singly-nested resources
|
|
65
65
|
createComponents("single-nest", (name, parent) => {
|
|
66
|
-
|
|
66
|
+
createResources(name, undefined, parent);
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
// Create doubly-nested resources
|
|
70
70
|
createComponents("double-nest", (name, parent) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
createComponents(
|
|
72
|
+
name,
|
|
73
|
+
(name, parent) => {
|
|
74
|
+
createResources(name, undefined, parent);
|
|
75
|
+
},
|
|
76
|
+
parent,
|
|
77
|
+
);
|
|
74
78
|
});
|
|
75
79
|
|
|
76
80
|
// Create doubly-nested resources parented to other resources
|
|
77
81
|
createComponents("double-nest-2", (name, parent) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
createResources(
|
|
83
|
+
name,
|
|
84
|
+
(name, parent) => {
|
|
85
|
+
createResources(name, undefined, parent);
|
|
86
|
+
},
|
|
87
|
+
parent,
|
|
88
|
+
);
|
|
81
89
|
});
|
|
@@ -6,56 +6,56 @@ let assert = require("assert");
|
|
|
6
6
|
let pulumi = require("../../../../../");
|
|
7
7
|
|
|
8
8
|
class Provider extends pulumi.ProviderResource {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
constructor(name, opts) {
|
|
10
|
+
super("test", name, {}, opts);
|
|
11
|
+
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
class Resource extends pulumi.CustomResource {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
constructor(name, createChildren, opts) {
|
|
16
|
+
super("test:index:Resource", name, {}, opts);
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if (createChildren) {
|
|
19
|
+
createChildren(name, this);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
class Component extends pulumi.ComponentResource {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
constructor(name, createChildren, opts) {
|
|
26
|
+
super("test:index:Component", name, {}, opts);
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
createChildren(name, this);
|
|
29
|
+
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function createResources(name, createChildren, parent) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// Use all parent defaults
|
|
34
|
+
new Resource(`${name}/r0`, createChildren, { parent: parent });
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
// Override protect
|
|
37
|
+
new Resource(`${name}/r1`, createChildren, { parent: parent, protect: false });
|
|
38
|
+
new Resource(`${name}/r2`, createChildren, { parent: parent, protect: true });
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
// Override provider
|
|
41
|
+
const provider = new Provider(`${name}-p`, { parent });
|
|
42
|
+
const r3 = new Resource(`${name}/r3`, createChildren, { parent, provider });
|
|
43
|
+
assert.strictEqual(r3.getProvider("test:index:Resource"), provider);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
function createComponents(name, createChildren, parent) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
// Use all parent defaults
|
|
48
|
+
new Component(`${name}/c0`, createChildren, { parent: parent });
|
|
49
|
+
|
|
50
|
+
// Override protect.
|
|
51
|
+
new Component(`${name}/c1`, createChildren, { parent: parent, protect: false });
|
|
52
|
+
new Component(`${name}/c2`, createChildren, { parent: parent, protect: true });
|
|
53
|
+
|
|
54
|
+
// Override providers.
|
|
55
|
+
new Component(`${name}/c3`, createChildren, {
|
|
56
|
+
parent: parent,
|
|
57
|
+
providers: [new Provider(`${name}-p`, { parent: parent })],
|
|
58
|
+
});
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
// Create default (unparented) resources
|
|
@@ -63,19 +63,27 @@ createResources("unparented");
|
|
|
63
63
|
|
|
64
64
|
// Create singly-nested resources
|
|
65
65
|
createComponents("single-nest", (name, parent) => {
|
|
66
|
-
|
|
66
|
+
createResources(name, undefined, parent);
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
// Create doubly-nested resources
|
|
70
70
|
createComponents("double-nest", (name, parent) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
createComponents(
|
|
72
|
+
name,
|
|
73
|
+
(name, parent) => {
|
|
74
|
+
createResources(name, undefined, parent);
|
|
75
|
+
},
|
|
76
|
+
parent,
|
|
77
|
+
);
|
|
74
78
|
});
|
|
75
79
|
|
|
76
80
|
// Create doubly-nested resources parented to other resources
|
|
77
81
|
createComponents("double-nest-2", (name, parent) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
createResources(
|
|
83
|
+
name,
|
|
84
|
+
(name, parent) => {
|
|
85
|
+
createResources(name, undefined, parent);
|
|
86
|
+
},
|
|
87
|
+
parent,
|
|
88
|
+
);
|
|
81
89
|
});
|
|
@@ -5,9 +5,9 @@ let pulumi = require("../../../../../");
|
|
|
5
5
|
let semver = require("semver");
|
|
6
6
|
|
|
7
7
|
class Provider extends pulumi.ProviderResource {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
constructor(name, opts) {
|
|
9
|
+
super("test", name, {}, opts);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
const provider = new Provider("p");
|
|
@@ -22,5 +22,5 @@ let args = {
|
|
|
22
22
|
|
|
23
23
|
let result2 = pulumi.runtime.invoke("test:index:echo", args, { provider });
|
|
24
24
|
result2.then((v) => {
|
|
25
|
-
|
|
25
|
+
assert.deepStrictEqual(v, args);
|
|
26
26
|
});
|
|
@@ -5,19 +5,19 @@ let pulumi = require("../../../../../");
|
|
|
5
5
|
let semver = require("semver");
|
|
6
6
|
|
|
7
7
|
class Provider extends pulumi.ProviderResource {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
constructor(name, opts) {
|
|
9
|
+
super("test", name, {}, opts);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
class Resource extends pulumi.CustomResource {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
constructor(name, opts) {
|
|
15
|
+
super("test:index:Resource", name, {}, opts);
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const provider = new Provider("p");
|
|
20
|
-
const parent = new Resource("r", { provider })
|
|
20
|
+
const parent = new Resource("r", { provider });
|
|
21
21
|
|
|
22
22
|
let args = {
|
|
23
23
|
a: "hello",
|
|
@@ -29,5 +29,5 @@ let args = {
|
|
|
29
29
|
|
|
30
30
|
let result2 = pulumi.runtime.invoke("test:index:echo", args, { parent });
|
|
31
31
|
result2.then((v) => {
|
|
32
|
-
|
|
32
|
+
assert.deepStrictEqual(v, args);
|
|
33
33
|
});
|
|
@@ -12,14 +12,14 @@ let pulumi = require("../../../../../");
|
|
|
12
12
|
|
|
13
13
|
class Resource extends pulumi.CustomResource {
|
|
14
14
|
constructor(name, opts) {
|
|
15
|
-
super("test:index:Resource", name, {}, opts)
|
|
15
|
+
super("test:index:Resource", name, {}, opts);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const provider = new Provider("p");
|
|
20
20
|
await pulumi.ProviderResource.register(provider);
|
|
21
21
|
|
|
22
|
-
const parent = new Resource("r", { provider })
|
|
22
|
+
const parent = new Resource("r", { provider });
|
|
23
23
|
|
|
24
24
|
let args = {
|
|
25
25
|
a: "hello",
|
|
@@ -5,33 +5,33 @@ let pulumi = require("../../../../../");
|
|
|
5
5
|
|
|
6
6
|
class CustResource extends pulumi.CustomResource {
|
|
7
7
|
constructor(name, opts) {
|
|
8
|
-
super("test:index:CustResource", name, {}, opts)
|
|
8
|
+
super("test:index:CustResource", name, {}, opts);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
class CompResource extends pulumi.ComponentResource {
|
|
13
13
|
constructor(name, opts) {
|
|
14
|
-
super("test:index:CompResource", name, {}, opts)
|
|
14
|
+
super("test:index:CompResource", name, {}, opts);
|
|
15
15
|
const data = this.getData();
|
|
16
|
-
this.a = pulumi.output(data.then(d => d.a));
|
|
17
|
-
this.b = pulumi.output(data.then(d => d.b));
|
|
18
|
-
this.cust1 = pulumi.output(data.then(d => d.cust1));
|
|
19
|
-
this.cust2 = pulumi.output(data.then(d => d.cust2));
|
|
16
|
+
this.a = pulumi.output(data.then((d) => d.a));
|
|
17
|
+
this.b = pulumi.output(data.then((d) => d.b));
|
|
18
|
+
this.cust1 = pulumi.output(data.then((d) => d.cust1));
|
|
19
|
+
this.cust2 = pulumi.output(data.then((d) => d.cust2));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/** @override */
|
|
23
23
|
async initialize() {
|
|
24
24
|
const cust1 = new CustResource("a", { parent: this });
|
|
25
25
|
const cust2 = new CustResource("b", { parent: this });
|
|
26
|
-
return { a: 1, b: 2, cust1, cust2 }
|
|
26
|
+
return { a: 1, b: 2, cust1, cust2 };
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const comp = new CompResource("comp", {});
|
|
31
|
-
comp.a.apply(v => {
|
|
31
|
+
comp.a.apply((v) => {
|
|
32
32
|
assert.strictEqual(v, 1);
|
|
33
33
|
});
|
|
34
|
-
comp.b.apply(v => {
|
|
34
|
+
comp.b.apply((v) => {
|
|
35
35
|
assert.strictEqual(v, 2);
|
|
36
36
|
});
|
|
37
37
|
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
let pulumi = require("../../../../../");
|
|
5
5
|
|
|
6
6
|
// Read the file contents to create a very large string (5mb)
|
|
7
|
-
const longString =
|
|
7
|
+
const longString = "a".repeat(1024 * 1024 * 5);
|
|
8
8
|
|
|
9
9
|
class MyResource extends pulumi.CustomResource {
|
|
10
10
|
constructor(name) {
|
|
11
11
|
super("test:index:MyLargeStringResource", name, {
|
|
12
|
-
|
|
12
|
+
largeStringProp: longString,
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
import pulumi from "../../../../../index.js";
|
|
5
5
|
|
|
6
6
|
class Provider extends pulumi.ProviderResource {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
constructor(name, opts) {
|
|
8
|
+
super("test", name, {}, opts);
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
class RemoteComponent extends pulumi.ComponentResource {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
constructor(name, opts) {
|
|
14
|
+
super("test:index:Component", name, {}, opts, true /*remote*/);
|
|
15
|
+
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
const myprovider = new Provider("myprovider");
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// This test checks for unusually named pulumi resources with aliases
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
let pulumi = require("../../../../..");
|
|
5
4
|
let assert = require("assert");
|
|
6
5
|
|
|
@@ -11,8 +10,8 @@ class MyResource extends pulumi.CustomResource {
|
|
|
11
10
|
name,
|
|
12
11
|
{},
|
|
13
12
|
{
|
|
14
|
-
aliases: aliases
|
|
15
|
-
}
|
|
13
|
+
aliases: aliases,
|
|
14
|
+
},
|
|
16
15
|
);
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -20,8 +19,8 @@ class MyResource extends pulumi.CustomResource {
|
|
|
20
19
|
const resource1 = new MyResource("testResource1", []);
|
|
21
20
|
assert.equal(resource1.__aliases[0], undefined);
|
|
22
21
|
const resource2 = new MyResource("some-random-resource-name", ["test-alias-name"]);
|
|
23
|
-
resource2.__aliases[0].apply(alias => assert.equal(alias, ["test-alias-name"]))
|
|
22
|
+
resource2.__aliases[0].apply((alias) => assert.equal(alias, ["test-alias-name"]));
|
|
24
23
|
const resource3 = new MyResource("other:random:resource:name", ["other:test:alias:name"]);
|
|
25
|
-
resource3.__aliases[0].apply(alias => assert.equal(alias, ["other:test:alias:name"]))
|
|
24
|
+
resource3.__aliases[0].apply((alias) => assert.equal(alias, ["other:test:alias:name"]));
|
|
26
25
|
const resource4 = new MyResource("-other@random:resource!name", ["other!test@alias+name"]);
|
|
27
|
-
resource4.__aliases[0].apply(alias => assert.equal(alias, ["other!test@alias+name"]))
|
|
26
|
+
resource4.__aliases[0].apply((alias) => assert.equal(alias, ["other!test@alias+name"]));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// This test creates a resource with many aliases
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
let pulumi = require("../../../../..");
|
|
5
4
|
let assert = require("assert");
|
|
6
5
|
|
|
@@ -12,12 +11,12 @@ class MyResource extends pulumi.CustomResource {
|
|
|
12
11
|
{},
|
|
13
12
|
{
|
|
14
13
|
aliases: aliases,
|
|
15
|
-
parent
|
|
16
|
-
}
|
|
14
|
+
parent,
|
|
15
|
+
},
|
|
17
16
|
);
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
const resource1Aliases = Array.from(new Array(10000).keys()).map(key => `my-alias-name-${key}`);
|
|
20
|
+
const resource1Aliases = Array.from(new Array(10000).keys()).map((key) => `my-alias-name-${key}`);
|
|
22
21
|
const resource1 = new MyResource("testResource1", resource1Aliases);
|
|
23
|
-
resource1.__aliases.map(alias => alias.apply(aliasName => assert(resource1Aliases.includes(aliasName))));
|
|
22
|
+
resource1.__aliases.map((alias) => alias.apply((aliasName) => assert(resource1Aliases.includes(aliasName))));
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// This test creates two resources - the first a parent of the second, both of which have many aliases
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
let pulumi = require("../../../../..");
|
|
5
4
|
let assert = require("assert");
|
|
6
5
|
|
|
@@ -12,8 +11,8 @@ class MyResource extends pulumi.CustomResource {
|
|
|
12
11
|
{},
|
|
13
12
|
{
|
|
14
13
|
aliases,
|
|
15
|
-
parent
|
|
16
|
-
}
|
|
14
|
+
parent,
|
|
15
|
+
},
|
|
17
16
|
);
|
|
18
17
|
}
|
|
19
18
|
}
|
|
@@ -26,31 +25,31 @@ class MyOtherResource extends pulumi.CustomResource {
|
|
|
26
25
|
{},
|
|
27
26
|
{
|
|
28
27
|
aliases,
|
|
29
|
-
parent
|
|
30
|
-
}
|
|
28
|
+
parent,
|
|
29
|
+
},
|
|
31
30
|
);
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
const resource1Aliases = Array.from(new Array(1000).keys()).map(key => `my-alias-name-${key}`);
|
|
34
|
+
const resource1Aliases = Array.from(new Array(1000).keys()).map((key) => `my-alias-name-${key}`);
|
|
36
35
|
const resource1 = new MyResource("testResource1", resource1Aliases);
|
|
37
|
-
resource1.__aliases.map(alias => alias.apply(aliasName => assert(resource1Aliases.includes(aliasName))));
|
|
36
|
+
resource1.__aliases.map((alias) => alias.apply((aliasName) => assert(resource1Aliases.includes(aliasName))));
|
|
38
37
|
assert.equal(resource1.__aliases.length, 1000);
|
|
39
38
|
|
|
40
|
-
const resource2Aliases = Array.from(new Array(1000).keys()).map(key => `my-other-alias-name-${key}`);
|
|
41
|
-
const resource2 = new MyResource("testResource2", resource2Aliases, resource1)
|
|
42
|
-
resource2.__aliases.map(alias => alias.apply(aliasName => assert(resource2Aliases.includes(aliasName))));
|
|
39
|
+
const resource2Aliases = Array.from(new Array(1000).keys()).map((key) => `my-other-alias-name-${key}`);
|
|
40
|
+
const resource2 = new MyResource("testResource2", resource2Aliases, resource1);
|
|
41
|
+
resource2.__aliases.map((alias) => alias.apply((aliasName) => assert(resource2Aliases.includes(aliasName))));
|
|
43
42
|
assert.equal(resource2.__aliases.length, 1000);
|
|
44
43
|
|
|
45
|
-
const resource3Aliases = Array.from(new Array(1000).keys()).map(key => {
|
|
44
|
+
const resource3Aliases = Array.from(new Array(1000).keys()).map((key) => {
|
|
46
45
|
return {
|
|
47
46
|
name: `my-alias-${key}`,
|
|
48
47
|
stack: "my-stack",
|
|
49
48
|
project: "my-project",
|
|
50
49
|
type: "test:index:MyOtherResource",
|
|
51
|
-
}
|
|
50
|
+
};
|
|
52
51
|
});
|
|
53
|
-
const resource3 = new MyOtherResource("testResource2", resource3Aliases, resource2)
|
|
52
|
+
const resource3 = new MyOtherResource("testResource2", resource3Aliases, resource2);
|
|
54
53
|
assert.equal(resource3.__aliases.length, 1000);
|
|
55
54
|
// We want to ensure that the parent's type is included in computed aliases from the engine
|
|
56
|
-
resource3.__aliases[0].apply(aliasName => assert(aliasName.includes("test:index:MyResource")));
|
|
55
|
+
resource3.__aliases[0].apply((aliasName) => assert(aliasName.includes("test:index:MyResource")));
|