Skip to content

pulumi/pulumi-pulumiservice

Pulumi Service Provider

Slack NPM version Python version NuGet version PkgGoDev License

A Pulumi Resource Provider for The Pulumi Service.

The Pulumi Service Provider is built on top of the Pulumi Service REST API which is another feature available to our customers to programmatically configuring the Pulumi Service. The Pulumi Service REST API includes functionality to interact with and manipulate any kind of metadata managed by Pulumi. That includes Projects and Stacks, Previews and Updates, Organizations and Audit Logs. We have already seen Cloud Engineering teams using the Pulumi REST API to build all sorts of custom functionality. These new capabilities are especially powerful when used in combination with the Automation API.

Supported Resources

For reference documentation, visit the Pulumi Service API Documentation on the Pulumi Registry

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/pulumiservice

or yarn:

$ yarn add @pulumi/pulumiservice

Python

To use from Python, install using pip:

$ pip install pulumi_pulumiservice

Go

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

$ go get github.com/pulumi/pulumi-pulumiservice/sdk/go

.NET

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

$ dotnet add package Pulumi.PulumiService

Setup

Ensure that you have ran pulumi login. Run pulumi whoami to verify that you are logged in.

Configuration Options

Use pulumi config set pulumiservice:<option> or pass options to the constructor of new pulumiservice.Provider.

Option Environment Variable Name Required/Optional Description
accessToken PULUMI_ACCESS_TOKEN Optional Overrides Pulumi Service Access Tokens
apiUrl PULUMI_BACKEND_URL Optional Allows overriding default Pulumi Service API URL for self hosted customers.

Examples

import * as aws from "@pulumi/awsx"
import * as pulumi from "@pulumi/pulumi";
import * as service from "@pulumi/pulumiservice";

const team = new service.Team("team", {
    name: "pulumi-service-team",
    displayName: "Pulumi Service",
    description: "The Pulumi Service Team",
    organizationName: "pulumi",
    teamType: "pulumi",
    members: [
        "piers",
        "bryce",
        "casey"
        "evan",
        "devon",
        "meagan"
        "myles",
        "steve"
    ],
});

export const members = team.members;

Check out the examples/ directory for more examples.