Pulumi Automation API adds `install` for NodeJS, Python, and Go
Introduced 2026-10-07 · score 0.96
HOW TO USE IT
When a NodeJS, Python, or Go Automation API workflow needs the Pulumi CLI at runtime, call that language’s `install` interface to download and install it. The default install uses the CLI version matching the SDK and places it under `~/.pulumi/versions/<version>`; pass the returned command to the workspace that runs the stack.
const pulumiCommand = await PulumiCommand.install();
const stack = await LocalWorkspace.createOrSelectStack(args, { pulumiCommand });const pulumi_command = auto.PulumiCommand.install()
stack = auto.create_or_select_stack(stack_name=stack_name,
project_name=project_name,
program=pulumi_program,
opts=auto.LocalWorkspaceOptions(pulumi_command=pulumi_command))ctx := context.Background()
pulumiCmd, err := auto.InstallPulumiCommand(ctx, &auto.PulumiCommandOptions{})
if err != nil {
return err
}
s, err := auto.UpsertStackInlineSource(ctx, stackName, projectName, deployFunc, auto.Pulumi(pulumiCmd))WHY THIS HELPS
Install Pulumi through the generated Automation API in a NodeJS, Python, or Go workflow.
REQUIREMENTS AND LIMITATIONS
- Version: 3.268.0
- NodeJS `opts` (optional): `root`: Directory to install the CLI in or find an existing installation; defaults to `$HOME/.pulumi/versions/$VERSION.
- NodeJS `opts` (optional): `version`: CLI version to use; defaults to the version matching the SDK.
- NodeJS `opts` (optional): `skipVersionCheck`: Skips the minimum CLI version check.
- Python `root`: Install directory; defaults to `~/.pulumi/versions/<version>`.
- Python `version`: CLI version to install; defaults to the version matching the SDK.
- Python `skip_version_check`: Skips version validation; `PULUMI_AUTOMATION_API_SKIP_VERSION_CHECK` also disables the check and takes precedence.
- Go `ctx` (required): Context passed to `InstallPulumiCommand`.
- Go `opts` (required): Pointer to `PulumiCommandOptions`; documented fields are `Root` (install directory), `Version` (CLI version), and `SkipVersionCheck` (disable version validation). Defaults install the CLI version matching the SDK under `$HOME/.pulumi/versions/$VERSION`.
- Prerequisite: Automation API requires the chosen language runtime. The getting-started guide lists Node.js, Python, or Go as applicable runtime prerequisites.
- Prerequisite: The Automation API guide says to configure a Pulumi access token or another state backend; deployment examples may also require target cloud credentials.
- The generated Automation APIs named in the release are for NodeJS, Python, and Go.
FIRST-PARTY EVIDENCE
- https://github.com/pulumi/pulumi/releases/tag/v3.268.0
- https://www.pulumi.com/docs/iac/guides/building-extending/automation-api/
- https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/pulumi/interfaces/automation.PulumiCommandOptions.html
- https://www.pulumi.com/docs/reference/pkg/python/pulumi/
- https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3%40v3.268.0/go/auto
- https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3%40v3.267.0/go/auto
- https://www.pulumi.com/docs/using-pulumi/automation-api/getting-started-automation-api/
Check the installed version and the source before using it. Entry JSON