@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.
Files changed (46) hide show
  1. package/getHostPciDevice.d.ts +10 -10
  2. package/getHostPciDevice.js +10 -10
  3. package/getOvfVmTemplate.d.ts +19 -2
  4. package/getOvfVmTemplate.d.ts.map +1 -1
  5. package/getOvfVmTemplate.js +2 -0
  6. package/getOvfVmTemplate.js.map +1 -1
  7. package/getSsoGroup.d.ts +94 -0
  8. package/getSsoGroup.d.ts.map +1 -0
  9. package/getSsoGroup.js +79 -0
  10. package/getSsoGroup.js.map +1 -0
  11. package/getSsoUser.d.ts +106 -0
  12. package/getSsoUser.d.ts.map +1 -0
  13. package/getSsoUser.js +91 -0
  14. package/getSsoUser.js.map +1 -0
  15. package/getVirtualMachine.d.ts +6 -1
  16. package/getVirtualMachine.d.ts.map +1 -1
  17. package/getVirtualMachine.js.map +1 -1
  18. package/index.d.ts +15 -0
  19. package/index.d.ts.map +1 -1
  20. package/index.js +23 -2
  21. package/index.js.map +1 -1
  22. package/networkProtocolProfile.d.ts +256 -0
  23. package/networkProtocolProfile.d.ts.map +1 -0
  24. package/networkProtocolProfile.js +164 -0
  25. package/networkProtocolProfile.js.map +1 -0
  26. package/package.json +2 -2
  27. package/resourcePool.d.ts +18 -18
  28. package/ssoGroup.d.ts +164 -0
  29. package/ssoGroup.d.ts.map +1 -0
  30. package/ssoGroup.js +138 -0
  31. package/ssoGroup.js.map +1 -0
  32. package/ssoUser.d.ts +173 -0
  33. package/ssoUser.d.ts.map +1 -0
  34. package/ssoUser.js +132 -0
  35. package/ssoUser.js.map +1 -0
  36. package/types/input.d.ts +100 -0
  37. package/types/input.d.ts.map +1 -1
  38. package/types/output.d.ts +122 -0
  39. package/types/output.d.ts.map +1 -1
  40. package/vappContainer.d.ts +21 -21
  41. package/virtualMachine.d.ts +40 -0
  42. package/virtualMachine.d.ts.map +1 -1
  43. package/virtualMachine.js +30 -0
  44. package/virtualMachine.js.map +1 -1
  45. package/vnic.d.ts +1 -1
  46. 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-alpha.1788071793",
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-alpha.1788071793"
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 CPU utilization of a resource pool will not
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 CPU (MHz) that is guaranteed
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 CPU allocation level. The level is a
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 CPU. Used to
208
- * determine resource allocation in case of resource contention. If this is set,
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 CPU utilization of a resource pool will not
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 CPU (MHz) that is guaranteed
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 CPU allocation level. The level is a
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 CPU. Used to
316
- * determine resource allocation in case of resource contention. If this is set,
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 CPU utilization of a resource pool will not
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 CPU (MHz) that is guaranteed
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 CPU allocation level. The level is a
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 CPU. Used to
416
- * determine resource allocation in case of resource contention. If this is set,
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
@@ -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"}