@pulumi/vsphere 4.16.2 → 4.16.3
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/computeCluster.d.ts +137 -67
- package/computeCluster.js +92 -46
- package/computeCluster.js.map +1 -1
- package/computeClusterHostGroup.d.ts +45 -25
- package/computeClusterHostGroup.js +21 -13
- package/computeClusterHostGroup.js.map +1 -1
- package/computeClusterVmAffinityRule.d.ts +32 -20
- package/computeClusterVmAffinityRule.js +20 -14
- package/computeClusterVmAffinityRule.js.map +1 -1
- package/computeClusterVmAntiAffinityRule.d.ts +40 -13
- package/computeClusterVmAntiAffinityRule.js +28 -7
- package/computeClusterVmAntiAffinityRule.js.map +1 -1
- package/computeClusterVmDependencyRule.d.ts +32 -24
- package/computeClusterVmDependencyRule.js +20 -18
- package/computeClusterVmDependencyRule.js.map +1 -1
- package/computeClusterVmGroup.d.ts +32 -23
- package/computeClusterVmGroup.js +8 -11
- package/computeClusterVmGroup.js.map +1 -1
- package/computeClusterVmHostRule.d.ts +36 -26
- package/computeClusterVmHostRule.js +24 -20
- package/computeClusterVmHostRule.js.map +1 -1
- package/configurationProfile.d.ts +88 -0
- package/configurationProfile.js +88 -0
- package/configurationProfile.js.map +1 -1
- package/contentLibrary.d.ts +6 -4
- package/contentLibrary.js +3 -1
- package/contentLibrary.js.map +1 -1
- package/contentLibraryItem.d.ts +3 -2
- package/contentLibraryItem.js +3 -2
- package/contentLibraryItem.js.map +1 -1
- package/customAttribute.d.ts +2 -3
- package/customAttribute.js +2 -3
- package/customAttribute.js.map +1 -1
- package/datacenter.d.ts +18 -8
- package/datacenter.js +4 -3
- package/datacenter.js.map +1 -1
- package/datastoreCluster.d.ts +37 -25
- package/datastoreCluster.js +10 -10
- package/datastoreCluster.js.map +1 -1
- package/datastoreClusterVmAntiAffinityRule.d.ts +37 -22
- package/datastoreClusterVmAntiAffinityRule.js +13 -13
- package/datastoreClusterVmAntiAffinityRule.js.map +1 -1
- package/distributedPortGroup.d.ts +19 -9
- package/distributedPortGroup.js +7 -6
- package/distributedPortGroup.js.map +1 -1
- package/distributedVirtualSwitch.d.ts +27 -10
- package/distributedVirtualSwitch.js +3 -4
- package/distributedVirtualSwitch.js.map +1 -1
- package/dpmHostOverride.d.ts +21 -16
- package/dpmHostOverride.js +9 -10
- package/dpmHostOverride.js.map +1 -1
- package/drsVmOverride.d.ts +22 -17
- package/drsVmOverride.js +10 -11
- package/drsVmOverride.js.map +1 -1
- package/entityPermissions.d.ts +58 -0
- package/entityPermissions.js +58 -0
- package/entityPermissions.js.map +1 -1
- package/file.d.ts +15 -0
- package/file.js +15 -0
- package/file.js.map +1 -1
- package/folder.d.ts +37 -19
- package/folder.js +7 -10
- package/folder.js.map +1 -1
- package/getComputeCluster.d.ts +35 -19
- package/getComputeCluster.js +24 -10
- package/getComputeCluster.js.map +1 -1
- package/getCustomAttribute.d.ts +10 -6
- package/getCustomAttribute.js +10 -6
- package/getCustomAttribute.js.map +1 -1
- package/getDatacenter.d.ts +10 -6
- package/getDatacenter.js +10 -6
- package/getDatacenter.js.map +1 -1
- package/getDatastore.d.ts +22 -16
- package/getDatastore.js +12 -8
- package/getDatastore.js.map +1 -1
- package/getDatastoreCluster.d.ts +24 -10
- package/getDatastoreCluster.js +20 -6
- package/getDatastoreCluster.js.map +1 -1
- package/getDistributedVirtualSwitch.d.ts +25 -19
- package/getDistributedVirtualSwitch.js +12 -8
- package/getDistributedVirtualSwitch.js.map +1 -1
- package/getHost.d.ts +23 -13
- package/getHost.js +8 -4
- package/getHost.js.map +1 -1
- package/getNetwork.d.ts +12 -8
- package/getNetwork.js.map +1 -1
- package/getOvfVmTemplate.d.ts +276 -0
- package/getOvfVmTemplate.js +276 -0
- package/getOvfVmTemplate.js.map +1 -1
- package/getResourcePool.d.ts +38 -26
- package/getResourcePool.js +16 -8
- package/getResourcePool.js.map +1 -1
- package/getTag.d.ts +14 -10
- package/getTag.js +14 -10
- package/getTag.js.map +1 -1
- package/getTagCategory.d.ts +8 -4
- package/getTagCategory.js +8 -4
- package/getTagCategory.js.map +1 -1
- package/getVappContainer.d.ts +16 -6
- package/getVappContainer.js +6 -2
- package/getVappContainer.js.map +1 -1
- package/getVirtualMachine.d.ts +58 -36
- package/getVirtualMachine.js +10 -6
- package/getVirtualMachine.js.map +1 -1
- package/getVmfsDisks.d.ts +12 -4
- package/getVmfsDisks.js +6 -2
- package/getVmfsDisks.js.map +1 -1
- package/haVmOverride.d.ts +8 -10
- package/haVmOverride.js +8 -10
- package/haVmOverride.js.map +1 -1
- package/host.d.ts +54 -80
- package/host.js +54 -80
- package/host.js.map +1 -1
- package/hostPortGroup.d.ts +21 -11
- package/hostPortGroup.js +8 -4
- package/hostPortGroup.js.map +1 -1
- package/hostVirtualSwitch.d.ts +21 -17
- package/hostVirtualSwitch.js +9 -11
- package/hostVirtualSwitch.js.map +1 -1
- package/nasDatastore.d.ts +48 -35
- package/nasDatastore.js +9 -8
- package/nasDatastore.js.map +1 -1
- package/package.json +2 -2
- package/resourcePool.d.ts +31 -7
- package/resourcePool.js +13 -1
- package/resourcePool.js.map +1 -1
- package/role.d.ts +31 -2
- package/role.js +31 -2
- package/role.js.map +1 -1
- package/storageDrsVmOverride.d.ts +40 -17
- package/storageDrsVmOverride.js +19 -8
- package/storageDrsVmOverride.js.map +1 -1
- package/tag.d.ts +16 -15
- package/tag.js +16 -15
- package/tag.js.map +1 -1
- package/tagCategory.d.ts +2 -3
- package/tagCategory.js +2 -3
- package/tagCategory.js.map +1 -1
- package/types/input.d.ts +5 -3
- package/types/output.d.ts +5 -3
- package/vappContainer.d.ts +21 -12
- package/vappContainer.js +0 -3
- package/vappContainer.js.map +1 -1
- package/vappEntity.d.ts +14 -11
- package/vappEntity.js +2 -5
- package/vappEntity.js.map +1 -1
- package/virtualDisk.d.ts +18 -10
- package/virtualDisk.js +9 -7
- package/virtualDisk.js.map +1 -1
- package/virtualMachine.d.ts +1102 -10
- package/virtualMachine.js +1056 -6
- package/virtualMachine.js.map +1 -1
- package/virtualMachineSnapshot.d.ts +2 -1
- package/virtualMachineSnapshot.js +2 -1
- package/virtualMachineSnapshot.js.map +1 -1
- package/vmfsDatastore.d.ts +54 -42
- package/vmfsDatastore.js +12 -15
- package/vmfsDatastore.js.map +1 -1
- package/vnic.d.ts +4 -3
- package/vnic.js +4 -3
- package/vnic.js.map +1 -1
|
@@ -2,28 +2,35 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
/**
|
|
3
3
|
* The `vsphere.ComputeClusterVmDependencyRule` resource can be used to manage
|
|
4
4
|
* VM dependency rules in a cluster, either created by the
|
|
5
|
-
* `vsphere.ComputeCluster` resource or looked up
|
|
6
|
-
* by the `vsphere.ComputeCluster` data source.
|
|
5
|
+
* [`vsphere.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up
|
|
6
|
+
* by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source] data source.
|
|
7
|
+
*
|
|
8
|
+
* [tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html
|
|
9
|
+
* [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html
|
|
7
10
|
*
|
|
8
11
|
* A virtual machine dependency rule applies to vSphere HA, and allows
|
|
9
12
|
* user-defined startup orders for virtual machines in the case of host failure.
|
|
10
13
|
* Virtual machines are supplied via groups, which can be managed via the
|
|
11
|
-
* `vsphere.ComputeClusterVmGroup`
|
|
14
|
+
* [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource]
|
|
12
15
|
* resource.
|
|
13
16
|
*
|
|
17
|
+
* [tf-vsphere-cluster-vm-group-resource]: /docs/providers/vsphere/r/compute_cluster_vm_group.html
|
|
18
|
+
*
|
|
14
19
|
* > **NOTE:** This resource requires vCenter and is not available on direct ESXi
|
|
15
20
|
* connections.
|
|
16
21
|
*
|
|
17
22
|
* ## Example Usage
|
|
18
23
|
*
|
|
19
24
|
* The example below creates two virtual machine in a cluster using the
|
|
20
|
-
* `vsphere.VirtualMachine` resource in a cluster
|
|
21
|
-
* looked up by the `vsphere.ComputeCluster`
|
|
25
|
+
* [`vsphere.VirtualMachine`][tf-vsphere-vm-resource] resource in a cluster
|
|
26
|
+
* looked up by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source]
|
|
22
27
|
* data source. It then creates a group with this virtual machine. Two groups are created, each with one of the created VMs. Finally, a rule is created to ensure that `vm1` starts before `vm2`.
|
|
23
28
|
*
|
|
29
|
+
* [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
|
|
30
|
+
*
|
|
24
31
|
* > Note how `dependencyVmGroupName` and
|
|
25
32
|
* `vmGroupName` are sourced off of the `name` attributes from
|
|
26
|
-
* the `vsphere.ComputeClusterVmGroup`
|
|
33
|
+
* the [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource]
|
|
27
34
|
* resource. This is to ensure that the rule is not created before the groups
|
|
28
35
|
* exist, which may not possibly happen in the event that the names came from a
|
|
29
36
|
* "static" source such as a variable.
|
|
@@ -48,7 +55,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
48
55
|
* datacenterId: datacenter.id,
|
|
49
56
|
* }));
|
|
50
57
|
* const vm1 = new vsphere.VirtualMachine("vm1", {
|
|
51
|
-
* name: "test1",
|
|
58
|
+
* name: "pulumi-test1",
|
|
52
59
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
53
60
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
54
61
|
* numCpus: 2,
|
|
@@ -63,7 +70,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
63
70
|
* }],
|
|
64
71
|
* });
|
|
65
72
|
* const vm2 = new vsphere.VirtualMachine("vm2", {
|
|
66
|
-
* name: "test2",
|
|
73
|
+
* name: "pulumi-test2",
|
|
67
74
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
68
75
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
69
76
|
* numCpus: 2,
|
|
@@ -78,18 +85,18 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
78
85
|
* }],
|
|
79
86
|
* });
|
|
80
87
|
* const clusterVmGroup1 = new vsphere.ComputeClusterVmGroup("cluster_vm_group1", {
|
|
81
|
-
* name: "test-cluster-vm-group1",
|
|
88
|
+
* name: "pulumi-test-cluster-vm-group1",
|
|
82
89
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
83
90
|
* virtualMachineIds: [vm1.id],
|
|
84
91
|
* });
|
|
85
92
|
* const clusterVmGroup2 = new vsphere.ComputeClusterVmGroup("cluster_vm_group2", {
|
|
86
|
-
* name: "test-cluster-vm-group2",
|
|
93
|
+
* name: "pulumi-test-cluster-vm-group2",
|
|
87
94
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
88
95
|
* virtualMachineIds: [vm2.id],
|
|
89
96
|
* });
|
|
90
97
|
* const clusterVmDependencyRule = new vsphere.ComputeClusterVmDependencyRule("cluster_vm_dependency_rule", {
|
|
91
98
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
92
|
-
* name: "test-cluster-vm-dependency-rule",
|
|
99
|
+
* name: "pulumi-test-cluster-vm-dependency-rule",
|
|
93
100
|
* dependencyVmGroupName: clusterVmGroup1.name,
|
|
94
101
|
* vmGroupName: clusterVmGroup2.name,
|
|
95
102
|
* });
|
|
@@ -98,22 +105,17 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
98
105
|
* ## Import
|
|
99
106
|
*
|
|
100
107
|
* An existing rule can be imported into this resource by supplying
|
|
101
|
-
*
|
|
102
108
|
* both the path to the cluster, and the name the rule. If the name or cluster is
|
|
103
|
-
*
|
|
104
109
|
* not found, or if the rule is of a different type, an error will be returned. An
|
|
105
|
-
*
|
|
106
110
|
* example is below:
|
|
107
111
|
*
|
|
108
112
|
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
109
113
|
*
|
|
110
114
|
* ```sh
|
|
111
|
-
*
|
|
112
|
-
* ```
|
|
113
|
-
*
|
|
115
|
+
* terraform import vsphere_compute_cluster_vm_dependency_rule.cluster_vm_dependency_rule \
|
|
114
116
|
* '{"compute_cluster_path": "/dc1/host/cluster1", \
|
|
115
|
-
*
|
|
116
117
|
* "name": "pulumi-test-cluster-vm-dependency-rule"}'
|
|
118
|
+
* ```
|
|
117
119
|
*/
|
|
118
120
|
export declare class ComputeClusterVmDependencyRule extends pulumi.CustomResource {
|
|
119
121
|
/**
|
|
@@ -132,9 +134,11 @@ export declare class ComputeClusterVmDependencyRule extends pulumi.CustomResourc
|
|
|
132
134
|
*/
|
|
133
135
|
static isInstance(obj: any): obj is ComputeClusterVmDependencyRule;
|
|
134
136
|
/**
|
|
135
|
-
* The managed object reference
|
|
136
|
-
* ID of the cluster to put the group in. Forces a new
|
|
137
|
+
* The [managed object reference
|
|
138
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
137
139
|
* resource if changed.
|
|
140
|
+
*
|
|
141
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
138
142
|
*/
|
|
139
143
|
readonly computeClusterId: pulumi.Output<string>;
|
|
140
144
|
/**
|
|
@@ -183,9 +187,11 @@ export declare class ComputeClusterVmDependencyRule extends pulumi.CustomResourc
|
|
|
183
187
|
*/
|
|
184
188
|
export interface ComputeClusterVmDependencyRuleState {
|
|
185
189
|
/**
|
|
186
|
-
* The managed object reference
|
|
187
|
-
* ID of the cluster to put the group in. Forces a new
|
|
190
|
+
* The [managed object reference
|
|
191
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
188
192
|
* resource if changed.
|
|
193
|
+
*
|
|
194
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
189
195
|
*/
|
|
190
196
|
computeClusterId?: pulumi.Input<string>;
|
|
191
197
|
/**
|
|
@@ -226,9 +232,11 @@ export interface ComputeClusterVmDependencyRuleState {
|
|
|
226
232
|
*/
|
|
227
233
|
export interface ComputeClusterVmDependencyRuleArgs {
|
|
228
234
|
/**
|
|
229
|
-
* The managed object reference
|
|
230
|
-
* ID of the cluster to put the group in. Forces a new
|
|
235
|
+
* The [managed object reference
|
|
236
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
231
237
|
* resource if changed.
|
|
238
|
+
*
|
|
239
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
232
240
|
*/
|
|
233
241
|
computeClusterId: pulumi.Input<string>;
|
|
234
242
|
/**
|
|
@@ -8,28 +8,35 @@ const utilities = require("./utilities");
|
|
|
8
8
|
/**
|
|
9
9
|
* The `vsphere.ComputeClusterVmDependencyRule` resource can be used to manage
|
|
10
10
|
* VM dependency rules in a cluster, either created by the
|
|
11
|
-
* `vsphere.ComputeCluster` resource or looked up
|
|
12
|
-
* by the `vsphere.ComputeCluster` data source.
|
|
11
|
+
* [`vsphere.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up
|
|
12
|
+
* by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source] data source.
|
|
13
|
+
*
|
|
14
|
+
* [tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html
|
|
15
|
+
* [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html
|
|
13
16
|
*
|
|
14
17
|
* A virtual machine dependency rule applies to vSphere HA, and allows
|
|
15
18
|
* user-defined startup orders for virtual machines in the case of host failure.
|
|
16
19
|
* Virtual machines are supplied via groups, which can be managed via the
|
|
17
|
-
* `vsphere.ComputeClusterVmGroup`
|
|
20
|
+
* [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource]
|
|
18
21
|
* resource.
|
|
19
22
|
*
|
|
23
|
+
* [tf-vsphere-cluster-vm-group-resource]: /docs/providers/vsphere/r/compute_cluster_vm_group.html
|
|
24
|
+
*
|
|
20
25
|
* > **NOTE:** This resource requires vCenter and is not available on direct ESXi
|
|
21
26
|
* connections.
|
|
22
27
|
*
|
|
23
28
|
* ## Example Usage
|
|
24
29
|
*
|
|
25
30
|
* The example below creates two virtual machine in a cluster using the
|
|
26
|
-
* `vsphere.VirtualMachine` resource in a cluster
|
|
27
|
-
* looked up by the `vsphere.ComputeCluster`
|
|
31
|
+
* [`vsphere.VirtualMachine`][tf-vsphere-vm-resource] resource in a cluster
|
|
32
|
+
* looked up by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source]
|
|
28
33
|
* data source. It then creates a group with this virtual machine. Two groups are created, each with one of the created VMs. Finally, a rule is created to ensure that `vm1` starts before `vm2`.
|
|
29
34
|
*
|
|
35
|
+
* [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
|
|
36
|
+
*
|
|
30
37
|
* > Note how `dependencyVmGroupName` and
|
|
31
38
|
* `vmGroupName` are sourced off of the `name` attributes from
|
|
32
|
-
* the `vsphere.ComputeClusterVmGroup`
|
|
39
|
+
* the [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource]
|
|
33
40
|
* resource. This is to ensure that the rule is not created before the groups
|
|
34
41
|
* exist, which may not possibly happen in the event that the names came from a
|
|
35
42
|
* "static" source such as a variable.
|
|
@@ -54,7 +61,7 @@ const utilities = require("./utilities");
|
|
|
54
61
|
* datacenterId: datacenter.id,
|
|
55
62
|
* }));
|
|
56
63
|
* const vm1 = new vsphere.VirtualMachine("vm1", {
|
|
57
|
-
* name: "test1",
|
|
64
|
+
* name: "pulumi-test1",
|
|
58
65
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
59
66
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
60
67
|
* numCpus: 2,
|
|
@@ -69,7 +76,7 @@ const utilities = require("./utilities");
|
|
|
69
76
|
* }],
|
|
70
77
|
* });
|
|
71
78
|
* const vm2 = new vsphere.VirtualMachine("vm2", {
|
|
72
|
-
* name: "test2",
|
|
79
|
+
* name: "pulumi-test2",
|
|
73
80
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
74
81
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
75
82
|
* numCpus: 2,
|
|
@@ -84,18 +91,18 @@ const utilities = require("./utilities");
|
|
|
84
91
|
* }],
|
|
85
92
|
* });
|
|
86
93
|
* const clusterVmGroup1 = new vsphere.ComputeClusterVmGroup("cluster_vm_group1", {
|
|
87
|
-
* name: "test-cluster-vm-group1",
|
|
94
|
+
* name: "pulumi-test-cluster-vm-group1",
|
|
88
95
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
89
96
|
* virtualMachineIds: [vm1.id],
|
|
90
97
|
* });
|
|
91
98
|
* const clusterVmGroup2 = new vsphere.ComputeClusterVmGroup("cluster_vm_group2", {
|
|
92
|
-
* name: "test-cluster-vm-group2",
|
|
99
|
+
* name: "pulumi-test-cluster-vm-group2",
|
|
93
100
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
94
101
|
* virtualMachineIds: [vm2.id],
|
|
95
102
|
* });
|
|
96
103
|
* const clusterVmDependencyRule = new vsphere.ComputeClusterVmDependencyRule("cluster_vm_dependency_rule", {
|
|
97
104
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
98
|
-
* name: "test-cluster-vm-dependency-rule",
|
|
105
|
+
* name: "pulumi-test-cluster-vm-dependency-rule",
|
|
99
106
|
* dependencyVmGroupName: clusterVmGroup1.name,
|
|
100
107
|
* vmGroupName: clusterVmGroup2.name,
|
|
101
108
|
* });
|
|
@@ -104,22 +111,17 @@ const utilities = require("./utilities");
|
|
|
104
111
|
* ## Import
|
|
105
112
|
*
|
|
106
113
|
* An existing rule can be imported into this resource by supplying
|
|
107
|
-
*
|
|
108
114
|
* both the path to the cluster, and the name the rule. If the name or cluster is
|
|
109
|
-
*
|
|
110
115
|
* not found, or if the rule is of a different type, an error will be returned. An
|
|
111
|
-
*
|
|
112
116
|
* example is below:
|
|
113
117
|
*
|
|
114
118
|
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
115
119
|
*
|
|
116
120
|
* ```sh
|
|
117
|
-
*
|
|
118
|
-
* ```
|
|
119
|
-
*
|
|
121
|
+
* terraform import vsphere_compute_cluster_vm_dependency_rule.cluster_vm_dependency_rule \
|
|
120
122
|
* '{"compute_cluster_path": "/dc1/host/cluster1", \
|
|
121
|
-
*
|
|
122
123
|
* "name": "pulumi-test-cluster-vm-dependency-rule"}'
|
|
124
|
+
* ```
|
|
123
125
|
*/
|
|
124
126
|
class ComputeClusterVmDependencyRule extends pulumi.CustomResource {
|
|
125
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeClusterVmDependencyRule.js","sourceRoot":"","sources":["../computeClusterVmDependencyRule.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"computeClusterVmDependencyRule.js","sourceRoot":"","sources":["../computeClusterVmDependencyRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,11 +23,13 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
23
23
|
* ## Example Usage
|
|
24
24
|
*
|
|
25
25
|
* The example below creates two virtual machines in a cluster using the
|
|
26
|
-
* `vsphere.VirtualMachine` resource, creating the
|
|
26
|
+
* [`vsphere.VirtualMachine`][tf-vsphere-vm-resource] resource, creating the
|
|
27
27
|
* virtual machine in the cluster looked up by the
|
|
28
|
-
* `vsphere.ComputeCluster` data source. It
|
|
28
|
+
* [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source] data source. It
|
|
29
29
|
* then creates a group from these two virtual machines.
|
|
30
30
|
*
|
|
31
|
+
* [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
|
|
32
|
+
*
|
|
31
33
|
* ```typescript
|
|
32
34
|
* import * as pulumi from "@pulumi/pulumi";
|
|
33
35
|
* import * as vsphere from "@pulumi/vsphere";
|
|
@@ -50,7 +52,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
50
52
|
* const vm: vsphere.VirtualMachine[] = [];
|
|
51
53
|
* for (const range = {value: 0}; range.value < 2; range.value++) {
|
|
52
54
|
* vm.push(new vsphere.VirtualMachine(`vm-${range.value}`, {
|
|
53
|
-
* name: `test-${range.value}`,
|
|
55
|
+
* name: `pulumi-test-${range.value}`,
|
|
54
56
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
55
57
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
56
58
|
* numCpus: 2,
|
|
@@ -66,7 +68,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
66
68
|
* }));
|
|
67
69
|
* }
|
|
68
70
|
* const clusterVmGroup = new vsphere.ComputeClusterVmGroup("cluster_vm_group", {
|
|
69
|
-
* name: "test-cluster-vm-group",
|
|
71
|
+
* name: "pulumi-test-cluster-vm-group",
|
|
70
72
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
71
73
|
* virtualMachineIds: [vm.map(__item => __item.id)],
|
|
72
74
|
* });
|
|
@@ -75,22 +77,17 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
75
77
|
* ## Import
|
|
76
78
|
*
|
|
77
79
|
* An existing group can be imported into this resource by
|
|
78
|
-
*
|
|
79
80
|
* supplying both the path to the cluster, and the name of the VM group. If the
|
|
80
|
-
*
|
|
81
81
|
* name or cluster is not found, or if the group is of a different type, an error
|
|
82
|
-
*
|
|
83
82
|
* will be returned. An example is below:
|
|
84
83
|
*
|
|
85
84
|
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
86
85
|
*
|
|
87
86
|
* ```sh
|
|
88
|
-
*
|
|
89
|
-
* ```
|
|
90
|
-
*
|
|
87
|
+
* terraform import vsphere_compute_cluster_vm_group.cluster_vm_group \
|
|
91
88
|
* '{"compute_cluster_path": "/dc1/host/cluster1", \
|
|
92
|
-
*
|
|
93
89
|
* "name": "pulumi-test-cluster-vm-group"}'
|
|
90
|
+
* ```
|
|
94
91
|
*/
|
|
95
92
|
export declare class ComputeClusterVmGroup extends pulumi.CustomResource {
|
|
96
93
|
/**
|
|
@@ -109,9 +106,11 @@ export declare class ComputeClusterVmGroup extends pulumi.CustomResource {
|
|
|
109
106
|
*/
|
|
110
107
|
static isInstance(obj: any): obj is ComputeClusterVmGroup;
|
|
111
108
|
/**
|
|
112
|
-
* The managed object reference
|
|
113
|
-
* ID of the cluster to put the group in. Forces a new
|
|
109
|
+
* The [managed object reference
|
|
110
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
114
111
|
* resource if changed.
|
|
112
|
+
*
|
|
113
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
115
114
|
*/
|
|
116
115
|
readonly computeClusterId: pulumi.Output<string>;
|
|
117
116
|
/**
|
|
@@ -125,11 +124,13 @@ export declare class ComputeClusterVmGroup extends pulumi.CustomResource {
|
|
|
125
124
|
*
|
|
126
125
|
* > **NOTE:** The namespace for cluster names on this resource (defined by the
|
|
127
126
|
* `name` argument) is shared with the
|
|
128
|
-
* `vsphere.ComputeClusterHostGroup`
|
|
127
|
+
* [`vsphere.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource]
|
|
129
128
|
* resource. Make sure your names are unique across both resources.
|
|
130
129
|
*
|
|
130
|
+
* [tf-vsphere-cluster-host-group-resource]: /docs/providers/vsphere/r/compute_cluster_host_group.html
|
|
131
|
+
*
|
|
131
132
|
* > **NOTE:** To update a existing VM group, you must first import the group with `import` command in
|
|
132
|
-
*
|
|
133
|
+
* Importing section. When importing a VM group, validate that all virtual machines that
|
|
133
134
|
* need to be in the group are included in the `virtualMachineIds`; otherwise, any virtual machines
|
|
134
135
|
* that are not in `virtualMachineIds` the included will be removed from the group.
|
|
135
136
|
*/
|
|
@@ -148,9 +149,11 @@ export declare class ComputeClusterVmGroup extends pulumi.CustomResource {
|
|
|
148
149
|
*/
|
|
149
150
|
export interface ComputeClusterVmGroupState {
|
|
150
151
|
/**
|
|
151
|
-
* The managed object reference
|
|
152
|
-
* ID of the cluster to put the group in. Forces a new
|
|
152
|
+
* The [managed object reference
|
|
153
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
153
154
|
* resource if changed.
|
|
155
|
+
*
|
|
156
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
154
157
|
*/
|
|
155
158
|
computeClusterId?: pulumi.Input<string>;
|
|
156
159
|
/**
|
|
@@ -164,11 +167,13 @@ export interface ComputeClusterVmGroupState {
|
|
|
164
167
|
*
|
|
165
168
|
* > **NOTE:** The namespace for cluster names on this resource (defined by the
|
|
166
169
|
* `name` argument) is shared with the
|
|
167
|
-
* `vsphere.ComputeClusterHostGroup`
|
|
170
|
+
* [`vsphere.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource]
|
|
168
171
|
* resource. Make sure your names are unique across both resources.
|
|
169
172
|
*
|
|
173
|
+
* [tf-vsphere-cluster-host-group-resource]: /docs/providers/vsphere/r/compute_cluster_host_group.html
|
|
174
|
+
*
|
|
170
175
|
* > **NOTE:** To update a existing VM group, you must first import the group with `import` command in
|
|
171
|
-
*
|
|
176
|
+
* Importing section. When importing a VM group, validate that all virtual machines that
|
|
172
177
|
* need to be in the group are included in the `virtualMachineIds`; otherwise, any virtual machines
|
|
173
178
|
* that are not in `virtualMachineIds` the included will be removed from the group.
|
|
174
179
|
*/
|
|
@@ -179,9 +184,11 @@ export interface ComputeClusterVmGroupState {
|
|
|
179
184
|
*/
|
|
180
185
|
export interface ComputeClusterVmGroupArgs {
|
|
181
186
|
/**
|
|
182
|
-
* The managed object reference
|
|
183
|
-
* ID of the cluster to put the group in. Forces a new
|
|
187
|
+
* The [managed object reference
|
|
188
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
184
189
|
* resource if changed.
|
|
190
|
+
*
|
|
191
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
185
192
|
*/
|
|
186
193
|
computeClusterId: pulumi.Input<string>;
|
|
187
194
|
/**
|
|
@@ -195,11 +202,13 @@ export interface ComputeClusterVmGroupArgs {
|
|
|
195
202
|
*
|
|
196
203
|
* > **NOTE:** The namespace for cluster names on this resource (defined by the
|
|
197
204
|
* `name` argument) is shared with the
|
|
198
|
-
* `vsphere.ComputeClusterHostGroup`
|
|
205
|
+
* [`vsphere.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource]
|
|
199
206
|
* resource. Make sure your names are unique across both resources.
|
|
200
207
|
*
|
|
208
|
+
* [tf-vsphere-cluster-host-group-resource]: /docs/providers/vsphere/r/compute_cluster_host_group.html
|
|
209
|
+
*
|
|
201
210
|
* > **NOTE:** To update a existing VM group, you must first import the group with `import` command in
|
|
202
|
-
*
|
|
211
|
+
* Importing section. When importing a VM group, validate that all virtual machines that
|
|
203
212
|
* need to be in the group are included in the `virtualMachineIds`; otherwise, any virtual machines
|
|
204
213
|
* that are not in `virtualMachineIds` the included will be removed from the group.
|
|
205
214
|
*/
|
package/computeClusterVmGroup.js
CHANGED
|
@@ -29,11 +29,13 @@ const utilities = require("./utilities");
|
|
|
29
29
|
* ## Example Usage
|
|
30
30
|
*
|
|
31
31
|
* The example below creates two virtual machines in a cluster using the
|
|
32
|
-
* `vsphere.VirtualMachine` resource, creating the
|
|
32
|
+
* [`vsphere.VirtualMachine`][tf-vsphere-vm-resource] resource, creating the
|
|
33
33
|
* virtual machine in the cluster looked up by the
|
|
34
|
-
* `vsphere.ComputeCluster` data source. It
|
|
34
|
+
* [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source] data source. It
|
|
35
35
|
* then creates a group from these two virtual machines.
|
|
36
36
|
*
|
|
37
|
+
* [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
|
|
38
|
+
*
|
|
37
39
|
* ```typescript
|
|
38
40
|
* import * as pulumi from "@pulumi/pulumi";
|
|
39
41
|
* import * as vsphere from "@pulumi/vsphere";
|
|
@@ -56,7 +58,7 @@ const utilities = require("./utilities");
|
|
|
56
58
|
* const vm: vsphere.VirtualMachine[] = [];
|
|
57
59
|
* for (const range = {value: 0}; range.value < 2; range.value++) {
|
|
58
60
|
* vm.push(new vsphere.VirtualMachine(`vm-${range.value}`, {
|
|
59
|
-
* name: `test-${range.value}`,
|
|
61
|
+
* name: `pulumi-test-${range.value}`,
|
|
60
62
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
61
63
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
62
64
|
* numCpus: 2,
|
|
@@ -72,7 +74,7 @@ const utilities = require("./utilities");
|
|
|
72
74
|
* }));
|
|
73
75
|
* }
|
|
74
76
|
* const clusterVmGroup = new vsphere.ComputeClusterVmGroup("cluster_vm_group", {
|
|
75
|
-
* name: "test-cluster-vm-group",
|
|
77
|
+
* name: "pulumi-test-cluster-vm-group",
|
|
76
78
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
77
79
|
* virtualMachineIds: [vm.map(__item => __item.id)],
|
|
78
80
|
* });
|
|
@@ -81,22 +83,17 @@ const utilities = require("./utilities");
|
|
|
81
83
|
* ## Import
|
|
82
84
|
*
|
|
83
85
|
* An existing group can be imported into this resource by
|
|
84
|
-
*
|
|
85
86
|
* supplying both the path to the cluster, and the name of the VM group. If the
|
|
86
|
-
*
|
|
87
87
|
* name or cluster is not found, or if the group is of a different type, an error
|
|
88
|
-
*
|
|
89
88
|
* will be returned. An example is below:
|
|
90
89
|
*
|
|
91
90
|
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
92
91
|
*
|
|
93
92
|
* ```sh
|
|
94
|
-
*
|
|
95
|
-
* ```
|
|
96
|
-
*
|
|
93
|
+
* terraform import vsphere_compute_cluster_vm_group.cluster_vm_group \
|
|
97
94
|
* '{"compute_cluster_path": "/dc1/host/cluster1", \
|
|
98
|
-
*
|
|
99
95
|
* "name": "pulumi-test-cluster-vm-group"}'
|
|
96
|
+
* ```
|
|
100
97
|
*/
|
|
101
98
|
class ComputeClusterVmGroup extends pulumi.CustomResource {
|
|
102
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeClusterVmGroup.js","sourceRoot":"","sources":["../computeClusterVmGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"computeClusterVmGroup.js","sourceRoot":"","sources":["../computeClusterVmGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,MAAa,qBAAsB,SAAQ,MAAM,CAAC,cAAc;IAC5D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkC,EAAE,IAAmC;QAChI,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,qBAAqB,CAAC,YAAY,CAAC;IACtE,CAAC;IAyCD,YAAY,IAAY,EAAE,WAAoE,EAAE,IAAmC;QAC/H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqD,CAAC;YACpE,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;SAClE;aAAM;YACH,MAAM,IAAI,GAAG,WAAoD,CAAC;YAClE,IAAI,IAAI,EAAE,gBAAgB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACnE;YACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;SACjE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;;AAtFL,sDAuFC;AAzEG,gBAAgB;AACO,kCAAY,GAAG,2DAA2D,CAAC"}
|
|
@@ -2,36 +2,45 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
/**
|
|
3
3
|
* The `vsphere.ComputeClusterVmHostRule` resource can be used to manage
|
|
4
4
|
* VM-to-host rules in a cluster, either created by the
|
|
5
|
-
* `vsphere.ComputeCluster` resource or looked up
|
|
6
|
-
* by the `vsphere.ComputeCluster` data source.
|
|
5
|
+
* [`vsphere.ComputeCluster`][tf-vsphere-cluster-resource] resource or looked up
|
|
6
|
+
* by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source] data source.
|
|
7
|
+
*
|
|
8
|
+
* [tf-vsphere-cluster-resource]: /docs/providers/vsphere/r/compute_cluster.html
|
|
9
|
+
* [tf-vsphere-cluster-data-source]: /docs/providers/vsphere/d/compute_cluster.html
|
|
7
10
|
*
|
|
8
11
|
* This resource can create both _affinity rules_, where virtual machines run on
|
|
9
12
|
* specified hosts, or _anti-affinity_ rules, where virtual machines run on hosts
|
|
10
13
|
* outside of the ones specified in the rule. Virtual machines and hosts are
|
|
11
14
|
* supplied via groups, which can be managed via the
|
|
12
|
-
* `vsphere.ComputeClusterVmGroup` and
|
|
13
|
-
* `vsphere.ComputeClusterHostGroup`
|
|
15
|
+
* [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource] and
|
|
16
|
+
* [`vsphere.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource]
|
|
14
17
|
* resources.
|
|
15
18
|
*
|
|
19
|
+
* [tf-vsphere-cluster-vm-group-resource]: /docs/providers/vsphere/r/compute_cluster_vm_group.html
|
|
20
|
+
* [tf-vsphere-cluster-host-group-resource]: /docs/providers/vsphere/r/compute_cluster_host_group.html
|
|
21
|
+
*
|
|
16
22
|
* > **NOTE:** This resource requires vCenter and is not available on direct ESXi
|
|
17
23
|
* connections.
|
|
18
24
|
*
|
|
19
25
|
* ## Example Usage
|
|
20
26
|
*
|
|
21
27
|
* The example below creates a virtual machine in a cluster using the
|
|
22
|
-
* `vsphere.VirtualMachine` resource in a cluster
|
|
23
|
-
* looked up by the `vsphere.ComputeCluster`
|
|
28
|
+
* [`vsphere.VirtualMachine`][tf-vsphere-vm-resource] resource in a cluster
|
|
29
|
+
* looked up by the [`vsphere.ComputeCluster`][tf-vsphere-cluster-data-source]
|
|
24
30
|
* data source. It then creates a group with this virtual machine. It also creates
|
|
25
31
|
* a host group off of the host looked up via the
|
|
26
|
-
* `vsphere.Host` data source. Finally, this
|
|
32
|
+
* [`vsphere.Host`][tf-vsphere-host-data-source] data source. Finally, this
|
|
27
33
|
* virtual machine is configured to run specifically on that host via a
|
|
28
34
|
* `vsphere.ComputeClusterVmHostRule` resource.
|
|
29
35
|
*
|
|
36
|
+
* [tf-vsphere-vm-resource]: /docs/providers/vsphere/r/virtual_machine.html
|
|
37
|
+
* [tf-vsphere-host-data-source]: /docs/providers/vsphere/d/host.html
|
|
38
|
+
*
|
|
30
39
|
* > Note how `vmGroupName` and
|
|
31
40
|
* `affinityHostGroupName` are sourced off of the
|
|
32
41
|
* `name` attributes from the
|
|
33
|
-
* `vsphere.ComputeClusterVmGroup` and
|
|
34
|
-
* `vsphere.ComputeClusterHostGroup`
|
|
42
|
+
* [`vsphere.ComputeClusterVmGroup`][tf-vsphere-cluster-vm-group-resource] and
|
|
43
|
+
* [`vsphere.ComputeClusterHostGroup`][tf-vsphere-cluster-host-group-resource]
|
|
35
44
|
* resources. This is to ensure that the rule is not created before the groups
|
|
36
45
|
* exist, which may not possibly happen in the event that the names came from a
|
|
37
46
|
* "static" source such as a variable.
|
|
@@ -60,7 +69,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
60
69
|
* datacenterId: datacenter.id,
|
|
61
70
|
* }));
|
|
62
71
|
* const vm = new vsphere.VirtualMachine("vm", {
|
|
63
|
-
* name: "test",
|
|
72
|
+
* name: "pulumi-test",
|
|
64
73
|
* resourcePoolId: cluster.then(cluster => cluster.resourcePoolId),
|
|
65
74
|
* datastoreId: datastore.then(datastore => datastore.id),
|
|
66
75
|
* numCpus: 2,
|
|
@@ -75,18 +84,18 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
75
84
|
* }],
|
|
76
85
|
* });
|
|
77
86
|
* const clusterVmGroup = new vsphere.ComputeClusterVmGroup("cluster_vm_group", {
|
|
78
|
-
* name: "test-cluster-vm-group",
|
|
87
|
+
* name: "pulumi-test-cluster-vm-group",
|
|
79
88
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
80
89
|
* virtualMachineIds: [vm.id],
|
|
81
90
|
* });
|
|
82
91
|
* const clusterHostGroup = new vsphere.ComputeClusterHostGroup("cluster_host_group", {
|
|
83
|
-
* name: "test-cluster-vm-group",
|
|
92
|
+
* name: "pulumi-test-cluster-vm-group",
|
|
84
93
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
85
94
|
* hostSystemIds: [host.then(host => host.id)],
|
|
86
95
|
* });
|
|
87
96
|
* const clusterVmHostRule = new vsphere.ComputeClusterVmHostRule("cluster_vm_host_rule", {
|
|
88
97
|
* computeClusterId: cluster.then(cluster => cluster.id),
|
|
89
|
-
* name: "test-cluster-vm-host-rule",
|
|
98
|
+
* name: "pulumi-test-cluster-vm-host-rule",
|
|
90
99
|
* vmGroupName: clusterVmGroup.name,
|
|
91
100
|
* affinityHostGroupName: clusterHostGroup.name,
|
|
92
101
|
* });
|
|
@@ -95,22 +104,17 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
95
104
|
* ## Import
|
|
96
105
|
*
|
|
97
106
|
* An existing rule can be imported into this resource by supplying
|
|
98
|
-
*
|
|
99
107
|
* both the path to the cluster, and the name the rule. If the name or cluster is
|
|
100
|
-
*
|
|
101
108
|
* not found, or if the rule is of a different type, an error will be returned. An
|
|
102
|
-
*
|
|
103
109
|
* example is below:
|
|
104
110
|
*
|
|
105
111
|
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
106
112
|
*
|
|
107
113
|
* ```sh
|
|
108
|
-
*
|
|
109
|
-
* ```
|
|
110
|
-
*
|
|
114
|
+
* terraform import vsphere_compute_cluster_vm_host_rule.cluster_vm_host_rule \
|
|
111
115
|
* '{"compute_cluster_path": "/dc1/host/cluster1", \
|
|
112
|
-
*
|
|
113
116
|
* "name": "pulumi-test-cluster-vm-host-rule"}'
|
|
117
|
+
* ```
|
|
114
118
|
*/
|
|
115
119
|
export declare class ComputeClusterVmHostRule extends pulumi.CustomResource {
|
|
116
120
|
/**
|
|
@@ -141,9 +145,11 @@ export declare class ComputeClusterVmHostRule extends pulumi.CustomResource {
|
|
|
141
145
|
*/
|
|
142
146
|
readonly antiAffinityHostGroupName: pulumi.Output<string | undefined>;
|
|
143
147
|
/**
|
|
144
|
-
* The managed object reference
|
|
145
|
-
* ID of the cluster to put the group in. Forces a new
|
|
148
|
+
* The [managed object reference
|
|
149
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
146
150
|
* resource if changed.
|
|
151
|
+
*
|
|
152
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
147
153
|
*/
|
|
148
154
|
readonly computeClusterId: pulumi.Output<string>;
|
|
149
155
|
/**
|
|
@@ -199,9 +205,11 @@ export interface ComputeClusterVmHostRuleState {
|
|
|
199
205
|
*/
|
|
200
206
|
antiAffinityHostGroupName?: pulumi.Input<string>;
|
|
201
207
|
/**
|
|
202
|
-
* The managed object reference
|
|
203
|
-
* ID of the cluster to put the group in. Forces a new
|
|
208
|
+
* The [managed object reference
|
|
209
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
204
210
|
* resource if changed.
|
|
211
|
+
*
|
|
212
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
205
213
|
*/
|
|
206
214
|
computeClusterId?: pulumi.Input<string>;
|
|
207
215
|
/**
|
|
@@ -249,9 +257,11 @@ export interface ComputeClusterVmHostRuleArgs {
|
|
|
249
257
|
*/
|
|
250
258
|
antiAffinityHostGroupName?: pulumi.Input<string>;
|
|
251
259
|
/**
|
|
252
|
-
* The managed object reference
|
|
253
|
-
* ID of the cluster to put the group in. Forces a new
|
|
260
|
+
* The [managed object reference
|
|
261
|
+
* ID][docs-about-morefs] of the cluster to put the group in. Forces a new
|
|
254
262
|
* resource if changed.
|
|
263
|
+
*
|
|
264
|
+
* [docs-about-morefs]: /docs/providers/vsphere/index.html#use-of-managed-object-references-by-the-vsphere-provider
|
|
255
265
|
*/
|
|
256
266
|
computeClusterId: pulumi.Input<string>;
|
|
257
267
|
/**
|