Pulumi
Overview
The Upstash Pulumi Provider lets you manage Upstash Redis resources programmatically.
You can find the Github Repository here.
Installing
This package is available for several languages/platforms:
Node.js (JavaScript/TypeScript)
To use from JavaScript or TypeScript in Node.js, install using either npm:
npm install @upstash/pulumior yarn:
yarn add @upstash/pulumiPython
To use from Python, install using pip:
pip install upstash_pulumiGo
To use from Go, use go get to grab the latest version of the library:
go get github.com/upstash/pulumi-upstash/sdk/go/...Configuration
The following configuration points are available for the upstash provider:
upstash:apiKey(environment:UPSTASH_API_KEY) - the API key forupstash. Can be obtained from the console.upstash:email(environment:UPSTASH_EMAIL) - owner email of the resources
Some Examples
TypeScript:
import * as pulumi from "@pulumi/pulumi";import * as upstash from "@upstash/pulumi";// multiple redis databases in a single for loopfor (let i = 0; i < 5; i++) { new upstash.RedisDatabase("mydb" + i, { databaseName: "pulumi-ts-db" + i, region: "eu-west-1", tls: true, });}Go:
package mainimport ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/upstash/pulumi-upstash/sdk/go/upstash")func main() { pulumi.Run(func(ctx *pulumi.Context) error { createdTeam, err := upstash.NewTeam(ctx, "exampleTeam", &upstash.TeamArgs{ TeamName: pulumi.String("pulumi go team"), CopyCc: pulumi.Bool(false), TeamMembers: pulumi.StringMap{ "<owner-email>": pulumi.String("owner"), "<some-other-user-email>": pulumi.String("dev"), }, }) if err != nil { return err } return nil })}