Pulumi CLI command reference for infrastructure deployments. Provides commands to create and manage stacks, configure backends, manage secrets, handle stack outputs, and perform state operations. Use when the user asks about "pulumi commands", "deploy with pulumi", "pulumi up", "pulumi preview", "manage pulumi stacks", "pulumi state management", "export/import pulumi state", or needs help with Pulumi CLI operations and workflows.
100
Does it follow best practices?
Validation for skill structure
# 1. Create new project
pulumi new typescript # Interactive
pulumi new aws-typescript --name myapp --stack dev --yes # Non-interactive
# 2. Preview changes
pulumi preview # Interactive preview
pulumi preview --diff # Show detailed diff
# 3. Deploy
pulumi up # Interactive deployment
pulumi up --yes # Non-interactive
pulumi up --skip-preview --yes # Skip preview step
# 4. View outputs
pulumi stack output
pulumi stack output --json
# 5. Tear down
pulumi destroy --yes# List stacks
pulumi stack ls
# Create and select stacks
pulumi stack init dev
pulumi stack select prod
# View stack info
pulumi stack
pulumi stack history
# Stack outputs
pulumi stack output
pulumi stack output bucketName --show-secrets
# Remove stack
pulumi stack rm dev --yes# Refresh state from cloud
pulumi refresh --yes
# Export/import state
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'
# Move resource between stacks
pulumi state move --source dev --dest prod 'urn:...'
# Protect critical resources
pulumi state protect 'urn:...'# Set config values
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
# Link ESC environment (see language-specific skills for ESC details)
pulumi config env add myorg/myproject-dev| Flag | Description |
|---|---|
--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 |
# Required environment variables
export PULUMI_ACCESS_TOKEN=pul-xxx
export PULUMI_CI=true
export PULUMI_SKIP_UPDATE_CHECK=true
# Typical CI workflow
pulumi login
pulumi stack select prod
pulumi preview
pulumi up --yes# Import single resource
pulumi import aws:s3/bucket:Bucket my-bucket existing-bucket-name
# Bulk import from file
pulumi import --file resources.jsonresources.json format:
{
"resources": [
{"type": "aws:s3/bucket:Bucket", "name": "my-bucket", "id": "existing-bucket-name"}
]
}pulumi refresh --yes
# Or manually remove from state:
pulumi state delete 'urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::deleted-bucket'pulumi refresh --clear-pending-creates --yes
# Or:
pulumi cancel --yes
pulumi state repair# Backup current state
pulumi stack export --file current.json
# Try repair
pulumi state repair
# Or restore from history
pulumi stack export --version <previous-version> --file good.json
pulumi stack import --file good.jsonurn:pulumi:<stack>::<project>::<type>::<name>
Example:
urn:pulumi:dev::myproject::aws:s3/bucket:Bucket::my-bucket# Pulumi Cloud (default)
pulumi login
# Self-hosted backends
pulumi login s3://my-bucket
pulumi login azblob://my-container
pulumi login gs://my-bucket
pulumi login file://~/.pulumi-state073664d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.