diff --git a/tencentcloud/services/cvm/data_source_tc_eips_test.go b/tencentcloud/services/cvm/data_source_tc_eips_test.go index fff7788d9d..4d6ec2c48c 100644 --- a/tencentcloud/services/cvm/data_source_tc_eips_test.go +++ b/tencentcloud/services/cvm/data_source_tc_eips_test.go @@ -3,65 +3,123 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ) -// go test -i; go test -test.run TestAccTencentCloudEipsDataSource_basic -v -func TestAccTencentCloudEipsDataSource_basic(t *testing.T) { +func TestAccTencentCloudCvmEipsDataSource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, - CheckDestroy: testAccCheckEipDestroy, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccEipsDataSource, - Check: resource.ComposeTestCheckFunc( - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example"), - resource.TestCheckResourceAttr("data.tencentcloud_eips.example", "eip_list.#", "0"), - - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_id"), - resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_id", "eip_list.#", "1"), - resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_id"), - resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_name", "tf-example"), - resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_type"), - resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.status"), - resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.public_ip"), - resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.create_time"), - - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_name"), - resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_name", "eip_list.0.eip_name", "tf-example"), - - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_tags"), - resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_tags", "eip_list.0.tags.test", "test"), - ), + Config: testAccCvmEipsDataSource_BasicCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example")), }, }, }) } -const testAccEipsDataSource = ` -resource "tencentcloud_eip" "example" { - name = "tf-example" +const testAccCvmEipsDataSource_BasicCreate = ` + +data "tencentcloud_eips" "example" { +} + +` - tags = { - "test" = "test" - } +func TestAccTencentCloudCvmEipsDataSource_ById(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmEipsDataSource_ByIdCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_id"), resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.public_ip"), resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.create_time"), resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_id", "eip_list.#", "1"), resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_id"), resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_name", "tf-example"), resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.eip_type"), resource.TestCheckResourceAttrSet("data.tencentcloud_eips.example_by_id", "eip_list.0.status")), + }, + }, + }) } -data "tencentcloud_eips" "example" {} +const testAccCvmEipsDataSource_ByIdCreate = ` data "tencentcloud_eips" "example_by_id" { - eip_id = tencentcloud_eip.example.id + eip_id = tencentcloud_eip.example.id +} +resource "tencentcloud_eip" "example" { + + tags = { + test = "test" + } + name = "tf-example" } +` + +func TestAccTencentCloudCvmEipsDataSource_ByName(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmEipsDataSource_ByNameCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_name"), resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_name", "eip_list.0.eip_name", "tf-example")), + }, + }, + }) +} + +const testAccCvmEipsDataSource_ByNameCreate = ` + data "tencentcloud_eips" "example_by_name" { - eip_name = tencentcloud_eip.example.name + eip_name = tencentcloud_eip.example.name +} +resource "tencentcloud_eip" "example" { + name = "tf-example" + + tags = { + test = "test" + } } +` + +func TestAccTencentCloudCvmEipsDataSource_ByTags(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmEipsDataSource_ByTagsCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_eips.example_by_tags"), resource.TestCheckResourceAttr("data.tencentcloud_eips.example_by_tags", "eip_list.0.tags.test", "test")), + }, + }, + }) +} + +const testAccCvmEipsDataSource_ByTagsCreate = ` + data "tencentcloud_eips" "example_by_tags" { - tags = tencentcloud_eip.example.tags + tags = tencentcloud_eip.example.tags } +resource "tencentcloud_eip" "example" { + name = "tf-example" + + tags = { + test = "test" + } +} + ` diff --git a/tencentcloud/services/cvm/data_source_tc_image_test.go b/tencentcloud/services/cvm/data_source_tc_image_test.go index 7bbc4b1c1c..b9244bbd3c 100644 --- a/tencentcloud/services/cvm/data_source_tc_image_test.go +++ b/tencentcloud/services/cvm/data_source_tc_image_test.go @@ -1,88 +1,185 @@ package cvm_test import ( - "regexp" "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -// go test -i; go test -test.run TestAccTencentCloudDataSourceImageBase_basic -v -func TestAccTencentCloudDataSourceImageBase_basic(t *testing.T) { +func TestAccTencentCloudCvmImageDataSource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudDataSourceImageBase, - Check: resource.ComposeTestCheckFunc( - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), - resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), - resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), - ), - }, - { - Config: testAccTencentCloudDataSourceImageBaseWithFilter, - Check: resource.ComposeTestCheckFunc( - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), - resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), - resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), - ), - }, - { - Config: testAccTencentCloudDataSourceImageBaseWithOsName, - Check: resource.ComposeTestCheckFunc( - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), - resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), - resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), - ), + Config: testAccCvmImageDataSource_BasicCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_id")), }, + }, + }) +} + +const testAccCvmImageDataSource_BasicCreate = ` + +data "tencentcloud_image" "public_image" { +} + +` + +func TestAccTencentCloudCvmImageDataSource_Filter(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ { - Config: testAccTencentCloudDataSourceImageBaseWithImageNameRegex, - Check: resource.ComposeTestCheckFunc( - tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), - resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), - resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), - ), + Config: testAccCvmImageDataSource_FilterCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_id")), }, }, }) } -const testAccTencentCloudDataSourceImageBase = ` -data "tencentcloud_image" "public_image" {} -` +const testAccCvmImageDataSource_FilterCreate = ` -const testAccTencentCloudDataSourceImageBaseWithFilter = ` data "tencentcloud_image" "public_image" { - filter { - name = "image-type" - values = ["PUBLIC_IMAGE"] - } + + filter { + values = ["PUBLIC_IMAGE"] + name = "image-type" + } } + ` -const testAccTencentCloudDataSourceImageBaseWithOsName = ` -data "tencentcloud_image" "public_image" { - os_name = "TencentOS Server 3.2" +func TestAccTencentCloudCvmImageDataSource_WithOsName(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmImageDataSource_WithOsNameCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_id")), + }, + }, + }) +} - filter { - name = "image-type" - values = ["PUBLIC_IMAGE"] - } +const testAccCvmImageDataSource_WithOsNameCreate = ` + +data "tencentcloud_image" "public_image" { + os_name = "TencentOS Server 3.2" } + ` -const testAccTencentCloudDataSourceImageBaseWithImageNameRegex = ` -data "tencentcloud_image" "public_image" { - image_name_regex = "^Windows\\s.*$" +func TestAccTencentCloudCvmImageDataSource_WithImageNameRegex(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmImageDataSource_WithImageNameRegexCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_id")), + }, + }, + }) +} + +const testAccCvmImageDataSource_WithImageNameRegexCreate = ` - filter { - name = "image-type" - values = ["PUBLIC_IMAGE"] - } +data "tencentcloud_image" "public_image" { + image_name_regex = "^Windows\\s.*$" } + ` + +// go test -i; go test -test.run TestAccTencentCloudDataSourceImageBase_basic -v +// func TestAccTencentCloudDataSourceImageBase_basic(t *testing.T) { +// t.Parallel() +// resource.Test(t, resource.TestCase{ +// PreCheck: func() { tcacctest.AccPreCheck(t) }, +// Providers: tcacctest.AccProviders, +// Steps: []resource.TestStep{ +// { +// Config: testAccTencentCloudDataSourceImageBase, +// Check: resource.ComposeTestCheckFunc( +// tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), +// resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), +// resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), +// ), +// }, +// { +// Config: testAccTencentCloudDataSourceImageBaseWithFilter, +// Check: resource.ComposeTestCheckFunc( +// tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), +// resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), +// resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), +// ), +// }, +// { +// Config: testAccTencentCloudDataSourceImageBaseWithOsName, +// Check: resource.ComposeTestCheckFunc( +// tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), +// resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), +// resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), +// ), +// }, +// { +// Config: testAccTencentCloudDataSourceImageBaseWithImageNameRegex, +// Check: resource.ComposeTestCheckFunc( +// tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_image.public_image"), +// resource.TestMatchResourceAttr("data.tencentcloud_image.public_image", "image_id", regexp.MustCompile("^img-")), +// resource.TestCheckResourceAttrSet("data.tencentcloud_image.public_image", "image_name"), +// ), +// }, +// }, +// }) +// } + +// const testAccTencentCloudDataSourceImageBase = ` +// data "tencentcloud_image" "public_image" {} +// ` + +// const testAccTencentCloudDataSourceImageBaseWithFilter = ` +// data "tencentcloud_image" "public_image" { +// filter { +// name = "image-type" +// values = ["PUBLIC_IMAGE"] +// } +// } +// ` + +// const testAccTencentCloudDataSourceImageBaseWithOsName = ` +// data "tencentcloud_image" "public_image" { +// os_name = "TencentOS Server 3.2" + +// filter { +// name = "image-type" +// values = ["PUBLIC_IMAGE"] +// } +// } +// ` + +// const testAccTencentCloudDataSourceImageBaseWithImageNameRegex = ` +// data "tencentcloud_image" "public_image" { +// image_name_regex = "^Windows\\s.*$" + +// filter { +// name = "image-type" +// values = ["PUBLIC_IMAGE"] +// } +// } +// ` diff --git a/tencentcloud/services/cvm/data_source_tc_instance_types_test.go b/tencentcloud/services/cvm/data_source_tc_instance_types_test.go index 16ff0f9bcf..217ef66d51 100644 --- a/tencentcloud/services/cvm/data_source_tc_instance_types_test.go +++ b/tencentcloud/services/cvm/data_source_tc_instance_types_test.go @@ -3,72 +3,69 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ) // go test -i; go test -test.run TestAccTencentCloudInstanceTypesDataSource_basic -v -func TestAccTencentCloudInstanceTypesDataSource_basic(t *testing.T) { +func TestAccTencentCloudCvmInstanceTypesDataSource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudInstanceTypesDataSourceConfigBasic, - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.cpu_core_count", "4"), - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.memory_size", "8"), - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.availability_zone", "ap-guangzhou-3"), - ), + Config: testAccCvmInstanceTypesDataSource_BasicCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_instance_types.example"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.cpu_core_count", "4"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.memory_size", "8"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.availability_zone", "ap-guangzhou-3")), }, }, }) } -// go test -i; go test -test.run TestAccTencentCloudInstanceTypesDataSource_sell -v -func TestAccTencentCloudInstanceTypesDataSource_sell(t *testing.T) { +const testAccCvmInstanceTypesDataSource_BasicCreate = ` + +data "tencentcloud_instance_types" "example" { + availability_zone = "ap-guangzhou-3" + cpu_core_count = 4 + memory_size = 8 +} + +` + +func TestAccTencentCloudCvmInstanceTypesDataSource_Sell(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudInstanceTypesDataSourceConfigSell, - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.cpu_core_count", "2"), - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.memory_size", "2"), - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.availability_zone", "ap-guangzhou-3"), - resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.family", "SA2"), - ), + Config: testAccCvmInstanceTypesDataSource_SellCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_instance_types.example"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.cpu_core_count", "2"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.memory_size", "2"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.availability_zone", "ap-guangzhou-3"), resource.TestCheckResourceAttr("data.tencentcloud_instance_types.example", "instance_types.0.family", "SA2")), }, }, }) } -const testAccTencentCloudInstanceTypesDataSourceConfigBasic = ` -data "tencentcloud_instance_types" "example" { - availability_zone = "ap-guangzhou-3" - cpu_core_count = 4 - memory_size = 8 -} -` +const testAccCvmInstanceTypesDataSource_SellCreate = ` -const testAccTencentCloudInstanceTypesDataSourceConfigSell = ` data "tencentcloud_instance_types" "example" { - cpu_core_count = 2 - memory_size = 2 - exclude_sold_out = true - - filter{ - name = "instance-family" - values = ["SA2"] - } - - filter{ - name = "zone" - values = ["ap-guangzhou-3"] - } + cpu_core_count = 2 + memory_size = 2 + exclude_sold_out = true + + filter { + name = "instance-family" + values = ["SA2"] + } + filter { + name = "zone" + values = ["ap-guangzhou-3"] + } } + ` diff --git a/tencentcloud/services/cvm/data_source_tc_instances_set_test.go b/tencentcloud/services/cvm/data_source_tc_instances_set_test.go index 27296bd94a..abf2bfebc7 100644 --- a/tencentcloud/services/cvm/data_source_tc_instances_set_test.go +++ b/tencentcloud/services/cvm/data_source_tc_instances_set_test.go @@ -3,87 +3,72 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -// go test -i; go test -test.run TestAccTencentCloudInstanceSetDataSource_Basic -v -func TestAccTencentCloudInstanceSetDataSource_Basic(t *testing.T) { +func TestAccTencentCloudCvmInstancesSetDataSource_Basic(t *testing.T) { t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudInstancesSetBasic, - Check: resource.ComposeTestCheckFunc( - testAccCheckTencentCloudInstanceExists("tencentcloud_instance.example"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.instance_id"), - resource.TestCheckResourceAttr("data.tencentcloud_instances_set.example", "instance_list.0.instance_name", "tf_example"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.instance_type"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.cpu"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.memory"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.availability_zone"), - resource.TestCheckResourceAttr("data.tencentcloud_instances_set.example", "instance_list.0.project_id", "0"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances_set.example", "instance_list.0.system_disk_type"), - ), + Config: testAccCvmInstancesSetDataSource_BasicCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_instances_set.example"), resource.TestCheckResourceAttr("data.tencentcloud_instances_set.example", "instance_list.0.project_id", "0"), resource.TestCheckResourceAttr("data.tencentcloud_instances_set.example", "instance_list.0.instance_name", "tf_example")), }, }, }) } -const testAccTencentCloudInstancesSetBasic = ` -# create vpc +const testAccCvmInstancesSetDataSource_BasicCreate = ` + +data "tencentcloud_instances_set" "example" { + availability_zone = tencentcloud_instance.example.availability_zone + project_id = tencentcloud_instance.example.project_id + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + + tags = { + tagKey = "tagValue" + } + instance_id = tencentcloud_instance.example.id + instance_name = tencentcloud_instance.example.instance_name +} resource "tencentcloud_vpc" "vpc" { - name = "vpc" - cidr_block = "10.0.0.0/16" + name = "vpc" + cidr_block = "10.0.0.0/16" } - -# create vpc subnet resource "tencentcloud_subnet" "subnet" { - name = "subnet" - vpc_id = tencentcloud_vpc.vpc.id - availability_zone = "ap-guangzhou-6" - cidr_block = "10.0.20.0/28" - is_multicast = false + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-6" + cidr_block = "10.0.20.0/28" + is_multicast = false + name = "subnet" } - -# create cvm resource "tencentcloud_instance" "example" { - instance_name = "tf_example" - availability_zone = "ap-guangzhou-6" - image_id = "img-9qrfy1xt" - instance_type = "SA3.MEDIUM4" - system_disk_type = "CLOUD_HSSD" - system_disk_size = 100 - hostname = "example" - project_id = 0 - vpc_id = tencentcloud_vpc.vpc.id - subnet_id = tencentcloud_subnet.subnet.id - - data_disks { - data_disk_type = "CLOUD_HSSD" - data_disk_size = 50 - encrypt = false - } - - tags = { - tagKey = "tagValue" - } + instance_name = "tf_example" + availability_zone = "ap-guangzhou-6" + hostname = "example" + project_id = 0 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + image_id = "img-9qrfy1xt" + instance_type = "SA3.MEDIUM4" + system_disk_type = "CLOUD_HSSD" + system_disk_size = 100 + + data_disks { + data_disk_type = "CLOUD_HSSD" + data_disk_size = 50 + encrypt = false + } + + tags = { + tagKey = "tagValue" + } } -data "tencentcloud_instances_set" "example" { - instance_id = tencentcloud_instance.example.id - instance_name = tencentcloud_instance.example.instance_name - availability_zone = tencentcloud_instance.example.availability_zone - project_id = tencentcloud_instance.example.project_id - vpc_id = tencentcloud_vpc.vpc.id - subnet_id = tencentcloud_subnet.subnet.id - - tags = { - tagKey = "tagValue" - } -} ` diff --git a/tencentcloud/services/cvm/data_source_tc_instances_test.go b/tencentcloud/services/cvm/data_source_tc_instances_test.go index cdc896a045..926076c382 100644 --- a/tencentcloud/services/cvm/data_source_tc_instances_test.go +++ b/tencentcloud/services/cvm/data_source_tc_instances_test.go @@ -3,88 +3,72 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -// go test -i; go test -test.run TestAccTencentCloudDataSourceInstancesBase -v -func TestAccTencentCloudDataSourceInstancesBase(t *testing.T) { +func TestAccTencentCloudCvmInstancesDataSource_Basic(t *testing.T) { t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, - CheckDestroy: testAccCheckInstanceDestroy, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudDataSourceInstancesBase, - Check: resource.ComposeTestCheckFunc( - testAccCheckTencentCloudInstanceExists("tencentcloud_instance.example"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.instance_id"), - resource.TestCheckResourceAttr("data.tencentcloud_instances.example", "instance_list.0.instance_name", "tf_example"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.instance_type"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.cpu"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.memory"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.availability_zone"), - resource.TestCheckResourceAttr("data.tencentcloud_instances.example", "instance_list.0.project_id", "0"), - resource.TestCheckResourceAttrSet("data.tencentcloud_instances.example", "instance_list.0.system_disk_type"), - ), + Config: testAccCvmInstancesDataSource_BasicCreate, + Check: resource.ComposeTestCheckFunc(acctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_instances.example"), resource.TestCheckResourceAttr("data.tencentcloud_instances.example", "instance_list.0.project_id", "0"), resource.TestCheckResourceAttr("data.tencentcloud_instances.example", "instance_list.0.instance_name", "tf_example")), }, }, }) } -const testAccTencentCloudDataSourceInstancesBase = ` -# create vpc +const testAccCvmInstancesDataSource_BasicCreate = ` + +data "tencentcloud_instances" "example" { + project_id = tencentcloud_instance.example.project_id + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + + tags = { + tagKey = "tagValue" + } + instance_id = tencentcloud_instance.example.id + instance_name = tencentcloud_instance.example.instance_name + availability_zone = tencentcloud_instance.example.availability_zone +} resource "tencentcloud_vpc" "vpc" { - name = "vpc" - cidr_block = "10.0.0.0/16" + name = "vpc" + cidr_block = "10.0.0.0/16" } - -# create vpc subnet resource "tencentcloud_subnet" "subnet" { - name = "subnet" - vpc_id = tencentcloud_vpc.vpc.id - availability_zone = "ap-guangzhou-6" - cidr_block = "10.0.20.0/28" - is_multicast = false + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-6" + cidr_block = "10.0.20.0/28" + is_multicast = false } - -# create cvm resource "tencentcloud_instance" "example" { - instance_name = "tf_example" - availability_zone = "ap-guangzhou-6" - image_id = "img-9qrfy1xt" - instance_type = "SA3.MEDIUM4" - system_disk_type = "CLOUD_HSSD" - system_disk_size = 100 - hostname = "example" - project_id = 0 - vpc_id = tencentcloud_vpc.vpc.id - subnet_id = tencentcloud_subnet.subnet.id - - data_disks { - data_disk_type = "CLOUD_HSSD" - data_disk_size = 50 - encrypt = false - } - - tags = { - tagKey = "tagValue" - } + instance_type = "SA3.MEDIUM4" + hostname = "example" + project_id = 0 + + data_disks { + data_disk_size = 50 + encrypt = false + data_disk_type = "CLOUD_HSSD" + } + availability_zone = "ap-guangzhou-6" + image_id = "img-9qrfy1xt" + system_disk_type = "CLOUD_HSSD" + system_disk_size = 100 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + + tags = { + tagKey = "tagValue" + } + instance_name = "tf_example" } -data "tencentcloud_instances" "example" { - instance_id = tencentcloud_instance.example.id - instance_name = tencentcloud_instance.example.instance_name - availability_zone = tencentcloud_instance.example.availability_zone - project_id = tencentcloud_instance.example.project_id - vpc_id = tencentcloud_vpc.vpc.id - subnet_id = tencentcloud_subnet.subnet.id - - tags = { - tagKey = "tagValue" - } -} `