Skip to content

A Pulumi provider that safely enables randomness for resources

License

Notifications You must be signed in to change notification settings

pulumi/pulumi-random

Folders and files

NameName
Last commit message
Last commit date
Nov 9, 2023
Apr 2, 2025
Nov 22, 2024
Apr 9, 2025
Apr 9, 2025
Feb 15, 2025
Apr 9, 2025
Jan 10, 2025
Dec 6, 2023
Nov 26, 2024
Feb 15, 2025
Apr 9, 2025
Nov 12, 2024
Mar 21, 2022
Jul 11, 2024
Feb 17, 2022
Oct 25, 2018
Oct 25, 2018
Feb 15, 2025
Jul 3, 2023
Feb 27, 2025
Nov 17, 2023

Actions Status Slack NPM version NuGet version Python version PkgGoDev License

Random Provider

The random provider allows the safe use of randomness in a Pulumi program. This allows you to generate resource properties, such as names, that contain randomness in a way that works with Pulumi's goal state oriented approach. Using randomness as usual would not work well with Pulumi, because by definition, each time the program is evaluated, a new random state would be produced, necessitating re-convergence on the goal state. This provider understands how to work with the Pulumi resource lifecycle to accomplish randomness safely and in a way that works as desired.

Installing

This package is available in many languages in the standard packaging formats.

Node.js (Java/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either npm:

$ npm install @pulumi/random

or yarn:

$ yarn add @pulumi/random

Python

To use from Python, install using pip:

$ pip install pulumi_random

Go

To use from Go, use go get to grab the latest version of the library

$ go get github.com/pulumi/pulumi-random/sdk/v4/go/...

.NET

To use from .NET, install using dotnet add package:

$ dotnet add package Pulumi.Random

Example

For example, to generate a random password, allocate a RandomPassword resource and then use its result output property (of type Output<string>) to pass to another resource.

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,
    overrideSpecial: "_%@",
    special: true,
});
const example = new aws.rds.Instance("example", {
    password: password.result,
});

Reference

For further information, please visit the random provider docs or for detailed reference documentation, please visit the API docs.