pulumi-cli

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Pulumi CLI Skill

Pulumi CLI 技能文档

Quick Command Reference

快速命令参考

Deployment Workflow

部署工作流

bash
undefined
bash
undefined

1. Create new project

1. 创建新项目

pulumi new typescript # Interactive pulumi new aws-typescript --name myapp --stack dev --yes # Non-interactive
pulumi new typescript # 交互式 pulumi new aws-typescript --name myapp --stack dev --yes # 非交互式

2. Preview changes

2. 预览变更

pulumi preview # Interactive preview pulumi preview --diff # Show detailed diff
pulumi preview # 交互式预览 pulumi preview --diff # 显示详细差异

3. Deploy

3. 部署

pulumi up # Interactive deployment pulumi up --yes # Non-interactive pulumi up --skip-preview --yes # Skip preview step
pulumi up # 交互式部署 pulumi up --yes # 非交互式 pulumi up --skip-preview --yes # 跳过预览步骤

4. View outputs

4. 查看输出

pulumi stack output pulumi stack output --json
pulumi stack output pulumi stack output --json

5. Tear down

5. 销毁资源

pulumi destroy --yes
undefined
pulumi destroy --yes
undefined

Stack Management

栈管理

bash
undefined
bash
undefined

List stacks

列出栈

pulumi stack ls
pulumi stack ls

Create and select stacks

创建并选择栈

pulumi stack init dev pulumi stack select prod
pulumi stack init dev pulumi stack select prod

View stack info

查看栈信息

pulumi stack pulumi stack history
pulumi stack pulumi stack history

Stack outputs

栈输出

pulumi stack output pulumi stack output bucketName --show-secrets
pulumi stack output pulumi stack output bucketName --show-secrets

Remove stack

删除栈

pulumi stack rm dev --yes
undefined
pulumi stack rm dev --yes
undefined

State Operations

状态操作

bash
undefined
bash
undefined

Refresh state from cloud

从云端刷新状态

pulumi refresh --yes
pulumi refresh --yes

Export/import state

导出/导入状态

pulumi stack export --file backup.json pulumi stack import --file backup.json
pulumi stack export --file backup.json pulumi stack import --file backup.json

Delete resource from state (keeps cloud resource)

从状态中删除资源(保留云端资源)

pulumi state delete 'urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::my-bucket'
pulumi state delete 'urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::my-bucket'

Move resource between stacks

在栈之间移动资源

pulumi state move --source dev --dest prod 'urn:...'
pulumi state move --source dev --dest prod 'urn:...'

Protect critical resources

保护关键资源

pulumi state protect 'urn:...'
undefined
pulumi state protect 'urn:...'
undefined

Configuration

配置

bash
undefined
bash
undefined

Set config values

设置配置值

pulumi config set aws:region us-west-2 pulumi config set dbPassword secret --secret
pulumi config set aws:region us-west-2 pulumi config set dbPassword secret --secret

Get config

获取配置

pulumi config get aws:region pulumi config # List all
pulumi config get aws:region pulumi config # 列出所有配置

Link ESC environment (see language-specific skills for ESC details)

关联ESC环境(查看特定语言技能获取ESC详情)

pulumi config env add myorg/myproject-dev
undefined
pulumi config env add myorg/myproject-dev
undefined

Common Flags

常用参数

FlagDescription
--yes
/
-y
Skip confirmation prompts
--stack
/
-s
Specify stack name
--parallel
/
-p
Limit concurrent operations
--target
Target specific resource URNs
--refresh
Refresh state before operation
--diff
Show detailed diff
--json
Output in JSON format
--skip-preview
Skip preview step
--suppress-outputs
Hide stack outputs
参数说明
--yes
/
-y
跳过确认提示
--stack
/
-s
指定栈名称
--parallel
/
-p
限制并发操作
--target
定位特定资源URN
--refresh
操作前刷新状态
--diff
显示详细差异
--json
以JSON格式输出
--skip-preview
跳过预览步骤
--suppress-outputs
隐藏栈输出

CI/CD Quick Setup

CI/CD快速设置

bash
undefined
bash
undefined

Required environment variables

必需的环境变量

export PULUMI_ACCESS_TOKEN=pul-xxx export PULUMI_CI=true export PULUMI_SKIP_UPDATE_CHECK=true
export PULUMI_ACCESS_TOKEN=pul-xxx export PULUMI_CI=true export PULUMI_SKIP_UPDATE_CHECK=true

Typical CI workflow

典型CI工作流

pulumi login pulumi stack select prod pulumi preview pulumi up --yes
undefined
pulumi login pulumi stack select prod pulumi preview pulumi up --yes
undefined

Importing Existing Resources

导入现有资源

bash
undefined
bash
undefined

Import single resource

导入单个资源

pulumi import aws:s3/bucket:Bucket my-bucket existing-bucket-name
pulumi import aws:s3/bucket:Bucket my-bucket existing-bucket-name

Bulk import from file

从文件批量导入

pulumi import --file resources.json

**resources.json format:**
```json
{
  "resources": [
    {"type": "aws:s3/bucket:Bucket", "name": "my-bucket", "id": "existing-bucket-name"}
  ]
}
pulumi import --file resources.json

**resources.json格式:**
```json
{
  "resources": [
    {"type": "aws:s3/bucket:Bucket", "name": "my-bucket", "id": "existing-bucket-name"}
  ]
}

State Recovery Patterns

状态恢复模式

Resource deleted outside Pulumi

资源在Pulumi外部被删除

bash
pulumi refresh --yes
bash
pulumi refresh --yes

Or manually remove from state:

或手动从状态中删除:

pulumi state delete 'urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::deleted-bucket'
undefined
pulumi state delete 'urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::deleted-bucket'
undefined

Stuck pending operations

停滞的待处理操作

bash
pulumi refresh --clear-pending-creates --yes
bash
pulumi refresh --clear-pending-creates --yes

Or:

或:

pulumi cancel --yes pulumi state repair
undefined
pulumi cancel --yes pulumi state repair
undefined

State corruption

状态损坏

bash
undefined
bash
undefined

Backup current state

备份当前状态

pulumi stack export --file current.json
pulumi stack export --file current.json

Try repair

尝试修复

pulumi state repair
pulumi state repair

Or restore from history

或从历史版本恢复

pulumi stack export --version <previous-version> --file good.json pulumi stack import --file good.json
undefined
pulumi stack export --version <previous-version> --file good.json pulumi stack import --file good.json
undefined

URN Format

URN格式

urn:pulumi:<stack>::<project>::<type>::<name>

Example:
urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::my-bucket
urn:pulumi:<stack>::<project>::<type>::<name>

示例:
urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::my-bucket

Backend Options

后端选项

bash
undefined
bash
undefined

Pulumi Cloud (default)

Pulumi云端(默认)

pulumi login
pulumi login

Self-hosted backends

自托管后端

pulumi login s3://my-bucket pulumi login azblob://my-container pulumi login gs://my-bucket pulumi login file://~/.pulumi-state
undefined
pulumi login s3://my-bucket pulumi login azblob://my-container pulumi login gs://my-bucket pulumi login file://~/.pulumi-state
undefined

References

参考资料

  • references/pulumi-cli-commands.md - Complete command documentation
  • references/pulumi-state-management.md - State operations and recovery
  • references/pulumi-environment-variables.md - CI/CD environment variables
  • references/pulumi-cli-commands.md - 完整命令文档
  • references/pulumi-state-management.md - 状态操作与恢复
  • references/pulumi-environment-variables.md - CI/CD环境变量