Listen to this Post

Terraform 1.12.0 introduces a significant change in configuring import blocks by using resource identity instead of resource ID. This update simplifies importing existing infrastructure into Terraform state, particularly for complex cloud resources.
Read the full blog post here: https://lnkd.in/djKxaQr4
You Should Know:
- Key Differences Between Resource ID and Resource Identity
– Resource ID: Typically a unique string assigned by cloud providers (e.g., AWS ARN, Azure Resource ID).
– Resource Identity: A structured way to reference resources using attributes like name, type, and location.
2. Practical Implementation in Terraform
Example: Azure Resource Import Using Identity
import {
to = azurerm_virtual_machine.example
id = "/subscriptions/xxxx/resourceGroups/example-rg/providers/Microsoft.Compute/virtualMachines/example-vm"
}
New Way (Using Identity Attributes):
import {
to = azurerm_virtual_machine.example
identity {
name = "example-vm"
resource_group = "example-rg"
subscription_id = "xxxx"
}
}
3. AWS Example with Non-Deterministic IDs
For resources like AWS API Gateway, where IDs are unpredictable:
import {
to = aws_api_gateway_rest_api.example
identity {
name = "my-api"
region = "us-east-1"
}
}
4. Terraform Commands for Testing
- Plan the Import:
terraform plan -generate-config-out=generated.tf
- Apply the Import:
terraform apply
- Verify Imported State:
terraform state list
5. Handling Multi-Cloud Imports
For Google Cloud (GCP):
import {
to = google_compute_instance.example
identity {
name = "example-instance"
project = "my-project"
zone = "us-central1-a"
}
}
What Undercode Say:
Terraform 1.12.0’s shift to resource identity simplifies IaC adoption, especially in multi-cloud environments. Expect broader provider support soon.
Expected Linux/Windows Commands for Debugging:
- Check Terraform Version:
terraform --version
- Debug Import Errors:
TF_LOG=DEBUG terraform import ...
- Windows (PowerShell) Equivalent:
$env:TF_LOG="DEBUG"; terraform import ...
- List All Importable Resources:
terraform providers schema -json | jq '.resource_schemas | keys'
Prediction:
More cloud providers will adopt identity-based imports, reducing dependency on manual ID extraction.
Expected Output:
A streamlined Terraform import process with fewer manual steps and better cross-cloud compatibility.
(End of )
References:
Reported By: Mattiasfjellstrom Terraform – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅


