terraform-state-manager
8
总安装量
5
周安装量
#36021
全站排名
安装命令
npx skills add https://github.com/first-fluke/fullstack-starter --skill terraform-state-manager
Agent 安装分布
claude-code
4
windsurf
3
opencode
3
antigravity
3
gemini-cli
3
Skill 文档
Terraform State Manager
This skill guides you through safe Terraform state manipulation operations.
When to Use
- Importing existing cloud resources into Terraform management (
terraform import) - Renaming resources or moving them into/out of modules (
terraform state mv) - Removing resources from Terraform control without destroying them (
terraform state rm) - Migrating state between backends (e.g., local to GCS/S3)
- Fixing state locks or corruption
Critical Safety Rules
[!IMPORTANT] ALWAYS follow these rules to prevent data loss or service downtime.
- Backup First: Create a backup of your state file (
.tfstate) before ANY operation.terraform state pull > backup.tfstate - Plan After: Run
terraform planimmediately after any state change to verify the result is a “no-op” (no changes detected) or matches expectation. - One by One: Perform operations incrementally rather than in bulk.
- Communicate: Ensure no one else is running Terraform during maintenance.
Common Operations
1. Importing Resources
Use when you have a resource in the cloud but not in Terraform state.
- Write Config: Create the
resourceblock in your.tffiles. - Import:
terraform import <resource_address> <cloud_id> # Example: terraform import google_storage_bucket.my_bucket my-project-bucket-name - Verify: Run
terraform plan. It should be empty or show only minor metadata updates.
2. Moving Resources (Refactoring)
Use when renaming resources or moving them into modules.
terraform state mv <source_address> <destination_address>
# Example: terraform state mv google_storage_bucket.old_name module.storage.google_storage_bucket.new_name
3. Removing Resources
Use when you want to stop managing a resource with Terraform but keep it running.
terraform state rm <resource_address>
4. Migrating Backend
Use to change where state is stored.
- Update Config: Change the
backendblock inversions.tforbackend.tf. - Migrate:
Answer “yes” to copy the state to the new location.terraform init -migrate-state
Troubleshooting
- State Lock: If a process crashed and left a lock:
Warning: Be absolutely sure no other process is running.terraform force-unlock <LOCK_ID>