Skip to main content

Transform Terraform Template to ROS Template (Compatible Mode)

Command

Use the following command to transform Terraform template to ROS template in compatible mode and generate template file in the current directory:

rostran transform templates/terraform/alicloud/main.tf --compatible

You can also use --source-format/-S terraform to explicitly specify the category of the original template:

rostran transform templates/terraform/alicloud -S terraform --compatible

Original Terraform Template

  • main.tf
# Configure the AliCloud Provider
provider "alicloud" {}

# Create VPC and VSwitch
resource "alicloud_vpc" "myvpc" {
cidr_block = "172.16.0.0/12"
name = "myvpc"
}

resource "alicloud_vswitch" "myvswitch" {
vpc_id = alicloud_vpc.myvpc.id
cidr_block = "172.16.0.0/21"
availability_zone = "cn-beijing-g"
name = "myvswitch"
}
  • output.tf
output "vpc_id" {
value = alicloud_vpc.myvpc.id
}

output "vswitch_id" {
value = alicloud_vswitch.myvswitch.id
}

Transformed ROS Template

ROSTemplateFormatVersion: '2015-09-01'
Transform: Aliyun::Terraform-v1.2
Workspace:
main.tf: |
# Configure the AliCloud Provider
provider "alicloud" {}

# Create VPC and VSwitch
resource "alicloud_vpc" "myvpc" {
cidr_block = "172.16.0.0/12"
name = "myvpc"
}

resource "alicloud_vswitch" "myvswitch" {
vpc_id = alicloud_vpc.myvpc.id
cidr_block = "172.16.0.0/21"
availability_zone = "cn-beijing-g"
name = "myvswitch"
}
output.tf: |
output "vpc_id" {
value = alicloud_vpc.myvpc.id
}

output "vswitch_id" {
value = alicloud_vswitch.myvswitch.id
}