Guides
Import from Terraform
Draft an isoloom.yml from a Terraform configuration: VMs and subnets of AWS, Azure, Google Cloud and Proxmox, with a note for every other resource.
isoloom import terraform path/to/terraform
Isoloom reads the folder's .tf files without running Terraform: no init, no provider, no
credentials. It evaluates variable defaults and locals, expands for_each and count, and
follows references between resources, so a machine's address is found even when it lives on a
network interface in a subnet.
What it carries over
| Terraform | Becomes |
|---|---|
aws_subnet, azurerm_subnet, google_compute_subnetwork (and DigitalOcean, Linode, Oracle) | networks (a block bigger than a /24 keeps its first /24) |
aws_instance (address directly or through aws_network_interface) | machines |
azurerm_linux_virtual_machine, azurerm_windows_virtual_machine (through their network interfaces) | machines |
google_compute_instance | machines |
proxmox_virtual_environment_vm (bpg) | machines, with their CPUs and memory |
common instance sizes (t3.large, Standard_B2s, e2-medium…) | resources |
Every other resource gets its coverage verdict as a note:
- VPCs, gateways, route tables, security groups: the same effect another way, since Isoloom builds an environment's networks itself.
- Buckets, databases, functions: left out, as managed services no other VM target has.
What a static read can't know is noted too: a size from a function, an address from DHCP (the machine is placed on a network at the next free address), the OS (read from image names and tags: check it).