Random

v4.8.2 published on Thursday, Aug 18, 2022 by Pulumi

RandomPassword

Note: Requires random provider version >= 2.2.0

Identical to random.RandomString with the exception that the result is treated as sensitive and, thus, not displayed in console output.

Note: All attributes including the generated password will be stored in the raw state as plain-text. Read more about sensitive data in state.

This resource does use a cryptographic random number generator.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;
using Random = Pulumi.Random;

return await Deployment.RunAsync(() => 
{
    var password = new Random.RandomPassword("password", new()
    {
        Length = 16,
        Special = true,
        OverrideSpecial = "_%@",
    });

    var example = new Aws.Rds.Instance("example", new()
    {
        InstanceClass = "db.t3.micro",
        AllocatedStorage = 64,
        Engine = "mysql",
        Username = "someone",
        Password = password.Result,
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds"
	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		password, err := random.NewRandomPassword(ctx, "password", &random.RandomPasswordArgs{
			Length:          pulumi.Int(16),
			Special:         pulumi.Bool(true),
			OverrideSpecial: pulumi.String(fmt.Sprintf("_%v@", "%")),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewInstance(ctx, "example", &rds.InstanceArgs{
			InstanceClass:    pulumi.String("db.t3.micro"),
			AllocatedStorage: pulumi.Int(64),
			Engine:           pulumi.String("mysql"),
			Username:         pulumi.String("someone"),
			Password:         password.Result,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.RandomPassword;
import com.pulumi.random.RandomPasswordArgs;
import com.pulumi.aws.rds.Instance;
import com.pulumi.aws.rds.InstanceArgs;
import java.util.List;
import java.util.ArrayList;
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 password = new RandomPassword("password", RandomPasswordArgs.builder()        
            .length(16)
            .special(true)
            .overrideSpecial("_%@")
            .build());

        var example = new Instance("example", InstanceArgs.builder()        
            .instanceClass("db.t3.micro")
            .allocatedStorage(64)
            .engine("mysql")
            .username("someone")
            .password(password.result())
            .build());

    }
}
import pulumi
import pulumi_aws as aws
import pulumi_random as random

password = random.RandomPassword("password",
    length=16,
    special=True,
    override_special="_%@")
example = aws.rds.Instance("example",
    instance_class="db.t3.micro",
    allocated_storage=64,
    engine="mysql",
    username="someone",
    password=password.result)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as random from "@pulumi/random";

const password = new random.RandomPassword("password", {
    length: 16,
    special: true,
    overrideSpecial: `_%@`,
});
const example = new aws.rds.Instance("example", {
    instanceClass: "db.t3.micro",
    allocatedStorage: 64,
    engine: "mysql",
    username: "someone",
    password: password.result,
});
resources:
  password:
    type: random:RandomPassword
    properties:
      length: 16
      special: true
      overrideSpecial: _%@
  example:
    type: aws:rds:Instance
    properties:
      instanceClass: db.t3.micro
      allocatedStorage: 64
      engine: mysql
      username: someone
      password: ${password.result}

Create RandomPassword Resource

new RandomPassword(name: string, args: RandomPasswordArgs, opts?: CustomResourceOptions);
@overload
def RandomPassword(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   keepers: Optional[Mapping[str, Any]] = None,
                   length: Optional[int] = None,
                   lower: Optional[bool] = None,
                   min_lower: Optional[int] = None,
                   min_numeric: Optional[int] = None,
                   min_special: Optional[int] = None,
                   min_upper: Optional[int] = None,
                   number: Optional[bool] = None,
                   override_special: Optional[str] = None,
                   special: Optional[bool] = None,
                   upper: Optional[bool] = None)
@overload
def RandomPassword(resource_name: str,
                   args: RandomPasswordArgs,
                   opts: Optional[ResourceOptions] = None)
func NewRandomPassword(ctx *Context, name string, args RandomPasswordArgs, opts ...ResourceOption) (*RandomPassword, error)
public RandomPassword(string name, RandomPasswordArgs args, CustomResourceOptions? opts = null)
public RandomPassword(String name, RandomPasswordArgs args)
public RandomPassword(String name, RandomPasswordArgs args, CustomResourceOptions options)
type: random:RandomPassword
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args RandomPasswordArgs
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 RandomPasswordArgs
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 RandomPasswordArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args RandomPasswordArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args RandomPasswordArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

RandomPassword Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The RandomPassword resource accepts the following input properties:

Length int

The length of the string desired.

Keepers Dictionary<string, object>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

Lower bool

Include lowercase alphabet characters in the result.

MinLower int

Minimum number of lowercase alphabet characters in the result.

MinNumeric int

Minimum number of numeric characters in the result.

MinSpecial int

Minimum number of special characters in the result.

MinUpper int

Minimum number of uppercase alphabet characters in the result.

Number bool

Include numeric characters in the result.

OverrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

Special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

Upper bool

Include uppercase alphabet characters in the result.

Length int

The length of the string desired.

Keepers map[string]interface{}

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

Lower bool

Include lowercase alphabet characters in the result.

MinLower int

Minimum number of lowercase alphabet characters in the result.

MinNumeric int

Minimum number of numeric characters in the result.

MinSpecial int

Minimum number of special characters in the result.

MinUpper int

Minimum number of uppercase alphabet characters in the result.

Number bool

Include numeric characters in the result.

OverrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

Special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

Upper bool

Include uppercase alphabet characters in the result.

length Integer

The length of the string desired.

keepers Map<String,Object>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

lower Boolean

Include lowercase alphabet characters in the result.

minLower Integer

Minimum number of lowercase alphabet characters in the result.

minNumeric Integer

Minimum number of numeric characters in the result.

minSpecial Integer

Minimum number of special characters in the result.

minUpper Integer

Minimum number of uppercase alphabet characters in the result.

number Boolean

Include numeric characters in the result.

overrideSpecial String

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

special Boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper Boolean

Include uppercase alphabet characters in the result.

length number

The length of the string desired.

keepers {[key: string]: any}

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

lower boolean

Include lowercase alphabet characters in the result.

minLower number

Minimum number of lowercase alphabet characters in the result.

minNumeric number

Minimum number of numeric characters in the result.

minSpecial number

Minimum number of special characters in the result.

minUpper number

Minimum number of uppercase alphabet characters in the result.

number boolean

Include numeric characters in the result.

overrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

special boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper boolean

Include uppercase alphabet characters in the result.

length int

The length of the string desired.

keepers Mapping[str, Any]

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

lower bool

Include lowercase alphabet characters in the result.

min_lower int

Minimum number of lowercase alphabet characters in the result.

min_numeric int

Minimum number of numeric characters in the result.

min_special int

Minimum number of special characters in the result.

min_upper int

Minimum number of uppercase alphabet characters in the result.

number bool

Include numeric characters in the result.

override_special str

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper bool

Include uppercase alphabet characters in the result.

length Number

The length of the string desired.

keepers Map<Any>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

lower Boolean

Include lowercase alphabet characters in the result.

minLower Number

Minimum number of lowercase alphabet characters in the result.

minNumeric Number

Minimum number of numeric characters in the result.

minSpecial Number

Minimum number of special characters in the result.

minUpper Number

Minimum number of uppercase alphabet characters in the result.

number Boolean

Include numeric characters in the result.

overrideSpecial String

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

special Boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper Boolean

Include uppercase alphabet characters in the result.

Outputs

All input properties are implicitly available as output properties. Additionally, the RandomPassword resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Result string

The generated random string.

Id string

The provider-assigned unique ID for this managed resource.

Result string

The generated random string.

id String

The provider-assigned unique ID for this managed resource.

result String

The generated random string.

id string

The provider-assigned unique ID for this managed resource.

result string

The generated random string.

id str

The provider-assigned unique ID for this managed resource.

result str

The generated random string.

id String

The provider-assigned unique ID for this managed resource.

result String

The generated random string.

Look up Existing RandomPassword Resource

Get an existing RandomPassword 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?: RandomPasswordState, opts?: CustomResourceOptions): RandomPassword
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        keepers: Optional[Mapping[str, Any]] = None,
        length: Optional[int] = None,
        lower: Optional[bool] = None,
        min_lower: Optional[int] = None,
        min_numeric: Optional[int] = None,
        min_special: Optional[int] = None,
        min_upper: Optional[int] = None,
        number: Optional[bool] = None,
        override_special: Optional[str] = None,
        result: Optional[str] = None,
        special: Optional[bool] = None,
        upper: Optional[bool] = None) -> RandomPassword
func GetRandomPassword(ctx *Context, name string, id IDInput, state *RandomPasswordState, opts ...ResourceOption) (*RandomPassword, error)
public static RandomPassword Get(string name, Input<string> id, RandomPasswordState? state, CustomResourceOptions? opts = null)
public static RandomPassword get(String name, Output<String> id, RandomPasswordState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
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:
Keepers Dictionary<string, object>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

Length int

The length of the string desired.

Lower bool

Include lowercase alphabet characters in the result.

MinLower int

Minimum number of lowercase alphabet characters in the result.

MinNumeric int

Minimum number of numeric characters in the result.

MinSpecial int

Minimum number of special characters in the result.

MinUpper int

Minimum number of uppercase alphabet characters in the result.

Number bool

Include numeric characters in the result.

OverrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

Result string

The generated random string.

Special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

Upper bool

Include uppercase alphabet characters in the result.

Keepers map[string]interface{}

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

Length int

The length of the string desired.

Lower bool

Include lowercase alphabet characters in the result.

MinLower int

Minimum number of lowercase alphabet characters in the result.

MinNumeric int

Minimum number of numeric characters in the result.

MinSpecial int

Minimum number of special characters in the result.

MinUpper int

Minimum number of uppercase alphabet characters in the result.

Number bool

Include numeric characters in the result.

OverrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

Result string

The generated random string.

Special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

Upper bool

Include uppercase alphabet characters in the result.

keepers Map<String,Object>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

length Integer

The length of the string desired.

lower Boolean

Include lowercase alphabet characters in the result.

minLower Integer

Minimum number of lowercase alphabet characters in the result.

minNumeric Integer

Minimum number of numeric characters in the result.

minSpecial Integer

Minimum number of special characters in the result.

minUpper Integer

Minimum number of uppercase alphabet characters in the result.

number Boolean

Include numeric characters in the result.

overrideSpecial String

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

result String

The generated random string.

special Boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper Boolean

Include uppercase alphabet characters in the result.

keepers {[key: string]: any}

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

length number

The length of the string desired.

lower boolean

Include lowercase alphabet characters in the result.

minLower number

Minimum number of lowercase alphabet characters in the result.

minNumeric number

Minimum number of numeric characters in the result.

minSpecial number

Minimum number of special characters in the result.

minUpper number

Minimum number of uppercase alphabet characters in the result.

number boolean

Include numeric characters in the result.

overrideSpecial string

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

result string

The generated random string.

special boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper boolean

Include uppercase alphabet characters in the result.

keepers Mapping[str, Any]

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

length int

The length of the string desired.

lower bool

Include lowercase alphabet characters in the result.

min_lower int

Minimum number of lowercase alphabet characters in the result.

min_numeric int

Minimum number of numeric characters in the result.

min_special int

Minimum number of special characters in the result.

min_upper int

Minimum number of uppercase alphabet characters in the result.

number bool

Include numeric characters in the result.

override_special str

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

result str

The generated random string.

special bool

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper bool

Include uppercase alphabet characters in the result.

keepers Map<Any>

Arbitrary map of values that, when changed, will trigger recreation of resource. See the main provider documentation for more information.

length Number

The length of the string desired.

lower Boolean

Include lowercase alphabet characters in the result.

minLower Number

Minimum number of lowercase alphabet characters in the result.

minNumeric Number

Minimum number of numeric characters in the result.

minSpecial Number

Minimum number of special characters in the result.

minUpper Number

Minimum number of uppercase alphabet characters in the result.

number Boolean

Include numeric characters in the result.

overrideSpecial String

Supply your own list of special characters to use for string generation. This overrides the default character list in the special argument. The special argument must still be set to true for any overwritten characters to be used in generation.

result String

The generated random string.

special Boolean

Include special characters in the result. These are !@#$%&*()-_=+[]{}<>:?

upper Boolean

Include uppercase alphabet characters in the result.

Import

Random Password can be imported by specifying the value of the string

 $ pulumi import random:index/randomPassword:RandomPassword password securepassword

Package Details

Repository
https://github.com/pulumi/pulumi-random
License
Apache-2.0
Notes

This Pulumi package is based on the random Terraform Provider.