diff --git a/alicloud/resource_alicloud_polardb_cluster_endpoint_test.go b/alicloud/resource_alicloud_polardb_cluster_endpoint_test.go index 56258811a35c..24aa90f87f6a 100644 --- a/alicloud/resource_alicloud_polardb_cluster_endpoint_test.go +++ b/alicloud/resource_alicloud_polardb_cluster_endpoint_test.go @@ -244,14 +244,26 @@ func resourcePolarDBClusterEndpointConfigDependence(name string) string { variable "name" { default = "%s" } - - data "alicloud_polardb_zones" "default"{} + data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } - data "alicloud_vswitches" "default" { - zone_id = data.alicloud_polardb_zones.default.ids[length(data.alicloud_polardb_zones.default.ids) - 1] - vpc_id = data.alicloud_vpcs.default.ids.0 + + resource "alicloud_vpc" "default" { + vpc_name = var.name + } + + resource "alicloud_vswitch" "default" { + zone_id = data.alicloud_polardb_node_classes.default.classes.0.zone_id + vpc_id = alicloud_vpc.default.id + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) + } + + data "alicloud_polardb_node_classes" "default" { + pay_type = "PostPaid" + db_type = "MySQL" + db_version = "8.0" + category = "Normal" } resource "alicloud_polardb_cluster" "cluster" { @@ -259,7 +271,7 @@ func resourcePolarDBClusterEndpointConfigDependence(name string) string { db_version = "8.0" pay_type = "PostPaid" db_node_class = "polar.mysql.x4.medium" - vswitch_id = data.alicloud_vswitches.default.ids.0 + vswitch_id = alicloud_vswitch.default.id description = "${var.name}" } diff --git a/alicloud/resource_alicloud_polardb_cluster_test.go b/alicloud/resource_alicloud_polardb_cluster_test.go index 09c38745d392..160aa78a6e01 100644 --- a/alicloud/resource_alicloud_polardb_cluster_test.go +++ b/alicloud/resource_alicloud_polardb_cluster_test.go @@ -1060,13 +1060,13 @@ func TestAccAliCloudPolarDBCluster_VpcId(t *testing.T) { "description": "${var.name}", "resource_group_id": "${data.alicloud_resource_manager_resource_groups.default.ids.0}", "vpc_id": "${local.vpc_id}", - "security_ips": []string{"10.168.1.12", "100.69.7.112"}, + "security_ips": []string{"10.168.1.12", "100.69.7.112", "127.0.0.1"}, }), Check: resource.ComposeTestCheckFunc( testAccCheck(map[string]string{ "resource_group_id": CHECKSET, "vpc_id": CHECKSET, - "security_ips.#": "2", + "security_ips.#": "3", }), ), }, @@ -1824,28 +1824,26 @@ func resourcePolarDBClusterPrePaidConfigDependence(name string) string { data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } - data "alicloud_vswitches" "default" { + resource "alicloud_vpc" "default" { + vpc_name = var.name + } + + resource "alicloud_vswitch" "default" { zone_id = data.alicloud_polardb_node_classes.this.classes.0.zone_id - vpc_id = data.alicloud_vpcs.default.ids.0 + vpc_id = alicloud_vpc.default.id + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) } - resource "alicloud_vswitch" "vswitch" { - count = length(data.alicloud_vswitches.default.ids) > 0 ? 0 : 1 - vpc_id = data.alicloud_vpcs.default.ids.0 - cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs[0].cidr_block, 8, 8) - zone_id = data.alicloud_polardb_node_classes.this.classes.0.zone_id - vswitch_name = var.name - } - - locals { - vswitch_id = length(data.alicloud_vswitches.default.ids) > 0 ? data.alicloud_vswitches.default.ids[0] : concat(alicloud_vswitch.vswitch.*.id, [""])[0] + data "alicloud_polardb_node_classes" "this" { + db_type = "MySQL" + db_version = "8.0" + pay_type = "PrePaid" + category = "Normal" } - data "alicloud_polardb_node_classes" "this" { - db_type = "MySQL" - db_version = "8.0" - pay_type = "PrePaid" - category = "Normal" + locals { + vpc_id = alicloud_vpc.default.id + vswitch_id = concat(alicloud_vswitch.default.*.id, [""])[0] } data "alicloud_resource_manager_resource_groups" "default" { diff --git a/alicloud/resource_alicloud_polardb_database_test.go b/alicloud/resource_alicloud_polardb_database_test.go index 343c18dd432c..a4f9788dba17 100644 --- a/alicloud/resource_alicloud_polardb_database_test.go +++ b/alicloud/resource_alicloud_polardb_database_test.go @@ -149,7 +149,7 @@ func resourcePolarDBDatabaseConfigPostgreSQLDependence(name string) string { db_type = "PostgreSQL" db_version = "14" pay_type = "PostPaid" - db_node_class = data.alicloud_polardb_node_classes.this.classes.0.supported_engines.0.available_resources.0.db_node_class + db_node_class = "polar.pg.x4.medium" vswitch_id = local.vswitch_id description = "${var.name}" } diff --git a/alicloud/resource_alicloud_polardb_endpoint_test.go b/alicloud/resource_alicloud_polardb_endpoint_test.go index 75b50523d681..34f0f3b35ffd 100644 --- a/alicloud/resource_alicloud_polardb_endpoint_test.go +++ b/alicloud/resource_alicloud_polardb_endpoint_test.go @@ -259,13 +259,25 @@ func resourcePolarDBEndpointConfigDependence(name string) string { default = "%s" } - data "alicloud_polardb_zones" "default"{} data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } - data "alicloud_vswitches" "default" { - zone_id = data.alicloud_polardb_zones.default.ids[length(data.alicloud_polardb_zones.default.ids) - 1] - vpc_id = data.alicloud_vpcs.default.ids.0 + + resource "alicloud_vpc" "default" { + vpc_name = var.name + } + + resource "alicloud_vswitch" "default" { + zone_id = data.alicloud_polardb_node_classes.default.classes.0.zone_id + vpc_id = alicloud_vpc.default.id + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) + } + + data "alicloud_polardb_node_classes" "default" { + pay_type = "PostPaid" + db_type = "MySQL" + db_version = "8.0" + category = "Normal" } resource "alicloud_polardb_cluster" "cluster" { @@ -273,7 +285,7 @@ func resourcePolarDBEndpointConfigDependence(name string) string { db_version = "8.0" pay_type = "PostPaid" db_node_class = "polar.mysql.x4.medium" - vswitch_id = data.alicloud_vswitches.default.ids.0 + vswitch_id = alicloud_vswitch.default.id description = "${var.name}" } diff --git a/alicloud/resource_alicloud_polardb_global_database_network_test.go b/alicloud/resource_alicloud_polardb_global_database_network_test.go index 5f88ff1f18d9..0fa560852717 100644 --- a/alicloud/resource_alicloud_polardb_global_database_network_test.go +++ b/alicloud/resource_alicloud_polardb_global_database_network_test.go @@ -199,12 +199,17 @@ data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } -data "alicloud_vswitches" "default" { - vpc_id = data.alicloud_vpcs.default.ids.0 +resource "alicloud_vpc" "default" { + vpc_name = var.name +} + +resource "alicloud_vswitch" "default" { + zone_id = data.alicloud_polardb_node_classes.default.classes.0.zone_id + vpc_id = alicloud_vpc.default.id + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) } data "alicloud_polardb_node_classes" "default" { - zone_id = data.alicloud_vswitches.default.vswitches.0.zone_id pay_type = "PostPaid" db_type = "MySQL" db_version = "8.0" @@ -216,7 +221,7 @@ resource "alicloud_polardb_cluster" "default" { db_version = "8.0" pay_type = "PostPaid" db_node_class = data.alicloud_polardb_node_classes.default.classes.0.supported_engines.0.available_resources.2.db_node_class - vswitch_id = data.alicloud_vswitches.default.ids.0 + vswitch_id = alicloud_vswitch.default.id description = "${var.name}" } diff --git a/alicloud/resource_alicloud_polardb_primary_endpoint_test.go b/alicloud/resource_alicloud_polardb_primary_endpoint_test.go index fe43d1e6f5e2..947060e37a69 100644 --- a/alicloud/resource_alicloud_polardb_primary_endpoint_test.go +++ b/alicloud/resource_alicloud_polardb_primary_endpoint_test.go @@ -113,13 +113,24 @@ func resourcePolarDBPrimaryEndpointConfigDependence(name string) string { default = "%s" } - data "alicloud_polardb_zones" "default"{} data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } - data "alicloud_vswitches" "default" { - zone_id = data.alicloud_polardb_zones.default.ids[length(data.alicloud_polardb_zones.default.ids) - 1] - vpc_id = data.alicloud_vpcs.default.ids.0 + resource "alicloud_vpc" "default" { + vpc_name = var.name + } + + resource "alicloud_vswitch" "default" { + zone_id = data.alicloud_polardb_node_classes.default.classes.0.zone_id + vpc_id = alicloud_vpc.default.id + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) + } + + data "alicloud_polardb_node_classes" "default" { + pay_type = "PostPaid" + db_type = "MySQL" + db_version = "8.0" + category = "Normal" } resource "alicloud_polardb_cluster" "cluster" { @@ -127,7 +138,7 @@ func resourcePolarDBPrimaryEndpointConfigDependence(name string) string { db_version = "8.0" pay_type = "PostPaid" db_node_class = "polar.mysql.x4.medium" - vswitch_id = data.alicloud_vswitches.default.ids.0 + vswitch_id = alicloud_vswitch.default.id description = "${var.name}" } `, name) diff --git a/alicloud/service_alicloud_common_test.go b/alicloud/service_alicloud_common_test.go index a7d94bd944ef..72e0bd91e54e 100644 --- a/alicloud/service_alicloud_common_test.go +++ b/alicloud/service_alicloud_common_test.go @@ -933,20 +933,18 @@ data "alicloud_polardb_zones" "default"{} data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } -data "alicloud_vswitches" "default" { - zone_id = local.zone_id - vpc_id = data.alicloud_vpcs.default.ids.0 +resource "alicloud_vpc" "default" { + vpc_name = var.name } resource "alicloud_vswitch" "this" { - count = length(data.alicloud_vswitches.default.ids) > 0 ? 0 : 1 vswitch_name = "tf_testAccPolarDB" - vpc_id = data.alicloud_vpcs.default.ids.0 + vpc_id = alicloud_vpc.default.id zone_id = data.alicloud_polardb_zones.default.ids.0 - cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs.0.cidr_block, 8, 4) + cidr_block = cidrsubnet(alicloud_vpc.default.cidr_block, 8, 4) } locals { - vpc_id = data.alicloud_vpcs.default.ids.0 - vswitch_id = length(data.alicloud_vswitches.default.ids) > 0 ? data.alicloud_vswitches.default.ids.0 : concat(alicloud_vswitch.this.*.id, [""])[0] + vpc_id = alicloud_vpc.default.id + vswitch_id = concat(alicloud_vswitch.this.*.id, [""])[0] zone_id = data.alicloud_polardb_zones.default.ids[length(data.alicloud_polardb_zones.default.ids)-2] } `