1. Registry
  2. Packages
  3. Vsphere Provider
  4. API Docs
  5. SsoUser
Viewing docs for vSphere v4.18.0
published on Wednesday, Sep 2, 2026 by Pulumi
vsphere logo vsphere logo
Viewing docs for vSphere v4.18.0
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 domain is 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.
    EmailAddress string
    The email address of the user.
    FirstName string
    The first name of the user.
    LastName 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.
    EmailAddress string
    The email address of the user.
    FirstName string
    The first name of the user.
    LastName 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.
    emailAddress String
    The email address of the user.
    firstName String
    The first name of the user.
    lastName 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.
    emailAddress string
    The email address of the user.
    firstName string
    The first name of the user.
    lastName 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.
    emailAddress String
    The email address of the user.
    firstName String
    The first name of the user.
    lastName 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) -> SsoUser
    func 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.
    The following state arguments are supported:
    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.
    EmailAddress string
    The email address of the user.
    FirstName string
    The first name of the user.
    LastName 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.
    EmailAddress string
    The email address of the user.
    FirstName string
    The first name of the user.
    LastName 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.
    emailAddress String
    The email address of the user.
    firstName String
    The first name of the user.
    lastName 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.
    emailAddress string
    The email address of the user.
    firstName string
    The first name of the user.
    lastName 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.
    emailAddress String
    The email address of the user.
    firstName String
    The first name of the user.
    lastName 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 password cannot 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 vsphere Terraform Provider.
    vsphere logo vsphere logo
    Viewing docs for vSphere v4.18.0
    published on Wednesday, Sep 2, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial