terraform-state-manager

Terraform State Manager

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "terraform-state-manager" with this command: npx skills add first-fluke/fullstack-starter/first-fluke-fullstack-starter-terraform-state-manager

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 plan immediately 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 resource block in your .tf files.

  • 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.
  1. 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

  1. Removing Resources

Use when you want to stop managing a resource with Terraform but keep it running.

terraform state rm <resource_address>

  1. Migrating Backend

Use to change where state is stored.

  • Update Config: Change the backend block in versions.tf or backend.tf .

  • Migrate: terraform init -migrate-state

Answer "yes" to copy the state to the new location.

Troubleshooting

  • State Lock: If a process crashed and left a lock: terraform force-unlock <LOCK_ID>

Warning: Be absolutely sure no other process is running.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

orchestrator

No summary provided by upstream source.

Repository SourceNeeds Review
General

commit

No summary provided by upstream source.

Repository SourceNeeds Review
General

component-refactoring

No summary provided by upstream source.

Repository SourceNeeds Review