Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@pulumi/random
Advanced tools
A Pulumi package to safely use randomness in Pulumi programs.
@pulumi/random is an npm package that provides utilities for generating random values, such as random strings, random integers, and random passwords. It is particularly useful in infrastructure as code (IaC) scenarios where you need to generate random values for resource names, passwords, or other configurations.
Random String
Generates a random string of specified length. In this example, a random string of length 16 is generated without special characters.
const pulumi = require('@pulumi/pulumi');
const random = require('@pulumi/random');
const randomString = new random.RandomString('randomString', {
length: 16,
special: false,
});
exports.result = randomString.result;
Random Integer
Generates a random integer within a specified range. In this example, a random integer between 1 and 100 is generated.
const pulumi = require('@pulumi/pulumi');
const random = require('@pulumi/random');
const randomInteger = new random.RandomInteger('randomInteger', {
min: 1,
max: 100,
});
exports.result = randomInteger.result;
Random Password
Generates a random password of specified length. In this example, a random password of length 20 is generated with special characters included.
const pulumi = require('@pulumi/pulumi');
const random = require('@pulumi/random');
const randomPassword = new random.RandomPassword('randomPassword', {
length: 20,
special: true,
});
exports.result = randomPassword.result;
The 'randomstring' package is a simple utility for generating random strings. It is less feature-rich compared to @pulumi/random, focusing primarily on string generation without the additional capabilities for integers or passwords.
The 'crypto-random-string' package generates cryptographically strong random strings. It is similar to @pulumi/random in terms of string generation but does not offer features for generating random integers or passwords.
The 'secure-random-password' package specializes in generating secure random passwords. It offers more customization options for password generation compared to @pulumi/random but does not provide utilities for generating random strings or integers.
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.
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,
});
This package is available in many languages in the standard packaging formats.
To use from JavaScript or TypeScript in Node.js, install using either npm
:
$ npm install @pulumi/random
or yarn
:
$ yarn add @pulumi/random
To use from Python, install using pip
:
$ pip install pulumi_random
To use from Go, use go get
to grab the latest version of the library
$ go get github.com/pulumi/pulumi-random/sdk/go/...
For detailed reference documentation, please visit the API docs.
FAQs
A Pulumi package to safely use randomness in Pulumi programs.
The npm package @pulumi/random receives a total of 308,392 weekly downloads. As such, @pulumi/random popularity was classified as popular.
We found that @pulumi/random demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.