published on Wednesday, Sep 2, 2026 by Pulumi
published on Wednesday, Sep 2, 2026 by Pulumi
The vsphere.SsoUser resource can be used to create and manage local users in
the vCenter Single Sign-On local (system) domain.
NOTE: Users can only be created in the local domain. A user from an external identity source is managed by that identity provider. It can be imported and referenced (for example, added to a group), but it cannot be created, modified, or deleted through this resource.
NOTE: When
domainis omitted it defaults to the resolved local domain.
NOTE: The connecting user must hold vCenter Single Sign-On administrator privileges.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vsphere from "@pulumi/vsphere";
const example = new vsphere.SsoUser("example", {
name: "local.user",
password: "P@ssw0rd123!",
firstName: "Custom",
lastName: "User",
emailAddress: "local.user@example.com",
description: "Managed by Pulumi",
});
import pulumi
import pulumi_vsphere as vsphere
example = vsphere.SsoUser("example",
name="local.user",
password="P@ssw0rd123!",
first_name="Custom",
last_name="User",
email_address="local.user@example.com",
description="Managed by Pulumi")
package main
import (
"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vsphere.NewSsoUser(ctx, "example", &vsphere.SsoUserArgs{
Name: pulumi.String("local.user"),
Password: pulumi.String("P@ssw0rd123!"),
FirstName: pulumi.String("Custom"),
LastName: pulumi.String("User"),
EmailAddress: pulumi.String("local.user@example.com"),
Description: pulumi.String("Managed by Pulumi"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using VSphere = Pulumi.VSphere;
return await Deployment.RunAsync(() =>
{
var example = new VSphere.SsoUser("example", new()
{
Name = "local.user",
Password = "P@ssw0rd123!",
FirstName = "Custom",
LastName = "User",
EmailAddress = "local.user@example.com",
Description = "Managed by Pulumi",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vsphere.SsoUser;
import com.pulumi.vsphere.SsoUserArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new SsoUser("example", SsoUserArgs.builder()
.name("local.user")
.password("P@ssw0rd123!")
.firstName("Custom")
.lastName("User")
.emailAddress("local.user@example.com")
.description("Managed by Pulumi")
.build());
}
}
resources:
example:
type: vsphere:SsoUser
properties:
name: local.user
password: P@ssw0rd123!
firstName: Custom
lastName: User
emailAddress: local.user@example.com
description: Managed by Pulumi
pulumi {
required_providers {
vsphere = {
source = "pulumi/vsphere"
}
}
}
resource "vsphere_ssouser" "example" {
name = "local.user"
password = "P@ssw0rd123!"
first_name = "Custom"
last_name = "User"
email_address = "local.user@example.com"
description = "Managed by Pulumi"
}
Create SsoUser Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SsoUser(name: string, args: SsoUserArgs, opts?: CustomResourceOptions);@overload
def SsoUser(resource_name: str,
args: SsoUserArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SsoUser(resource_name: str,
opts: Optional[ResourceOptions] = None,
password: Optional[str] = None,
description: Optional[str] = None,
domain: Optional[str] = None,
email_address: Optional[str] = None,
first_name: Optional[str] = None,
last_name: Optional[str] = None,
name: Optional[str] = None)func NewSsoUser(ctx *Context, name string, args SsoUserArgs, opts ...ResourceOption) (*SsoUser, error)public SsoUser(string name, SsoUserArgs args, CustomResourceOptions? opts = null)
public SsoUser(String name, SsoUserArgs args)
public SsoUser(String name, SsoUserArgs args, CustomResourceOptions options)
type: vsphere:SsoUser
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "vsphere_sso_user" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args SsoUserArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SsoUserArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SsoUserArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SsoUserArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SsoUserArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var ssoUserResource = new VSphere.SsoUser("ssoUserResource", new()
{
Password = "string",
Description = "string",
Domain = "string",
EmailAddress = "string",
FirstName = "string",
LastName = "string",
Name = "string",
});
example, err := vsphere.NewSsoUser(ctx, "ssoUserResource", &vsphere.SsoUserArgs{
Password: pulumi.String("string"),
Description: pulumi.String("string"),
Domain: pulumi.String("string"),
EmailAddress: pulumi.String("string"),
FirstName: pulumi.String("string"),
LastName: pulumi.String("string"),
Name: pulumi.String("string"),
})
resource "vsphere_sso_user" "ssoUserResource" {
lifecycle {
create_before_destroy = true
}
password = "string"
description = "string"
domain = "string"
email_address = "string"
first_name = "string"
last_name = "string"
name = "string"
}
var ssoUserResource = new SsoUser("ssoUserResource", SsoUserArgs.builder()
.password("string")
.description("string")
.domain("string")
.emailAddress("string")
.firstName("string")
.lastName("string")
.name("string")
.build());
sso_user_resource = vsphere.SsoUser("ssoUserResource",
password="string",
description="string",
domain="string",
email_address="string",
first_name="string",
last_name="string",
name="string")
const ssoUserResource = new vsphere.SsoUser("ssoUserResource", {
password: "string",
description: "string",
domain: "string",
emailAddress: "string",
firstName: "string",
lastName: "string",
name: "string",
});
type: vsphere:SsoUser
properties:
description: string
domain: string
emailAddress: string
firstName: string
lastName: string
name: string
password: string
SsoUser Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The SsoUser resource accepts the following input properties:
- Password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- Description string
- A description of the user.
- Domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- Email
Address string - The email address of the user.
- First
Name string - The first name of the user.
- Last
Name string - The last name of the user.
- Name string
- The username of the user. Forces a new resource if changed.
- Password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- Description string
- A description of the user.
- Domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- Email
Address string - The email address of the user.
- First
Name string - The first name of the user.
- Last
Name string - The last name of the user.
- Name string
- The username of the user. Forces a new resource if changed.
- password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description string
- A description of the user.
- domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email_
address string - The email address of the user.
- first_
name string - The first name of the user.
- last_
name string - The last name of the user.
- name string
- The username of the user. Forces a new resource if changed.
- password String
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description String
- A description of the user.
- domain String
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address String - The email address of the user.
- first
Name String - The first name of the user.
- last
Name String - The last name of the user.
- name String
- The username of the user. Forces a new resource if changed.
- password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description string
- A description of the user.
- domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address string - The email address of the user.
- first
Name string - The first name of the user.
- last
Name string - The last name of the user.
- name string
- The username of the user. Forces a new resource if changed.
- password str
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description str
- A description of the user.
- domain str
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email_
address str - The email address of the user.
- first_
name str - The first name of the user.
- last_
name str - The last name of the user.
- name str
- The username of the user. Forces a new resource if changed.
- password String
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description String
- A description of the user.
- domain String
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address String - The email address of the user.
- first
Name String - The first name of the user.
- last
Name String - The last name of the user.
- name String
- The username of the user. Forces a new resource if changed.
Outputs
All input properties are implicitly available as output properties. Additionally, the SsoUser resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing SsoUser Resource
Get an existing SsoUser resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SsoUserState, opts?: CustomResourceOptions): SsoUser@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
domain: Optional[str] = None,
email_address: Optional[str] = None,
first_name: Optional[str] = None,
last_name: Optional[str] = None,
name: Optional[str] = None,
password: Optional[str] = None) -> SsoUserfunc GetSsoUser(ctx *Context, name string, id IDInput, state *SsoUserState, opts ...ResourceOption) (*SsoUser, error)public static SsoUser Get(string name, Input<string> id, SsoUserState? state, CustomResourceOptions? opts = null)public static SsoUser get(String name, Output<String> id, SsoUserState state, CustomResourceOptions options)resources: _: type: vsphere:SsoUser get: id: ${id}import {
to = vsphere_sso_user.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Description string
- A description of the user.
- Domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- Email
Address string - The email address of the user.
- First
Name string - The first name of the user.
- Last
Name string - The last name of the user.
- Name string
- The username of the user. Forces a new resource if changed.
- Password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- Description string
- A description of the user.
- Domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- Email
Address string - The email address of the user.
- First
Name string - The first name of the user.
- Last
Name string - The last name of the user.
- Name string
- The username of the user. Forces a new resource if changed.
- Password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description string
- A description of the user.
- domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email_
address string - The email address of the user.
- first_
name string - The first name of the user.
- last_
name string - The last name of the user.
- name string
- The username of the user. Forces a new resource if changed.
- password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description String
- A description of the user.
- domain String
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address String - The email address of the user.
- first
Name String - The first name of the user.
- last
Name String - The last name of the user.
- name String
- The username of the user. Forces a new resource if changed.
- password String
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description string
- A description of the user.
- domain string
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address string - The email address of the user.
- first
Name string - The first name of the user.
- last
Name string - The last name of the user.
- name string
- The username of the user. Forces a new resource if changed.
- password string
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description str
- A description of the user.
- domain str
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email_
address str - The email address of the user.
- first_
name str - The first name of the user.
- last_
name str - The last name of the user.
- name str
- The username of the user. Forces a new resource if changed.
- password str
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
- description String
- A description of the user.
- domain String
- The identity source domain the user belongs to. Defaults to the local (system) domain. Forces a new resource if changed.
- email
Address String - The email address of the user.
- first
Name String - The first name of the user.
- last
Name String - The last name of the user.
- name String
- The username of the user. Forces a new resource if changed.
- password String
- The password for the user. This value is write-only it cannot be read back from vCenter, so no drift is detected on it.
Import
An existing user can be imported into this resource by supplying its
name@domain identifier. An example is below:
$ pulumi import vsphere:index/ssoUser:SsoUser example custom.user@vsphere.local
NOTE: The
passwordcannot be read from vCenter, so it is not populated by an import.
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- vSphere pulumi/pulumi-vsphere
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vsphereTerraform Provider.
published on Wednesday, Sep 2, 2026 by Pulumi