solution/solution-enterprise-cloud-connection-using-cen-tr/main.tf (530 lines of code) (raw):
# provider
provider "alicloud" {
alias = "user1_region1"
region = var.region1
assume_role {
role_arn = format("acs:ram::%s:role/%s", var.user1_id, local.role_name)
session_name = "AccountLandingZoneSetup"
session_expiration = 999
}
}
provider "alicloud" {
alias = "user1_region2"
region = var.region2
assume_role {
role_arn = format("acs:ram::%s:role/%s", var.user1_id, local.role_name)
session_name = "AccountLandingZoneSetup"
session_expiration = 999
}
}
provider "alicloud" {
alias = "user2_region1"
region = var.region1
assume_role {
role_arn = format("acs:ram::%s:role/%s", var.user2_id, local.role_name)
session_name = "AccountLandingZoneSetup"
session_expiration = 999
}
}
provider "alicloud" {
alias = "user2_region2"
region = var.region2
assume_role {
role_arn = format("acs:ram::%s:role/%s", var.user2_id, local.role_name)
session_name = "AccountLandingZoneSetup"
session_expiration = 999
}
}
# user1 region1
resource "alicloud_vpc" "user1_region1_vpc" {
provider = alicloud.user1_region1
vpc_name = "基础服务VPC"
cidr_block = var.user1_region1_vpc_cidr_block
}
resource "alicloud_vswitch" "user1_region1_vsw" {
provider = alicloud.user1_region1
vpc_id = alicloud_vpc.user1_region1_vpc.id
cidr_block = var.user1_region1_vsw_cidr_block
zone_id = var.region1_zone_id
}
resource "alicloud_security_group" "user1_region1_group" {
provider = alicloud.user1_region1
count = var.create_ecs? 1:0
vpc_id = alicloud_vpc.user1_region1_vpc.id
}
resource "alicloud_security_group_rule" "user1_region1_rule" {
provider = alicloud.user1_region1
count = var.create_ecs? 1:0
type = "ingress"
ip_protocol = "all"
nic_type = "intranet"
policy = "accept"
port_range = "1/65535"
priority = 1
security_group_id = alicloud_security_group.user1_region1_group[0].id
cidr_ip = "0.0.0.0/0"
}
resource "alicloud_instance" "user1_region1_ecs" {
provider = alicloud.user1_region1
count = var.create_ecs? 1:0
availability_zone = var.region1_zone_id
security_groups = alicloud_security_group.user1_region1_group[0].*.id
instance_type = var.region1_instance_type
system_disk_category = var.region1_system_disk_category
image_id = "centos_7_9_x64_20G_alibase_20220824.vhd"
instance_name = "test_ecs"
vswitch_id = alicloud_vswitch.user1_region1_vsw.id
password = var.ecs_password
}
resource "alicloud_cen_instance" "user1_cen" {
provider = alicloud.user1_region1
cen_instance_name = "云上企业网络-集团"
}
resource "alicloud_cen_transit_router" "user1_region1_tr" {
provider = alicloud.user1_region1
cen_id = alicloud_cen_instance.user1_cen.id
}
resource "alicloud_cen_transit_router_vpc_attachment" "user1_region1_vpc_att" {
provider = alicloud.user1_region1
cen_id = alicloud_cen_instance.user1_cen.id
transit_router_id = alicloud_cen_transit_router.user1_region1_tr.transit_router_id
vpc_id = alicloud_vpc.user1_region1_vpc.id
zone_mappings {
zone_id = var.region1_zone_id
vswitch_id = alicloud_vswitch.user1_region1_vsw.id
}
}
resource "alicloud_cen_transit_router_route_table" "user1_region1_route_table" {
provider = alicloud.user1_region1
transit_router_id = alicloud_cen_transit_router.user1_region1_tr.transit_router_id
}
resource "alicloud_cen_transit_router_route_table_association" "user1_region1_table_association" {
provider = alicloud.user1_region1
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region1_vpc_att.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user1_region1_table_propagation" {
provider = alicloud.user1_region1
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region1_vpc_att.transit_router_attachment_id
}
resource "alicloud_route_entry" "user1_region1_route_entry" {
provider = alicloud.user1_region1
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block,
var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
route_table_id = alicloud_vpc.user1_region1_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user1_region1_vpc_att.transit_router_attachment_id
}
# user1 region2
resource "alicloud_vpc" "user1_region2_vpc" {
provider = alicloud.user1_region2
vpc_name = "基础服务VPC"
cidr_block = var.user1_region2_vpc_cidr_block
}
resource "alicloud_vswitch" "user1_region2_vsw" {
provider = alicloud.user1_region2
vpc_id = alicloud_vpc.user1_region2_vpc.id
cidr_block = var.user1_region2_vsw_cidr_block
zone_id = var.region2_zone_id
}
resource "alicloud_security_group" "user1_region2_group" {
provider = alicloud.user1_region2
count = var.create_ecs? 1:0
vpc_id = alicloud_vpc.user1_region2_vpc.id
}
resource "alicloud_security_group_rule" "user1_region2_rule" {
provider = alicloud.user1_region2
count = var.create_ecs? 1:0
type = "ingress"
ip_protocol = "all"
nic_type = "intranet"
policy = "accept"
port_range = "1/65535"
priority = 1
security_group_id = alicloud_security_group.user1_region2_group[0].id
cidr_ip = "0.0.0.0/0"
}
resource "alicloud_instance" "user1_region2_ecs" {
provider = alicloud.user1_region2
count = var.create_ecs? 1:0
availability_zone = var.region2_zone_id
security_groups = alicloud_security_group.user1_region2_group[0].*.id
instance_type = var.region2_instance_type
system_disk_category = var.region2_system_disk_category
image_id = "centos_7_9_x64_20G_alibase_20220824.vhd"
instance_name = "test_ecs"
vswitch_id = alicloud_vswitch.user1_region2_vsw.id
password = var.ecs_password
}
resource "alicloud_cen_transit_router" "user1_region2_tr" {
provider = alicloud.user1_region2
cen_id = alicloud_cen_instance.user1_cen.id
}
resource "alicloud_cen_transit_router_vpc_attachment" "user1_region2_vpc_att1" {
provider = alicloud.user1_region2
cen_id = alicloud_cen_instance.user1_cen.id
transit_router_id = alicloud_cen_transit_router.user1_region2_tr.transit_router_id
vpc_id = alicloud_vpc.user1_region2_vpc.id
zone_mappings {
zone_id = var.region2_zone_id
vswitch_id = alicloud_vswitch.user1_region2_vsw.id
}
}
resource "alicloud_cen_transit_router_route_table" "user1_region2_route_table" {
provider = alicloud.user1_region2
transit_router_id = alicloud_cen_transit_router.user1_region2_tr.transit_router_id
}
resource "alicloud_cen_transit_router_route_table_association" "user1_region2_association1" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user1_region2_propagation1" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_route_entry" "user1_region2_route_entry" {
provider = alicloud.user1_region2
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block,
var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
route_table_id = alicloud_vpc.user1_region2_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_peer_attachment" "user1_peer_attachment" {
provider = alicloud.user1_region2
cen_id = alicloud_cen_instance.user1_cen.id
transit_router_id = alicloud_cen_transit_router.user1_region2_tr.transit_router_id
peer_transit_router_region_id = var.region1
peer_transit_router_id = alicloud_cen_transit_router.user1_region1_tr.transit_router_id
auto_publish_route_enabled = true
}
resource "alicloud_cen_transit_router_route_table_association" "user1_region2_association2" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user1_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user1_region2_propagation2" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user1_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_association" "user1_region2_association3" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user1_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "uesr1_region2_propagation3" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user1_peer_attachment.transit_router_attachment_id
}
# user2 region1
resource "alicloud_vpc" "user2_region1_vpc" {
provider = alicloud.user2_region1
vpc_name = "基础服务VPC"
cidr_block = var.user2_region1_vpc_cidr_block
}
resource "alicloud_vswitch" "user2_region1_vsw" {
provider = alicloud.user2_region1
vpc_id = alicloud_vpc.user2_region1_vpc.id
cidr_block = var.user2_region1_vsw_cidr_block
zone_id = var.region1_zone_id
}
resource "alicloud_security_group" "user2_region1_group" {
provider = alicloud.user2_region1
count = var.create_ecs? 1:0
vpc_id = alicloud_vpc.user2_region1_vpc.id
}
resource "alicloud_security_group_rule" "user2_region1_rule" {
provider = alicloud.user2_region1
count = var.create_ecs? 1:0
type = "ingress"
ip_protocol = "all"
nic_type = "intranet"
policy = "accept"
port_range = "1/65535"
priority = 1
security_group_id = alicloud_security_group.user2_region1_group[0].id
cidr_ip = "0.0.0.0/0"
}
resource "alicloud_instance" "user2_region1_ecs" {
provider = alicloud.user2_region1
count = var.create_ecs? 1:0
availability_zone = var.region1_zone_id
security_groups = alicloud_security_group.user2_region1_group[0].*.id
instance_type = var.region1_instance_type
system_disk_category = var.region1_system_disk_category
image_id = "centos_7_9_x64_20G_alibase_20220824.vhd"
instance_name = "test_ecs"
vswitch_id = alicloud_vswitch.user2_region1_vsw.id
password = var.ecs_password
}
resource "alicloud_cen_instance" "user2_cen" {
provider = alicloud.user2_region1
cen_instance_name = "云上企业网络-集团"
}
resource "alicloud_cen_transit_router" "user2_region1_tr" {
provider = alicloud.user2_region1
cen_id = alicloud_cen_instance.user2_cen.id
}
resource "alicloud_cen_transit_router_vpc_attachment" "user2_region1_vpc_att" {
provider = alicloud.user2_region1
cen_id = alicloud_cen_instance.user2_cen.id
transit_router_id = alicloud_cen_transit_router.user2_region1_tr.transit_router_id
vpc_id = alicloud_vpc.user2_region1_vpc.id
zone_mappings {
zone_id = var.region1_zone_id
vswitch_id = alicloud_vswitch.user2_region1_vsw.id
}
}
resource "alicloud_cen_transit_router_route_table" "user2_region1_route_table" {
provider = alicloud.user2_region1
transit_router_id = alicloud_cen_transit_router.user2_region1_tr.transit_router_id
}
resource "alicloud_cen_transit_router_route_table_association" "user2_region1_association" {
provider = alicloud.user2_region1
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region1_vpc_att.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user2_region1_propagation" {
provider = alicloud.user2_region1
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region1_vpc_att.transit_router_attachment_id
}
resource "alicloud_route_entry" "user2_region1_route_entry" {
provider = alicloud.user2_region1
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block,
var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
route_table_id = alicloud_vpc.user2_region1_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user2_region1_vpc_att.transit_router_attachment_id
}
# user2 region2
resource "alicloud_vpc" "user2_region2_vpc" {
provider = alicloud.user2_region2
vpc_name = "基础服务VPC"
cidr_block = var.user2_region2_vpc_cidr_block
}
resource "alicloud_vswitch" "user2_region2_vsw" {
provider = alicloud.user2_region2
vpc_id = alicloud_vpc.user2_region2_vpc.id
cidr_block = var.user2_region2_vsw_cidr_block
zone_id = var.region2_zone_id
}
resource "alicloud_vpc" "user2_connect_vpc" {
provider = alicloud.user2_region2
vpc_name = "数据互通VPC"
cidr_block = var.user2_connect_vpc_cidr_block
}
resource "alicloud_vswitch" "user2_connect_vsw" {
provider = alicloud.user2_region2
vpc_id = alicloud_vpc.user2_connect_vpc.id
cidr_block = var.user2_connect_vsw_cidr_block
zone_id = var.region2_zone_id
}
resource "alicloud_security_group" "user2_region2_group1" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
vpc_id = alicloud_vpc.user2_region2_vpc.id
}
resource "alicloud_security_group" "user2_region2_group2" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
vpc_id = alicloud_vpc.user2_connect_vpc.id
}
resource "alicloud_security_group_rule" "user2_region2_rule1" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
type = "ingress"
ip_protocol = "all"
nic_type = "intranet"
policy = "accept"
port_range = "1/65535"
priority = 1
security_group_id = alicloud_security_group.user2_region2_group1[0].id
cidr_ip = "0.0.0.0/0"
}
resource "alicloud_security_group_rule" "user2_region2_rule2" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
type = "ingress"
ip_protocol = "all"
nic_type = "intranet"
policy = "accept"
port_range = "1/65535"
priority = 1
security_group_id = alicloud_security_group.user2_region2_group2[0].id
cidr_ip = "0.0.0.0/0"
}
resource "alicloud_instance" "user2_region2_ecs1" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
availability_zone = var.region2_zone_id
security_groups = alicloud_security_group.user2_region2_group1[0].*.id
instance_type = var.region2_instance_type
system_disk_category = var.region2_system_disk_category
image_id = "centos_7_9_x64_20G_alibase_20220824.vhd"
instance_name = "test_ecs1"
vswitch_id = alicloud_vswitch.user2_region2_vsw.id
password = var.ecs_password
}
resource "alicloud_instance" "user2_region2_ecs2" {
provider = alicloud.user2_region2
count = var.create_ecs? 1:0
availability_zone = var.region2_zone_id
security_groups = alicloud_security_group.user2_region2_group2[0].*.id
instance_type = var.region2_instance_type
system_disk_category = var.region2_system_disk_category
image_id = "centos_7_9_x64_20G_alibase_20220824.vhd"
instance_name = "test_ecs2"
vswitch_id = alicloud_vswitch.user2_connect_vsw.id
password = var.ecs_password
}
resource "alicloud_cen_transit_router" "user2_region2_tr" {
provider = alicloud.user2_region2
cen_id = alicloud_cen_instance.user2_cen.id
}
resource "alicloud_cen_transit_router_vpc_attachment" "user2_region2_vpc_att1" {
provider = alicloud.user2_region2
cen_id = alicloud_cen_instance.user2_cen.id
transit_router_id = alicloud_cen_transit_router.user2_region2_tr.transit_router_id
vpc_id = alicloud_vpc.user2_region2_vpc.id
zone_mappings {
zone_id = var.region2_zone_id
vswitch_id = alicloud_vswitch.user2_region2_vsw.id
}
}
resource "alicloud_cen_transit_router_vpc_attachment" "user2_region2_vpc_att2" {
provider = alicloud.user2_region2
cen_id = alicloud_cen_instance.user2_cen.id
transit_router_id = alicloud_cen_transit_router.user2_region2_tr.transit_router_id
vpc_id = alicloud_vpc.user2_connect_vpc.id
zone_mappings {
zone_id = var.region2_zone_id
vswitch_id = alicloud_vswitch.user2_connect_vsw.id
}
}
resource "alicloud_cen_transit_router_route_table" "user2_region2_route_table" {
provider = alicloud.user2_region2
transit_router_id = alicloud_cen_transit_router.user2_region2_tr.transit_router_id
}
resource "alicloud_cen_transit_router_route_table_association" "user2_region2_association1" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_association" "user2_region2_association2" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user2_region2_propagation1" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user2_region2_propagation2" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_route_entry" "user2_region2_route_entry" {
provider = alicloud.user2_region2
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block,
var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
route_table_id = alicloud_vpc.user2_region2_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att1.transit_router_attachment_id
}
resource "alicloud_route_entry" "user2_region2_connect_route_entry1" {
provider = alicloud.user2_region2
for_each = toset([var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
route_table_id = alicloud_vpc.user2_connect_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_route_entry" "user2_region2_connect_route_entry2" {
provider = alicloud.user2_region2
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block])
route_table_id = alicloud_vpc.user2_connect_vpc.route_table_id
destination_cidrblock = each.key
nexthop_type = "Attachment"
nexthop_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_peer_attachment" "user2_peer_attachment" {
provider = alicloud.user2_region2
cen_id = alicloud_cen_instance.user2_cen.id
transit_router_id = alicloud_cen_transit_router.user2_region2_tr.transit_router_id
peer_transit_router_region_id = var.region1
peer_transit_router_id = alicloud_cen_transit_router.user2_region1_tr.transit_router_id
auto_publish_route_enabled = true
}
resource "alicloud_cen_transit_router_route_table_association" "user2_region2_association3" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user2_region2_propagation3" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_association" "user2_region2_association4" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "user2_region2_propagation4" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region1_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_entry" "user2_route_entry" {
provider = alicloud.user2_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user2_region2_route_table.transit_router_route_table_id
for_each = toset([var.user1_region1_vpc_cidr_block, var.user1_region2_vpc_cidr_block])
transit_router_route_entry_destination_cidr_block = each.key
transit_router_route_entry_next_hop_type = "Attachment"
transit_router_route_entry_name = "link_route_entry"
transit_router_route_entry_next_hop_id = alicloud_cen_transit_router_vpc_attachment.user2_region2_vpc_att2.transit_router_attachment_id
}
# main
resource "alicloud_cen_instance_grant" "grant" {
provider = alicloud.user2_region2
cen_id = alicloud_cen_instance.user1_cen.id
child_instance_id = alicloud_vpc.user2_connect_vpc.id
cen_owner_id = var.user1_id
}
resource "alicloud_cen_transit_router_vpc_attachment" "user1_region2_vpc_att2" {
provider = alicloud.user1_region2
cen_id = alicloud_cen_instance.user1_cen.id
transit_router_id = alicloud_cen_transit_router.user1_region2_tr.transit_router_id
vpc_id = alicloud_vpc.user2_connect_vpc.id
zone_mappings {
zone_id = var.region2_zone_id
vswitch_id = alicloud_vswitch.user2_connect_vsw.id
}
vpc_owner_id = var.user2_id
depends_on = [alicloud_cen_instance_grant.grant]
}
resource "alicloud_cen_transit_router_route_table_association" "table_association" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_entry" "user1_route_entry" {
provider = alicloud.user1_region2
for_each = toset([var.user2_region1_vpc_cidr_block, var.user2_region2_vpc_cidr_block, var.user2_connect_vpc_cidr_block])
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_route_entry_destination_cidr_block = each.key
transit_router_route_entry_next_hop_type = "Attachment"
transit_router_route_entry_name = "link_route_entry"
transit_router_route_entry_next_hop_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att2.transit_router_attachment_id
}
resource "alicloud_cen_transit_router_route_table_propagation" "table_propagation" {
provider = alicloud.user1_region2
transit_router_route_table_id = alicloud_cen_transit_router_route_table.user1_region2_route_table.transit_router_route_table_id
transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.user1_region2_vpc_att2.transit_router_attachment_id
}