Project: pulumi-random

A Pulumi package to safely use randomness in Pulumi programs.

Project Details

Latest version
4.15.0
Home Page
PyPI Page
https://pypi.org/project/pulumi-random/

Project Popularity

PageRank
0.0031614316487694983
Number of downloads
56157

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.