Alibaba Cloud Managed Kubernetes Terraform
You can insert the vswitch id in the resource
definition:
resource "alicloud_cs_managed_kubernetes" "k8s" { name = "${var.name}" availability_zone = "${data.alicloud_zones.main.zones.0.id}" new_nat_gateway = true worker_instance_types = ["${data.alicloud_instance_types.default.instance_types.0.id}"] worker_numbers = [2] password = "Test12345" pod_cidr = "172.20.0.0/16" service_cidr = "172.21.0.0/20" install_cloud_monitor = true worker_disk_category = "cloud_efficiency" vswitch_ids = ["your-alibaba-vswitch-id"]}
For the zones (if you want to override the defaults) based on this and the docs, you need to do something like this:
data "alicloud_zones" main { available_resource_creation = "VSwitch" zones = [ { id = "..." local_name = "..." ... }, { id = "..." local_name = "..." ... }, ... ]}
To set region:
While configuring Alicloud provider in Terraform itself you can set the region:
provider "alicloud" { access_key = "${var.access_key}" secret_key = "${var.secret_key}" region = "${var.region}"}
For instance, let me consider Beijing as the region:
provider "alicloud" { access_key = "accesskey" secret_key = "secretkey" region = "cn-beijing" }
To set vswitch IDs:
while defining the resource
section we can insert the desired vswitches
resource "alicloud_instance"{ # ... instance_name = "in-the-vpc" vswitch_id = "${data.alicloud_vswitches.vswitches_ds.vswitches.0.id}" # ...}
For instance, let me consider vsw-25naue4gz as the vswitch id:
resource "alicloud_instance"{ # ... vswitch_id = "vsw-25naue4gz" # ... }