Pulumi v3.274.0 Release Notes: Policy CLI Upgrades, Automation API Additions, and Resource Existence Checks
Pulumi 3.274.0 adds policy group/stack commands, Automation API schema/usage/api/audit-log support, and resourceExists for Go/Python.
Infrastructure as Code
Pulumi v3.276.0 adds destroy, template, and insights commands to the generated Automation API for NodeJS, Python, and Go, plus a Node.js sdkgen import fix.
Pulumi v3.276.0 was released on 2026-11-12, following v3.274.0. This release focuses almost entirely on the Automation API surface generated for NodeJS, Python, and Go, adding three new command groups, plus a targeted bug fix for the NodeJS SDK generator and an internal CI reliability fix for release builds.
destroy commandThe generated Automation API for NodeJS, Python, and Go now exposes a destroy method directly, matching the CLI's pulumi destroy behavior (#25053). This lets automation scripts tear down stacks without shelling out to the CLI.
import { LocalWorkspace } from "@pulumi/pulumi/automation";
const stack = await LocalWorkspace.createOrSelectStack({
stackName: "dev",
workDir: ".",
});
const destroyResult = await stack.destroy({ onOutput: console.log });
console.log(destroyResult.summary.result);from pulumi import automation as auto
stack = auto.create_or_select_stack(stack_name="dev", work_dir=".")
result = stack.destroy(on_output=print)
print(result.summary.result)res, err := stack.Destroy(ctx, optdestroy.ProgressStreams(os.Stdout))
if err != nil {
log.Fatalf("destroy failed: %v", err)
}
fmt.Println(res.Summary.Result)template commandsNew template commands were added to the generated Automation API for the same three languages (#25061), enabling programmatic access to Pulumi template operations (e.g., listing or scaffolding from templates) without invoking pulumi new manually from a shell.
insights commandsThe Automation API also gains insights commands for NodeJS, Python, and Go (#25069), allowing automation code to query Pulumi Insights data programmatically rather than only through the Pulumi Cloud UI or CLI.
The release notes do not include method signatures for template or insights; consult the generated SDK reference for the exact API shape in each language once upgraded.
sdkgen/nodejs: fixed resource reference imports for modules whose names contain upper-case letters (#25599). Anyone generating NodeJS SDKs from providers/packages with mixed-case module names should regenerate after upgrading.ci: prepare-release runs are now serialized per version to prevent checksum/binary mismatches on draft releases (#25684). This is an internal release-pipeline fix and has no direct impact on day-to-day Pulumi usage.No deprecations or breaking changes are listed in this release.
Upgrade the Pulumi CLI:
curl -fsSL https://get.pulumi.com | sh -s -- --version 3.276.0Or via a package manager:
brew upgrade pulumiIf pinning the CLI version in CI, update the constraint:
PULUMI_VERSION=3.276.0Update the SDK dependency in your project if using the Automation API or regenerated SDKs:
npm install @pulumi/pulumi@^3.276.0pip install --upgrade pulumi==3.276.0go get github.com/pulumi/pulumi/sdk/v3@v3.276.0If your workflow generates language SDKs from a schema (sdkgen), regenerate the NodeJS SDK to pick up the resource-reference import fix:
pulumi package gen-sdk <schema-or-provider> --language nodejsConfirm the CLI version after upgrading:
pulumi versionExpected output: v3.276.0.
For Automation API users, confirm the new methods are available on the stack object in your language of choice (e.g., stack.destroy, template/insights methods) by checking the installed SDK's type definitions or running a quick script that calls one of the new commands against a scratch stack.
v3.276.0 is primarily an Automation API feature release, rounding out programmatic parity with the CLI by adding destroy, template, and insights commands for NodeJS, Python, and Go. Teams building custom orchestration or self-service platforms on top of the Automation API should regenerate SDKs and review the new command surfaces. The accompanying NodeJS sdkgen fix matters for anyone generating SDKs from packages with upper-case module names.
Pulumi 3.274.0 adds policy group/stack commands, Automation API schema/usage/api/audit-log support, and resourceExists for Go/Python.
Pulumi v3.273.0 adds resourceExists, extends Automation APIs, drops pulumi watch, and restricts AI agent auto-signup.
Terratest v2.0.0 splits into 16 Go modules under /v2 import paths, trims dependencies, and changes two Kubernetes behaviors. Upgrade notes inside.
TFLint v0.65.0 ships a Go 1.26.10 security bump, deterministic file iteration, unique JUnit testcase names, and drops the auto install script.