@pulumi/vsphere 4.18.0-alpha.1788071793 → 4.18.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/getHostPciDevice.d.ts +10 -10
- package/getHostPciDevice.js +10 -10
- package/getOvfVmTemplate.d.ts +19 -2
- package/getOvfVmTemplate.d.ts.map +1 -1
- package/getOvfVmTemplate.js +2 -0
- package/getOvfVmTemplate.js.map +1 -1
- package/getSsoGroup.d.ts +94 -0
- package/getSsoGroup.d.ts.map +1 -0
- package/getSsoGroup.js +79 -0
- package/getSsoGroup.js.map +1 -0
- package/getSsoUser.d.ts +106 -0
- package/getSsoUser.d.ts.map +1 -0
- package/getSsoUser.js +91 -0
- package/getSsoUser.js.map +1 -0
- package/getVirtualMachine.d.ts +6 -1
- package/getVirtualMachine.d.ts.map +1 -1
- package/getVirtualMachine.js.map +1 -1
- package/index.d.ts +15 -0
- package/index.d.ts.map +1 -1
- package/index.js +23 -2
- package/index.js.map +1 -1
- package/networkProtocolProfile.d.ts +256 -0
- package/networkProtocolProfile.d.ts.map +1 -0
- package/networkProtocolProfile.js +164 -0
- package/networkProtocolProfile.js.map +1 -0
- package/package.json +2 -2
- package/resourcePool.d.ts +18 -18
- package/ssoGroup.d.ts +164 -0
- package/ssoGroup.d.ts.map +1 -0
- package/ssoGroup.js +138 -0
- package/ssoGroup.js.map +1 -0
- package/ssoUser.d.ts +173 -0
- package/ssoUser.d.ts.map +1 -0
- package/ssoUser.js +132 -0
- package/ssoUser.js.map +1 -0
- package/types/input.d.ts +100 -0
- package/types/input.d.ts.map +1 -1
- package/types/output.d.ts +122 -0
- package/types/output.d.ts.map +1 -1
- package/vappContainer.d.ts +21 -21
- package/virtualMachine.d.ts +40 -0
- package/virtualMachine.d.ts.map +1 -1
- package/virtualMachine.js +30 -0
- package/virtualMachine.js.map +1 -1
- package/vnic.d.ts +1 -1
- package/vnic.d.ts.map +1 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.NetworkProtocolProfile = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("./utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* The `vsphere.NetworkProtocolProfile` resource can be used to
|
|
33
|
+
* create and manage network protocol profiles, also known as IP pools. A
|
|
34
|
+
* network protocol profile defines a range of IP addresses, along with DNS,
|
|
35
|
+
* gateway, and proxy settings, that can be associated with one or more
|
|
36
|
+
* networks (standard port groups, distributed port groups, or opaque
|
|
37
|
+
* networks) within a datacenter. vCenter Server uses this configuration to
|
|
38
|
+
* automatically assign network settings to virtual machines during
|
|
39
|
+
* provisioning and customization.
|
|
40
|
+
*
|
|
41
|
+
* > **NOTE:** This resource requires vCenter and is not available on direct ESX
|
|
42
|
+
* connections.
|
|
43
|
+
*
|
|
44
|
+
* > **NOTE:** vCenter allows a network to be associated with only one
|
|
45
|
+
* network protocol profile at a time. If a network in `networkIds` is already
|
|
46
|
+
* associated with a different network protocol profile, vCenter will
|
|
47
|
+
* silently move it away from that profile rather than rejecting the request.
|
|
48
|
+
* To prevent this, the provider validates that none of the configured
|
|
49
|
+
* `networkIds` are already assigned to another network protocol profile, and
|
|
50
|
+
* will raise an error (both at plan time and apply time) if a conflict is
|
|
51
|
+
* found.
|
|
52
|
+
*
|
|
53
|
+
* ## Example Usage
|
|
54
|
+
*
|
|
55
|
+
* ```typescript
|
|
56
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
57
|
+
* import * as vsphere from "@pulumi/vsphere";
|
|
58
|
+
*
|
|
59
|
+
* const datacenter = vsphere.getDatacenter({
|
|
60
|
+
* name: "dc-01",
|
|
61
|
+
* });
|
|
62
|
+
* const network = datacenter.then(datacenter => vsphere.getNetwork({
|
|
63
|
+
* name: "VM Network",
|
|
64
|
+
* datacenterId: datacenter.id,
|
|
65
|
+
* }));
|
|
66
|
+
* const profile = new vsphere.NetworkProtocolProfile("profile", {
|
|
67
|
+
* name: "example-profile",
|
|
68
|
+
* datacenterId: datacenter.then(datacenter => datacenter.id),
|
|
69
|
+
* networkIds: [network.then(network => network.id)],
|
|
70
|
+
* dnsDomain: "example.com",
|
|
71
|
+
* dnsSearchPath: "example.com",
|
|
72
|
+
* ipv4: {
|
|
73
|
+
* subnet: "10.10.10.0",
|
|
74
|
+
* netmask: "255.255.255.0",
|
|
75
|
+
* gateway: "10.10.10.1",
|
|
76
|
+
* range: "10.10.10.100#100",
|
|
77
|
+
* dnsServers: [
|
|
78
|
+
* "10.10.10.10",
|
|
79
|
+
* "10.10.10.11",
|
|
80
|
+
* ],
|
|
81
|
+
* },
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* ## Import
|
|
86
|
+
*
|
|
87
|
+
* An existing network protocol profile can be imported into
|
|
88
|
+
* this resource via a colon-separated combination of the datacenter's managed
|
|
89
|
+
* object ID and either the network protocol profile's name or its numeric ID,
|
|
90
|
+
* via the following command:
|
|
91
|
+
*
|
|
92
|
+
* [docs-import]: https://developer.hashicorp.com/terraform/cli/import
|
|
93
|
+
*
|
|
94
|
+
* ```sh
|
|
95
|
+
* $ pulumi import vsphere:index/networkProtocolProfile:NetworkProtocolProfile profile datacenter-21:example-profile
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* or, using the numeric ID:
|
|
99
|
+
*
|
|
100
|
+
* ```sh
|
|
101
|
+
* $ pulumi import vsphere:index/networkProtocolProfile:NetworkProtocolProfile profile datacenter-21:5
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
class NetworkProtocolProfile extends pulumi.CustomResource {
|
|
105
|
+
/**
|
|
106
|
+
* Get an existing NetworkProtocolProfile resource's state with the given name, ID, and optional extra
|
|
107
|
+
* properties used to qualify the lookup.
|
|
108
|
+
*
|
|
109
|
+
* @param name The _unique_ name of the resulting resource.
|
|
110
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
111
|
+
* @param state Any extra arguments used during the lookup.
|
|
112
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
113
|
+
*/
|
|
114
|
+
static get(name, id, state, opts) {
|
|
115
|
+
return new NetworkProtocolProfile(name, state, { ...opts, id: id });
|
|
116
|
+
}
|
|
117
|
+
/** @internal */
|
|
118
|
+
static __pulumiType = 'vsphere:index/networkProtocolProfile:NetworkProtocolProfile';
|
|
119
|
+
/**
|
|
120
|
+
* Returns true if the given object is an instance of NetworkProtocolProfile. This is designed to work even
|
|
121
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
122
|
+
*/
|
|
123
|
+
static isInstance(obj) {
|
|
124
|
+
if (obj === undefined || obj === null) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
return obj['__pulumiType'] === NetworkProtocolProfile.__pulumiType;
|
|
128
|
+
}
|
|
129
|
+
constructor(name, argsOrState, opts) {
|
|
130
|
+
let resourceInputs = {};
|
|
131
|
+
opts = opts || {};
|
|
132
|
+
if (opts.id) {
|
|
133
|
+
const state = argsOrState;
|
|
134
|
+
resourceInputs["datacenterId"] = state?.datacenterId;
|
|
135
|
+
resourceInputs["dnsDomain"] = state?.dnsDomain;
|
|
136
|
+
resourceInputs["dnsSearchPath"] = state?.dnsSearchPath;
|
|
137
|
+
resourceInputs["hostPrefix"] = state?.hostPrefix;
|
|
138
|
+
resourceInputs["httpProxy"] = state?.httpProxy;
|
|
139
|
+
resourceInputs["ipv4"] = state?.ipv4;
|
|
140
|
+
resourceInputs["ipv6"] = state?.ipv6;
|
|
141
|
+
resourceInputs["name"] = state?.name;
|
|
142
|
+
resourceInputs["networkIds"] = state?.networkIds;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const args = argsOrState;
|
|
146
|
+
if (args?.datacenterId === undefined && !opts.urn) {
|
|
147
|
+
throw new Error("Missing required property 'datacenterId'");
|
|
148
|
+
}
|
|
149
|
+
resourceInputs["datacenterId"] = args?.datacenterId;
|
|
150
|
+
resourceInputs["dnsDomain"] = args?.dnsDomain;
|
|
151
|
+
resourceInputs["dnsSearchPath"] = args?.dnsSearchPath;
|
|
152
|
+
resourceInputs["hostPrefix"] = args?.hostPrefix;
|
|
153
|
+
resourceInputs["httpProxy"] = args?.httpProxy;
|
|
154
|
+
resourceInputs["ipv4"] = args?.ipv4;
|
|
155
|
+
resourceInputs["ipv6"] = args?.ipv6;
|
|
156
|
+
resourceInputs["name"] = args?.name;
|
|
157
|
+
resourceInputs["networkIds"] = args?.networkIds;
|
|
158
|
+
}
|
|
159
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
160
|
+
super(NetworkProtocolProfile.__pulumiType, name, resourceInputs, opts);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.NetworkProtocolProfile = NetworkProtocolProfile;
|
|
164
|
+
//# sourceMappingURL=networkProtocolProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkProtocolProfile.js","sourceRoot":"","sources":["../networkProtocolProfile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/vsphere",
|
|
3
|
-
"version": "4.18.0
|
|
3
|
+
"version": "4.18.0",
|
|
4
4
|
"description": "A Pulumi package for creating vsphere resources",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
"pulumi": {
|
|
23
23
|
"resource": true,
|
|
24
24
|
"name": "vsphere",
|
|
25
|
-
"version": "4.18.0
|
|
25
|
+
"version": "4.18.0"
|
|
26
26
|
}
|
|
27
27
|
}
|
package/resourcePool.d.ts
CHANGED
|
@@ -185,18 +185,18 @@ export declare class ResourcePool extends pulumi.CustomResource {
|
|
|
185
185
|
*/
|
|
186
186
|
readonly memoryExpandable: pulumi.Output<boolean | undefined>;
|
|
187
187
|
/**
|
|
188
|
-
* The
|
|
188
|
+
* The memory utilization of a resource pool will not
|
|
189
189
|
* exceed this limit, even if there are available resources. Set to `-1` for
|
|
190
190
|
* unlimited. Default: `-1`
|
|
191
191
|
*/
|
|
192
192
|
readonly memoryLimit: pulumi.Output<number | undefined>;
|
|
193
193
|
/**
|
|
194
|
-
* Amount of
|
|
194
|
+
* Amount of memory (MB) that is guaranteed
|
|
195
195
|
* available to the resource pool. Default: `0`
|
|
196
196
|
*/
|
|
197
197
|
readonly memoryReservation: pulumi.Output<number | undefined>;
|
|
198
198
|
/**
|
|
199
|
-
* The
|
|
199
|
+
* The memory allocation level. The level is a
|
|
200
200
|
* simplified view of shares. Levels map to a pre-determined set of numeric
|
|
201
201
|
* values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
|
|
202
202
|
* `low`, `normal`, or `high` are specified values in `memoryShares` will be
|
|
@@ -204,9 +204,9 @@ export declare class ResourcePool extends pulumi.CustomResource {
|
|
|
204
204
|
*/
|
|
205
205
|
readonly memoryShareLevel: pulumi.Output<string | undefined>;
|
|
206
206
|
/**
|
|
207
|
-
* The number of shares allocated for
|
|
208
|
-
* determine resource allocation in case of resource contention. If this is
|
|
209
|
-
* `memoryShareLevel` must be `custom`.
|
|
207
|
+
* The number of shares allocated for memory. Used
|
|
208
|
+
* to determine resource allocation in case of resource contention. If this is
|
|
209
|
+
* set, `memoryShareLevel` must be `custom`.
|
|
210
210
|
*/
|
|
211
211
|
readonly memoryShares: pulumi.Output<number>;
|
|
212
212
|
/**
|
|
@@ -293,18 +293,18 @@ export interface ResourcePoolState {
|
|
|
293
293
|
*/
|
|
294
294
|
memoryExpandable?: pulumi.Input<boolean | undefined>;
|
|
295
295
|
/**
|
|
296
|
-
* The
|
|
296
|
+
* The memory utilization of a resource pool will not
|
|
297
297
|
* exceed this limit, even if there are available resources. Set to `-1` for
|
|
298
298
|
* unlimited. Default: `-1`
|
|
299
299
|
*/
|
|
300
300
|
memoryLimit?: pulumi.Input<number | undefined>;
|
|
301
301
|
/**
|
|
302
|
-
* Amount of
|
|
302
|
+
* Amount of memory (MB) that is guaranteed
|
|
303
303
|
* available to the resource pool. Default: `0`
|
|
304
304
|
*/
|
|
305
305
|
memoryReservation?: pulumi.Input<number | undefined>;
|
|
306
306
|
/**
|
|
307
|
-
* The
|
|
307
|
+
* The memory allocation level. The level is a
|
|
308
308
|
* simplified view of shares. Levels map to a pre-determined set of numeric
|
|
309
309
|
* values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
|
|
310
310
|
* `low`, `normal`, or `high` are specified values in `memoryShares` will be
|
|
@@ -312,9 +312,9 @@ export interface ResourcePoolState {
|
|
|
312
312
|
*/
|
|
313
313
|
memoryShareLevel?: pulumi.Input<string | undefined>;
|
|
314
314
|
/**
|
|
315
|
-
* The number of shares allocated for
|
|
316
|
-
* determine resource allocation in case of resource contention. If this is
|
|
317
|
-
* `memoryShareLevel` must be `custom`.
|
|
315
|
+
* The number of shares allocated for memory. Used
|
|
316
|
+
* to determine resource allocation in case of resource contention. If this is
|
|
317
|
+
* set, `memoryShareLevel` must be `custom`.
|
|
318
318
|
*/
|
|
319
319
|
memoryShares?: pulumi.Input<number | undefined>;
|
|
320
320
|
/**
|
|
@@ -393,18 +393,18 @@ export interface ResourcePoolArgs {
|
|
|
393
393
|
*/
|
|
394
394
|
memoryExpandable?: pulumi.Input<boolean | undefined>;
|
|
395
395
|
/**
|
|
396
|
-
* The
|
|
396
|
+
* The memory utilization of a resource pool will not
|
|
397
397
|
* exceed this limit, even if there are available resources. Set to `-1` for
|
|
398
398
|
* unlimited. Default: `-1`
|
|
399
399
|
*/
|
|
400
400
|
memoryLimit?: pulumi.Input<number | undefined>;
|
|
401
401
|
/**
|
|
402
|
-
* Amount of
|
|
402
|
+
* Amount of memory (MB) that is guaranteed
|
|
403
403
|
* available to the resource pool. Default: `0`
|
|
404
404
|
*/
|
|
405
405
|
memoryReservation?: pulumi.Input<number | undefined>;
|
|
406
406
|
/**
|
|
407
|
-
* The
|
|
407
|
+
* The memory allocation level. The level is a
|
|
408
408
|
* simplified view of shares. Levels map to a pre-determined set of numeric
|
|
409
409
|
* values for shares. Can be one of `low`, `normal`, `high`, or `custom`. When
|
|
410
410
|
* `low`, `normal`, or `high` are specified values in `memoryShares` will be
|
|
@@ -412,9 +412,9 @@ export interface ResourcePoolArgs {
|
|
|
412
412
|
*/
|
|
413
413
|
memoryShareLevel?: pulumi.Input<string | undefined>;
|
|
414
414
|
/**
|
|
415
|
-
* The number of shares allocated for
|
|
416
|
-
* determine resource allocation in case of resource contention. If this is
|
|
417
|
-
* `memoryShareLevel` must be `custom`.
|
|
415
|
+
* The number of shares allocated for memory. Used
|
|
416
|
+
* to determine resource allocation in case of resource contention. If this is
|
|
417
|
+
* set, `memoryShareLevel` must be `custom`.
|
|
418
418
|
*/
|
|
419
419
|
memoryShares?: pulumi.Input<number | undefined>;
|
|
420
420
|
/**
|
package/ssoGroup.d.ts
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "./types/input";
|
|
3
|
+
import * as outputs from "./types/output";
|
|
4
|
+
/**
|
|
5
|
+
* The `vsphere.SsoGroup` resource can be used to create and manage groups in the
|
|
6
|
+
* vCenter Single Sign-On local (system) domain, including the users and nested
|
|
7
|
+
* groups that belong to the group.
|
|
8
|
+
*
|
|
9
|
+
* > **NOTE:** Groups are always created in the local (system) domain. Group
|
|
10
|
+
* membership, however, may include users from any identity source (see
|
|
11
|
+
* `memberUser`).
|
|
12
|
+
*
|
|
13
|
+
* > **NOTE:** Membership is authoritative. The principals listed in
|
|
14
|
+
* `memberUser` and `memberGroup` are the complete set of members.
|
|
15
|
+
*
|
|
16
|
+
* > **NOTE:** The connecting user must hold vCenter Single Sign-On administrator
|
|
17
|
+
* privileges.
|
|
18
|
+
*
|
|
19
|
+
* ## Example Usage
|
|
20
|
+
*
|
|
21
|
+
* This example creates a local user and a group that contains that local user, a
|
|
22
|
+
* user from an external identity source, and a nested local group.
|
|
23
|
+
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
26
|
+
* import * as vsphere from "@pulumi/vsphere";
|
|
27
|
+
*
|
|
28
|
+
* const example = new vsphere.SsoUser("example", {
|
|
29
|
+
* name: "local.user",
|
|
30
|
+
* password: "P@ssw0rd123!",
|
|
31
|
+
* });
|
|
32
|
+
* const nested = new vsphere.SsoGroup("nested", {name: "engineering-leads"});
|
|
33
|
+
* const exampleSsoGroup = new vsphere.SsoGroup("example", {
|
|
34
|
+
* name: "engineering",
|
|
35
|
+
* description: "Managed by Pulumi",
|
|
36
|
+
* memberUsers: [
|
|
37
|
+
* {
|
|
38
|
+
* name: example.name,
|
|
39
|
+
* domain: example.domain,
|
|
40
|
+
* },
|
|
41
|
+
* {
|
|
42
|
+
* name: "john.doe",
|
|
43
|
+
* domain: "example.com",
|
|
44
|
+
* },
|
|
45
|
+
* ],
|
|
46
|
+
* memberGroups: [{
|
|
47
|
+
* name: nested.name,
|
|
48
|
+
* domain: nested.domain,
|
|
49
|
+
* }],
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* ## Import
|
|
54
|
+
*
|
|
55
|
+
* An existing group can be imported into this resource by supplying its
|
|
56
|
+
* `name@domain` identifier. An example is below:
|
|
57
|
+
*
|
|
58
|
+
* ```sh
|
|
59
|
+
* $ pulumi import vsphere:index/ssoGroup:SsoGroup example engineering@vsphere.local
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class SsoGroup extends pulumi.CustomResource {
|
|
63
|
+
/**
|
|
64
|
+
* Get an existing SsoGroup resource's state with the given name, ID, and optional extra
|
|
65
|
+
* properties used to qualify the lookup.
|
|
66
|
+
*
|
|
67
|
+
* @param name The _unique_ name of the resulting resource.
|
|
68
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
69
|
+
* @param state Any extra arguments used during the lookup.
|
|
70
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
71
|
+
*/
|
|
72
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SsoGroupState, opts?: pulumi.CustomResourceOptions): SsoGroup;
|
|
73
|
+
/**
|
|
74
|
+
* Returns true if the given object is an instance of SsoGroup. This is designed to work even
|
|
75
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
76
|
+
*/
|
|
77
|
+
static isInstance(obj: any): obj is SsoGroup;
|
|
78
|
+
/**
|
|
79
|
+
* A description of the group.
|
|
80
|
+
*/
|
|
81
|
+
readonly description: pulumi.Output<string | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* The identity source domain the group belongs to (the local/system
|
|
84
|
+
* domain).
|
|
85
|
+
*/
|
|
86
|
+
readonly domain: pulumi.Output<string>;
|
|
87
|
+
/**
|
|
88
|
+
* The set of groups that are nested members of this
|
|
89
|
+
* group. Members may come from any identity source. Each `memberGroup` block
|
|
90
|
+
*/
|
|
91
|
+
readonly memberGroups: pulumi.Output<outputs.SsoGroupMemberGroup[] | undefined>;
|
|
92
|
+
/**
|
|
93
|
+
* The set of users that are members of this group.
|
|
94
|
+
* Members may come from any identity source. Each `memberUser` block supports
|
|
95
|
+
* the following:
|
|
96
|
+
*/
|
|
97
|
+
readonly memberUsers: pulumi.Output<outputs.SsoGroupMemberUser[] | undefined>;
|
|
98
|
+
/**
|
|
99
|
+
* The name of the group. Forces a new resource if changed.
|
|
100
|
+
*/
|
|
101
|
+
readonly name: pulumi.Output<string>;
|
|
102
|
+
/**
|
|
103
|
+
* Create a SsoGroup resource with the given unique name, arguments, and options.
|
|
104
|
+
*
|
|
105
|
+
* @param name The _unique_ name of the resource.
|
|
106
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
107
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
108
|
+
*/
|
|
109
|
+
constructor(name: string, args?: SsoGroupArgs, opts?: pulumi.CustomResourceOptions);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Input properties used for looking up and filtering SsoGroup resources.
|
|
113
|
+
*/
|
|
114
|
+
export interface SsoGroupState {
|
|
115
|
+
/**
|
|
116
|
+
* A description of the group.
|
|
117
|
+
*/
|
|
118
|
+
description?: pulumi.Input<string | undefined>;
|
|
119
|
+
/**
|
|
120
|
+
* The identity source domain the group belongs to (the local/system
|
|
121
|
+
* domain).
|
|
122
|
+
*/
|
|
123
|
+
domain?: pulumi.Input<string | undefined>;
|
|
124
|
+
/**
|
|
125
|
+
* The set of groups that are nested members of this
|
|
126
|
+
* group. Members may come from any identity source. Each `memberGroup` block
|
|
127
|
+
*/
|
|
128
|
+
memberGroups?: pulumi.Input<pulumi.Input<inputs.SsoGroupMemberGroup>[] | undefined>;
|
|
129
|
+
/**
|
|
130
|
+
* The set of users that are members of this group.
|
|
131
|
+
* Members may come from any identity source. Each `memberUser` block supports
|
|
132
|
+
* the following:
|
|
133
|
+
*/
|
|
134
|
+
memberUsers?: pulumi.Input<pulumi.Input<inputs.SsoGroupMemberUser>[] | undefined>;
|
|
135
|
+
/**
|
|
136
|
+
* The name of the group. Forces a new resource if changed.
|
|
137
|
+
*/
|
|
138
|
+
name?: pulumi.Input<string | undefined>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* The set of arguments for constructing a SsoGroup resource.
|
|
142
|
+
*/
|
|
143
|
+
export interface SsoGroupArgs {
|
|
144
|
+
/**
|
|
145
|
+
* A description of the group.
|
|
146
|
+
*/
|
|
147
|
+
description?: pulumi.Input<string | undefined>;
|
|
148
|
+
/**
|
|
149
|
+
* The set of groups that are nested members of this
|
|
150
|
+
* group. Members may come from any identity source. Each `memberGroup` block
|
|
151
|
+
*/
|
|
152
|
+
memberGroups?: pulumi.Input<pulumi.Input<inputs.SsoGroupMemberGroup>[] | undefined>;
|
|
153
|
+
/**
|
|
154
|
+
* The set of users that are members of this group.
|
|
155
|
+
* Members may come from any identity source. Each `memberUser` block supports
|
|
156
|
+
* the following:
|
|
157
|
+
*/
|
|
158
|
+
memberUsers?: pulumi.Input<pulumi.Input<inputs.SsoGroupMemberUser>[] | undefined>;
|
|
159
|
+
/**
|
|
160
|
+
* The name of the group. Forces a new resource if changed.
|
|
161
|
+
*/
|
|
162
|
+
name?: pulumi.Input<string | undefined>;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=ssoGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssoGroup.d.ts","sourceRoot":"","sources":["../ssoGroup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,QAAQ;IAOlI;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ;IAOnD;;OAEG;IACH,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE;;;OAGG;IACH,SAAgC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D;;;OAGG;IACH,SAAwB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC/F;;;;OAIG;IACH,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC7F;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpD;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAsBrF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACpF;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAClF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACpF;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAClF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C"}
|
package/ssoGroup.js
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.SsoGroup = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("./utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* The `vsphere.SsoGroup` resource can be used to create and manage groups in the
|
|
33
|
+
* vCenter Single Sign-On local (system) domain, including the users and nested
|
|
34
|
+
* groups that belong to the group.
|
|
35
|
+
*
|
|
36
|
+
* > **NOTE:** Groups are always created in the local (system) domain. Group
|
|
37
|
+
* membership, however, may include users from any identity source (see
|
|
38
|
+
* `memberUser`).
|
|
39
|
+
*
|
|
40
|
+
* > **NOTE:** Membership is authoritative. The principals listed in
|
|
41
|
+
* `memberUser` and `memberGroup` are the complete set of members.
|
|
42
|
+
*
|
|
43
|
+
* > **NOTE:** The connecting user must hold vCenter Single Sign-On administrator
|
|
44
|
+
* privileges.
|
|
45
|
+
*
|
|
46
|
+
* ## Example Usage
|
|
47
|
+
*
|
|
48
|
+
* This example creates a local user and a group that contains that local user, a
|
|
49
|
+
* user from an external identity source, and a nested local group.
|
|
50
|
+
*
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
53
|
+
* import * as vsphere from "@pulumi/vsphere";
|
|
54
|
+
*
|
|
55
|
+
* const example = new vsphere.SsoUser("example", {
|
|
56
|
+
* name: "local.user",
|
|
57
|
+
* password: "P@ssw0rd123!",
|
|
58
|
+
* });
|
|
59
|
+
* const nested = new vsphere.SsoGroup("nested", {name: "engineering-leads"});
|
|
60
|
+
* const exampleSsoGroup = new vsphere.SsoGroup("example", {
|
|
61
|
+
* name: "engineering",
|
|
62
|
+
* description: "Managed by Pulumi",
|
|
63
|
+
* memberUsers: [
|
|
64
|
+
* {
|
|
65
|
+
* name: example.name,
|
|
66
|
+
* domain: example.domain,
|
|
67
|
+
* },
|
|
68
|
+
* {
|
|
69
|
+
* name: "john.doe",
|
|
70
|
+
* domain: "example.com",
|
|
71
|
+
* },
|
|
72
|
+
* ],
|
|
73
|
+
* memberGroups: [{
|
|
74
|
+
* name: nested.name,
|
|
75
|
+
* domain: nested.domain,
|
|
76
|
+
* }],
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* ## Import
|
|
81
|
+
*
|
|
82
|
+
* An existing group can be imported into this resource by supplying its
|
|
83
|
+
* `name@domain` identifier. An example is below:
|
|
84
|
+
*
|
|
85
|
+
* ```sh
|
|
86
|
+
* $ pulumi import vsphere:index/ssoGroup:SsoGroup example engineering@vsphere.local
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
class SsoGroup extends pulumi.CustomResource {
|
|
90
|
+
/**
|
|
91
|
+
* Get an existing SsoGroup resource's state with the given name, ID, and optional extra
|
|
92
|
+
* properties used to qualify the lookup.
|
|
93
|
+
*
|
|
94
|
+
* @param name The _unique_ name of the resulting resource.
|
|
95
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
96
|
+
* @param state Any extra arguments used during the lookup.
|
|
97
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
98
|
+
*/
|
|
99
|
+
static get(name, id, state, opts) {
|
|
100
|
+
return new SsoGroup(name, state, { ...opts, id: id });
|
|
101
|
+
}
|
|
102
|
+
/** @internal */
|
|
103
|
+
static __pulumiType = 'vsphere:index/ssoGroup:SsoGroup';
|
|
104
|
+
/**
|
|
105
|
+
* Returns true if the given object is an instance of SsoGroup. This is designed to work even
|
|
106
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
107
|
+
*/
|
|
108
|
+
static isInstance(obj) {
|
|
109
|
+
if (obj === undefined || obj === null) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return obj['__pulumiType'] === SsoGroup.__pulumiType;
|
|
113
|
+
}
|
|
114
|
+
constructor(name, argsOrState, opts) {
|
|
115
|
+
let resourceInputs = {};
|
|
116
|
+
opts = opts || {};
|
|
117
|
+
if (opts.id) {
|
|
118
|
+
const state = argsOrState;
|
|
119
|
+
resourceInputs["description"] = state?.description;
|
|
120
|
+
resourceInputs["domain"] = state?.domain;
|
|
121
|
+
resourceInputs["memberGroups"] = state?.memberGroups;
|
|
122
|
+
resourceInputs["memberUsers"] = state?.memberUsers;
|
|
123
|
+
resourceInputs["name"] = state?.name;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const args = argsOrState;
|
|
127
|
+
resourceInputs["description"] = args?.description;
|
|
128
|
+
resourceInputs["memberGroups"] = args?.memberGroups;
|
|
129
|
+
resourceInputs["memberUsers"] = args?.memberUsers;
|
|
130
|
+
resourceInputs["name"] = args?.name;
|
|
131
|
+
resourceInputs["domain"] = undefined /*out*/;
|
|
132
|
+
}
|
|
133
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
134
|
+
super(SsoGroup.__pulumiType, name, resourceInputs, opts);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.SsoGroup = SsoGroup;
|
|
138
|
+
//# sourceMappingURL=ssoGroup.js.map
|
package/ssoGroup.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssoGroup.js","sourceRoot":"","sources":["../ssoGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAGzC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqB,EAAE,IAAmC;QACnH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,iCAAiC,CAAC;IAExE;;;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,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAmCD,YAAY,IAAY,EAAE,WAA0C,EAAE,IAAmC;QACrG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwC,CAAC;YACvD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAuC,CAAC;YACrD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAChD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAjFL,4BAkFC"}
|