Pulumi チート集
Pulumi の new/up/preview、stack、config、secret、state、ComponentResource、StackReference、各言語例、backend、Automation API を整理したチート集。
- 更新日
- 2026-05-29
- 参照範囲
- 公式ドキュメント / man page / 主要ベンダーCLI
- 対象実装
- 主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
- 免責
- OS とバージョン差分は実環境で確認してください。
このチートシートの使いどころ
Pulumi チート集は、Pulumi の new/up/preview、stack、config、secret、state、ComponentResource、StackReference、各言語例、backend、Automation API を整理したチート集。 対象は公式ドキュメント、man page、主要ベンダー CLI で確認できる現行の一般的な実装です。カテゴリは基本、stack-config、resource、state、多言語サポートを中心に、40件のコマンドや値を用途別に引けます。障害調査、設定変更前の確認、作業メモ作成で、Pulumi、IaC、TypeScript、Python、Goに関連する操作を短時間で探すために使います。
40 / 40
pulumi newテンプレートから新規プロジェクトを作る。
pulumi new aws-typescript --name infralab-stack --dir infrapulumi preview変更計画を表示する。
pulumi previewpulumi up変更を適用する。
pulumi up --yespulumi destroystack のリソースを削除する。
pulumi destroy --yespulumi refresh実リソース状態を state に反映する。
pulumi refresh --yespulumi cancel実行中 update をキャンセルする。
pulumi cancel --yespulumi stack initstack を作成する。
pulumi stack init prodpulumi stack selectstack を切り替える。
pulumi stack select prodpulumi stack lsstack 一覧を表示する。
pulumi stack lspulumi stack outputstack output を確認する。
pulumi stack output apiUrlpulumi stack exportstate を JSON に export する。
pulumi stack export --file state-prod.jsonpulumi stack importJSON state を import する。
pulumi stack import --file state-prod.jsonpulumi config setconfig を設定する。
pulumi config set aws:region ap-northeast-1pulumi config set --secretsecret config を暗号化して保存する。
pulumi config set --secret dbPassword "change-me"pulumi config getconfig を取得する。
pulumi config get aws:regionsecrets provider passphrasepassphrase secrets provider を使う。
PULUMI_CONFIG_PASSPHRASE_FILE=.pulumi-pass pulumi stack init dev --secrets-provider passphrasesecrets provider awskmsAWS KMS で secrets を暗号化する。
pulumi stack change-secrets-provider "awskms://alias/pulumi-secrets?region=ap-northeast-1"TypeScript resourceTypeScript で S3 bucket を作る。
const bucket = new aws.s3.Bucket("logs", { forceDestroy: true });
export const bucketName = bucket.bucket;Python resourcePython で S3 bucket を作る。
bucket = aws.s3.Bucket("logs", force_destroy=True)
pulumi.export("bucket_name", bucket.bucket)Go resourceGo で S3 bucket を作る。
bucket, _ := s3.NewBucket(ctx, "logs", &s3.BucketArgs{ForceDestroy: pulumi.Bool(true)})
ctx.Export("bucketName", bucket.Bucket).NET resourceC# で S3 bucket を作る。
var bucket = new Aws.S3.Bucket("logs", new() { ForceDestroy = true });
return new Dictionary<string, object?> { ["bucketName"] = bucket.BucketName };ComponentResource再利用コンポーネントを定義する。
class WebService extends pulumi.ComponentResource { constructor(name: string, args: Args, opts?: pulumi.ComponentResourceOptions) { super("pkg:index:WebService", name, {}, opts); } }StackReference別 stack の output を参照する。
const network = new pulumi.StackReference("org/network/prod");
const vpcId = network.getOutput("vpcId");CustomTimeouts作成・削除 timeout を伸ばす。
new aws.rds.Instance("db", args, { customTimeouts: { create: "90m", delete: "90m" } });dependsOn依存関係を明示する。
new aws.ec2.Instance("web", args, { dependsOn: [rolePolicy] });protect削除保護を付ける。
new aws.s3.Bucket("critical", {}, { protect: true });ignoreChanges外部変更を無視する。
new aws.ecs.Service("api", args, { ignoreChanges: ["desiredCount"] });import resource既存リソースを import する。
new aws.s3.Bucket("logs", {}, { import: "existing-bucket-name" });pulumi state deletestate からリソースを削除する。
pulumi state delete urn:pulumi:prod::infra::aws:s3/bucket:Bucket::logspulumi state renameURN をリネームする。
pulumi state rename oldName newNamePulumi Cloud backendPulumi Cloud に login する。
pulumi login https://api.pulumi.comS3 backendS3 backend を使う。
pulumi login s3://pulumi-state-prod?region=ap-northeast-1local backendローカル backend を使う。
pulumi login file://~/.pulumi-localAzure Blob backendAzure Blob backend を使う。
pulumi login azblob://pulumi-stateautomation api inlineAutomation API で preview を実行する。
const stack = await LocalWorkspace.createOrSelectStack({ stackName: "dev", projectName: "infra", program });
await stack.preview();automation api configAutomation API で config を設定する。
await stack.setConfig("aws:region", { value: "ap-northeast-1" });pulumi logsCloud provider logs を確認する。
pulumi logs --since 1hpulumi whoami現在の backend ユーザーを確認する。
pulumi whoamipulumi plugin lsprovider plugin を確認する。
pulumi plugin lspulumi about環境情報をまとめて表示する。
pulumi about| Command | Description | Example | Copy |
|---|---|---|---|
pulumi new | テンプレートから新規プロジェクトを作る。 | pulumi new aws-typescript --name infralab-stack --dir infra | |
pulumi preview | 変更計画を表示する。 | pulumi preview | |
pulumi up | 変更を適用する。 | pulumi up --yes | |
pulumi destroy | stack のリソースを削除する。 | pulumi destroy --yes | |
pulumi refresh | 実リソース状態を state に反映する。 | pulumi refresh --yes | |
pulumi cancel | 実行中 update をキャンセルする。 | pulumi cancel --yes | |
pulumi stack init | stack を作成する。 | pulumi stack init prod | |
pulumi stack select | stack を切り替える。 | pulumi stack select prod | |
pulumi stack ls | stack 一覧を表示する。 | pulumi stack ls | |
pulumi stack output | stack output を確認する。 | pulumi stack output apiUrl | |
pulumi stack export | state を JSON に export する。 | pulumi stack export --file state-prod.json | |
pulumi stack import | JSON state を import する。 | pulumi stack import --file state-prod.json | |
pulumi config set | config を設定する。 | pulumi config set aws:region ap-northeast-1 | |
pulumi config set --secret | secret config を暗号化して保存する。 | pulumi config set --secret dbPassword "change-me" | |
pulumi config get | config を取得する。 | pulumi config get aws:region | |
secrets provider passphrase | passphrase secrets provider を使う。 | PULUMI_CONFIG_PASSPHRASE_FILE=.pulumi-pass pulumi stack init dev --secrets-provider passphrase | |
secrets provider awskms | AWS KMS で secrets を暗号化する。 | pulumi stack change-secrets-provider "awskms://alias/pulumi-secrets?region=ap-northeast-1" | |
TypeScript resource | TypeScript で S3 bucket を作る。 | const bucket = new aws.s3.Bucket("logs", { forceDestroy: true });
export const bucketName = bucket.bucket; | |
Python resource | Python で S3 bucket を作る。 | bucket = aws.s3.Bucket("logs", force_destroy=True)
pulumi.export("bucket_name", bucket.bucket) | |
Go resource | Go で S3 bucket を作る。 | bucket, _ := s3.NewBucket(ctx, "logs", &s3.BucketArgs{ForceDestroy: pulumi.Bool(true)})
ctx.Export("bucketName", bucket.Bucket) | |
.NET resource | C# で S3 bucket を作る。 | var bucket = new Aws.S3.Bucket("logs", new() { ForceDestroy = true });
return new Dictionary<string, object?> { ["bucketName"] = bucket.BucketName }; | |
ComponentResource | 再利用コンポーネントを定義する。 | class WebService extends pulumi.ComponentResource { constructor(name: string, args: Args, opts?: pulumi.ComponentResourceOptions) { super("pkg:index:WebService", name, {}, opts); } } | |
StackReference | 別 stack の output を参照する。 | const network = new pulumi.StackReference("org/network/prod");
const vpcId = network.getOutput("vpcId"); | |
CustomTimeouts | 作成・削除 timeout を伸ばす。 | new aws.rds.Instance("db", args, { customTimeouts: { create: "90m", delete: "90m" } }); | |
dependsOn | 依存関係を明示する。 | new aws.ec2.Instance("web", args, { dependsOn: [rolePolicy] }); | |
protect | 削除保護を付ける。 | new aws.s3.Bucket("critical", {}, { protect: true }); | |
ignoreChanges | 外部変更を無視する。 | new aws.ecs.Service("api", args, { ignoreChanges: ["desiredCount"] }); | |
import resource | 既存リソースを import する。 | new aws.s3.Bucket("logs", {}, { import: "existing-bucket-name" }); | |
pulumi state delete | state からリソースを削除する。 | pulumi state delete urn:pulumi:prod::infra::aws:s3/bucket:Bucket::logs | |
pulumi state rename | URN をリネームする。 | pulumi state rename oldName newName | |
Pulumi Cloud backend | Pulumi Cloud に login する。 | pulumi login https://api.pulumi.com | |
S3 backend | S3 backend を使う。 | pulumi login s3://pulumi-state-prod?region=ap-northeast-1 | |
local backend | ローカル backend を使う。 | pulumi login file://~/.pulumi-local | |
Azure Blob backend | Azure Blob backend を使う。 | pulumi login azblob://pulumi-state | |
automation api inline | Automation API で preview を実行する。 | const stack = await LocalWorkspace.createOrSelectStack({ stackName: "dev", projectName: "infra", program });
await stack.preview(); | |
automation api config | Automation API で config を設定する。 | await stack.setConfig("aws:region", { value: "ap-northeast-1" }); | |
pulumi logs | Cloud provider logs を確認する。 | pulumi logs --since 1h | |
pulumi whoami | 現在の backend ユーザーを確認する。 | pulumi whoami | |
pulumi plugin ls | provider plugin を確認する。 | pulumi plugin ls | |
pulumi about | 環境情報をまとめて表示する。 | pulumi about |