From 70f62ec64bef47d454a8292aceaa74ff0131a7db Mon Sep 17 00:00:00 2001 From: Kagashino Date: Tue, 12 Apr 2022 15:53:39 +0800 Subject: [PATCH 1/2] fix: add sqlserver instance name query and fix testcases --- .../data_source_tc_sqlserver_backups_test.go | 6 +-- ...ata_source_tc_sqlserver_basic_instances.go | 8 ++- ...ource_tc_sqlserver_basic_instances_test.go | 13 ++--- .../data_source_tc_sqlserver_dbs_test.go | 4 +- .../data_source_tc_sqlserver_instances.go | 19 ++++--- ...data_source_tc_sqlserver_instances_test.go | 25 +++------ ...ource_tc_sqlserver_readonly_groups_test.go | 4 +- ...tc_sqlserver_account_db_attachment_test.go | 24 ++++----- .../resource_tc_sqlserver_account_test.go | 8 +-- ...source_tc_sqlserver_basic_instance_test.go | 16 +++--- tencentcloud/resource_tc_sqlserver_db_test.go | 51 +++++++++++++++++-- .../resource_tc_sqlserver_instance_test.go | 2 +- .../service_tencentcloud_sqlserver.go | 7 ++- .../d/sqlserver_basic_instances.html.markdown | 1 + .../docs/d/sqlserver_instances.html.markdown | 1 + 15 files changed, 119 insertions(+), 70 deletions(-) diff --git a/tencentcloud/data_source_tc_sqlserver_backups_test.go b/tencentcloud/data_source_tc_sqlserver_backups_test.go index b10db7f65a..4609be4708 100644 --- a/tencentcloud/data_source_tc_sqlserver_backups_test.go +++ b/tencentcloud/data_source_tc_sqlserver_backups_test.go @@ -34,10 +34,10 @@ func TestAccDataSourceTencentCloudSqlserverBackups(t *testing.T) { }) } -const testAccTencentCloudDataSqlserverBackupsBasic = testAccSqlserverDB_basic + ` +const testAccTencentCloudDataSqlserverBackupsBasic = ` data "tencentcloud_sqlserver_backups" "test"{ - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = "mssql-ds1xhnt9" start_time = "2020-06-17 00:00:00" - end_time = "2020-06-22 00:00:00" + end_time = "2022-06-22 00:00:00" } ` diff --git a/tencentcloud/data_source_tc_sqlserver_basic_instances.go b/tencentcloud/data_source_tc_sqlserver_basic_instances.go index 10fb41d99b..c90d3cea8e 100644 --- a/tencentcloud/data_source_tc_sqlserver_basic_instances.go +++ b/tencentcloud/data_source_tc_sqlserver_basic_instances.go @@ -43,6 +43,11 @@ func dataSourceTencentCloudSqlserverBasicInstances() *schema.Resource { Optional: true, Description: "ID of the SQL Server basic instance to be query.", }, + "name": { + Type: schema.TypeString, + Optional: true, + Description: "Name of the SQL Server basic instance to be query.", + }, "project_id": { Type: schema.TypeInt, Optional: true, @@ -171,6 +176,7 @@ func dataSourceTencentCloudSqlserverBasicInstanceRead(d *schema.ResourceData, me tagService = &TagService{client: tcClient} service = SqlserverService{client: tcClient} id = d.Get("id").(string) + name = d.Get("name").(string) projectId = -1 vpcId string subnetId string @@ -184,7 +190,7 @@ func dataSourceTencentCloudSqlserverBasicInstanceRead(d *schema.ResourceData, me if v, ok := d.GetOk("subnet_id"); ok { subnetId = v.(string) } - instanceList, err := service.DescribeSqlserverInstances(ctx, id, projectId, vpcId, subnetId, 1) + instanceList, err := service.DescribeSqlserverInstances(ctx, id, name, projectId, vpcId, subnetId, 1) if err != nil { return err } diff --git a/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go b/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go index 622de0f173..0947d16952 100644 --- a/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go +++ b/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go @@ -43,10 +43,7 @@ func TestAccDataSourceTencentCloudSqlserverBasicInstances(t *testing.T) { }) } -const testAccTencentCloudDataSqlserverBasicInstancesBasic = ` -variable "availability_zone"{ - default = "ap-guangzhou-3" -} +const testAccTencentCloudDataSqlserverBasicInstancesBasic = testAccSqlserverInstanceBasic + ` resource "tencentcloud_vpc" "foo" { name = "tf-sqlserver-vpc" @@ -54,7 +51,7 @@ resource "tencentcloud_vpc" "foo" { } resource "tencentcloud_subnet" "foo" { - availability_zone = var.availability_zone + availability_zone = local.az1 name = "tf-sqlserver-subnet" vpc_id = tencentcloud_vpc.foo.id cidr_block = "10.0.0.0/16" @@ -63,15 +60,15 @@ resource "tencentcloud_subnet" "foo" { resource "tencentcloud_sqlserver_basic_instance" "test" { name = "tf_sqlserver_basic_instance" - availability_zone = var.availability_zone + availability_zone = local.az1 charge_type = "POSTPAID_BY_HOUR" vpc_id = tencentcloud_vpc.foo.id subnet_id = tencentcloud_subnet.foo.id machine_type = "CLOUD_PREMIUM" project_id = 0 - memory = 2 + memory = 4 storage = 20 - cpu = 1 + cpu = 2 security_groups = ["` + defaultSecurityGroup + `"] tags = { diff --git a/tencentcloud/data_source_tc_sqlserver_dbs_test.go b/tencentcloud/data_source_tc_sqlserver_dbs_test.go index 0da09b0658..0526c4d3f8 100644 --- a/tencentcloud/data_source_tc_sqlserver_dbs_test.go +++ b/tencentcloud/data_source_tc_sqlserver_dbs_test.go @@ -28,8 +28,8 @@ func TestAccDataSourceTencentCloudSqlserverDBs_basic(t *testing.T) { }) } -const TestAccDataSourceTencentCloudSqlserverDB = testAccSqlserverDB_basic + ` +const TestAccDataSourceTencentCloudSqlserverDB = ` data "tencentcloud_sqlserver_dbs" "foo" { - instance_id = tencentcloud_sqlserver_db.mysqlserver_db.instance_id + instance_id = "mssql-ds1xhnt9" } ` diff --git a/tencentcloud/data_source_tc_sqlserver_instances.go b/tencentcloud/data_source_tc_sqlserver_instances.go index e7db4bbb37..63ac574776 100644 --- a/tencentcloud/data_source_tc_sqlserver_instances.go +++ b/tencentcloud/data_source_tc_sqlserver_instances.go @@ -37,6 +37,11 @@ func dataSourceTencentCloudSqlserverInstances() *schema.Resource { Optional: true, Description: "ID of the SQL Server instance to be query.", }, + "name": { + Type: schema.TypeString, + Optional: true, + Description: "Name of the SQL Server instance to be query.", + }, "project_id": { Type: schema.TypeInt, Optional: true, @@ -172,19 +177,21 @@ func dataSourceTencentCloudSqlserverInstanceRead(d *schema.ResourceData, meta in id := d.Get("id").(string) - project_id := -1 + name := d.Get("name").(string) + + projectId := -1 if v, ok := d.GetOk("project_id"); ok { - project_id = v.(int) + projectId = v.(int) } - vpc_id := d.Get("vpc_id").(string) + vpcId := d.Get("vpc_id").(string) - subnet_id := d.Get("subnet_id").(string) + subnetId := d.Get("subnet_id").(string) - instanceList, err := service.DescribeSqlserverInstances(ctx, id, project_id, vpc_id, subnet_id, 1) + instanceList, err := service.DescribeSqlserverInstances(ctx, id, name, projectId, vpcId, subnetId, 1) if err != nil { - instanceList, err = service.DescribeSqlserverInstances(ctx, id, project_id, vpc_id, subnet_id, 1) + instanceList, err = service.DescribeSqlserverInstances(ctx, id, name, projectId, vpcId, subnetId, 1) } if err != nil { return err diff --git a/tencentcloud/data_source_tc_sqlserver_instances_test.go b/tencentcloud/data_source_tc_sqlserver_instances_test.go index 9ad6a89538..ea9359a67e 100644 --- a/tencentcloud/data_source_tc_sqlserver_instances_test.go +++ b/tencentcloud/data_source_tc_sqlserver_instances_test.go @@ -6,7 +6,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) -var testDataSqlserverInstancesName = "data.tencentcloud_sqlserver_instances.id_test" +var testDataSqlserverInstancesName = "data.tencentcloud_sqlserver_instances.test" func TestAccDataSourceTencentCloudSqlserverInstances(t *testing.T) { t.Parallel() @@ -18,16 +18,14 @@ func TestAccDataSourceTencentCloudSqlserverInstances(t *testing.T) { { Config: testAccTencentCloudDataSqlserverInstancesBasic, Check: resource.ComposeTestCheckFunc( - testAccCheckSqlserverInstanceExists("tencentcloud_sqlserver_instance.test"), - resource.TestCheckResourceAttr(testDataSqlserverInstancesName, "instance_list.#", "1"), + resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.#"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.id"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.create_time"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.id"), resource.TestCheckResourceAttr(testDataSqlserverInstancesName, "instance_list.0.charge_type", "POSTPAID_BY_HOUR"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.engine_version"), - resource.TestCheckResourceAttr(testDataSqlserverInstancesName, "instance_list.0.project_id", "0"), - resource.TestCheckResourceAttr(testDataSqlserverInstancesName, "instance_list.0.memory", "2"), - resource.TestCheckResourceAttr(testDataSqlserverInstancesName, "instance_list.0.storage", "10"), + resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.memory"), + resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.storage"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.vip"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.vport"), resource.TestCheckResourceAttrSet(testDataSqlserverInstancesName, "instance_list.0.status"), @@ -38,18 +36,9 @@ func TestAccDataSourceTencentCloudSqlserverInstances(t *testing.T) { }) } -var testAccTencentCloudDataSqlserverInstancesBasic = testAccSqlserverInstanceBasic + ` +var testAccTencentCloudDataSqlserverInstancesBasic = ` -resource "tencentcloud_sqlserver_instance" "test" { - name = "tf_sqlserver_instance" - availability_zone = local.az - charge_type = "POSTPAID_BY_HOUR" - project_id = 0 - memory = 2 - storage = 10 -} - -data "tencentcloud_sqlserver_instances" "id_test"{ - id = tencentcloud_sqlserver_instance.test.id +data "tencentcloud_sqlserver_instances" "test"{ + name = "keep" } ` diff --git a/tencentcloud/data_source_tc_sqlserver_readonly_groups_test.go b/tencentcloud/data_source_tc_sqlserver_readonly_groups_test.go index f0a44c07ce..487ec15ba4 100644 --- a/tencentcloud/data_source_tc_sqlserver_readonly_groups_test.go +++ b/tencentcloud/data_source_tc_sqlserver_readonly_groups_test.go @@ -18,7 +18,7 @@ func TestAccDataSourceTencentCloudSqlserverReadonlyGroups(t *testing.T) { { Config: testAccTencentCloudDataSqlserverReadonlyGroupsBasic, Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr(testDataSqlserverReadonlyGroupsName, "list.#", "2"), + resource.TestCheckResourceAttrSet(testDataSqlserverReadonlyGroupsName, "list.#"), resource.TestCheckResourceAttrSet(testDataSqlserverReadonlyGroupsName, "list.0.vport"), resource.TestCheckResourceAttrSet(testDataSqlserverReadonlyGroupsName, "list.0.vip"), resource.TestCheckResourceAttrSet(testDataSqlserverReadonlyGroupsName, "list.0.min_instances"), @@ -37,6 +37,6 @@ func TestAccDataSourceTencentCloudSqlserverReadonlyGroups(t *testing.T) { const testAccTencentCloudDataSqlserverReadonlyGroupsBasic = ` data "tencentcloud_sqlserver_readonly_groups" "test"{ - master_instance_id = "mssql-ixq78we9" + master_instance_id = "mssql-ds1xhnt9" } ` diff --git a/tencentcloud/resource_tc_sqlserver_account_db_attachment_test.go b/tencentcloud/resource_tc_sqlserver_account_db_attachment_test.go index 050b9d420c..8317251a92 100644 --- a/tencentcloud/resource_tc_sqlserver_account_db_attachment_test.go +++ b/tencentcloud/resource_tc_sqlserver_account_db_attachment_test.go @@ -25,7 +25,7 @@ func TestAccTencentCloudSqlserverAccountDBAttachmentResource(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckSqlserverAccountDBAttachmentExists(testSqlserverAccountDBAttachmentResourceKey), resource.TestCheckResourceAttrSet(testSqlserverAccountDBAttachmentResourceKey, "instance_id"), - resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "account_name", "tf_sqlserver_account"), + resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "account_name", "tf_sqlserver_account_attach"), resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "db_name", "test111"), resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "privilege", "ReadOnly"), ), @@ -41,7 +41,7 @@ func TestAccTencentCloudSqlserverAccountDBAttachmentResource(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckSqlserverAccountDBAttachmentExists(testSqlserverAccountDBAttachmentResourceKey), resource.TestCheckResourceAttrSet(testSqlserverAccountDBAttachmentResourceKey, "instance_id"), - resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "account_name", "tf_sqlserver_account"), + resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "account_name", "tf_sqlserver_account_attach"), resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "db_name", "test111"), resource.TestCheckResourceAttr(testSqlserverAccountDBAttachmentResourceKey, "privilege", "ReadWrite"), ), @@ -117,44 +117,44 @@ func testAccCheckSqlserverAccountDBAttachmentExists(n string) resource.TestCheck } } -const testAccSqlserverAccountDBAttachment string = testAccSqlserverInstance + ` +const testAccSqlserverAccountDBAttachment string = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_account" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id - name = "tf_sqlserver_account" + instance_id = local.sqlserver_id + name = "tf_sqlserver_account_attach" password = "testt123" } resource "tencentcloud_sqlserver_db" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id name = "test111" charset = "Chinese_PRC_BIN" remark = "testACC-remark" } resource "tencentcloud_sqlserver_account_db_attachment" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id account_name = tencentcloud_sqlserver_account.test.name db_name = tencentcloud_sqlserver_db.test.name privilege = "ReadOnly" } ` -const testAccSqlserverAccountDBAttachmentUpdate string = testAccSqlserverInstance + ` +const testAccSqlserverAccountDBAttachmentUpdate string = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_account" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id - name = "tf_sqlserver_account" + instance_id = local.sqlserver_id + name = "tf_sqlserver_account_attach" password = "testt123" } resource "tencentcloud_sqlserver_db" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id name = "test111" charset = "Chinese_PRC_BIN" remark = "testACC-remark" } resource "tencentcloud_sqlserver_account_db_attachment" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id account_name = tencentcloud_sqlserver_account.test.name db_name = tencentcloud_sqlserver_db.test.name privilege = "ReadWrite" diff --git a/tencentcloud/resource_tc_sqlserver_account_test.go b/tencentcloud/resource_tc_sqlserver_account_test.go index eafc1f1071..9873441d6f 100644 --- a/tencentcloud/resource_tc_sqlserver_account_test.go +++ b/tencentcloud/resource_tc_sqlserver_account_test.go @@ -125,17 +125,17 @@ func testAccCheckSqlserverAccountExists(n string) resource.TestCheckFunc { } } -const testAccSqlserverAccount string = testAccSqlserverInstance + ` +const testAccSqlserverAccount string = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_account" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id name = "tf_sqlserver_account" password = "testt123" } ` -const testAccSqlserverAccountUpdate string = testAccSqlserverInstance + ` +const testAccSqlserverAccountUpdate string = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_account" "test" { - instance_id = tencentcloud_sqlserver_instance.test.id + instance_id = local.sqlserver_id name = "tf_sqlserver_account" password = "test1233" remark = "testt" diff --git a/tencentcloud/resource_tc_sqlserver_basic_instance_test.go b/tencentcloud/resource_tc_sqlserver_basic_instance_test.go index 5bebce8c53..bde42bc0f5 100644 --- a/tencentcloud/resource_tc_sqlserver_basic_instance_test.go +++ b/tencentcloud/resource_tc_sqlserver_basic_instance_test.go @@ -28,9 +28,9 @@ func TestAccTencentCloudSqlserverBasicInstanceResource(t *testing.T) { resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "charge_type", "POSTPAID_BY_HOUR"), resource.TestCheckResourceAttrSet(testSqlserverBasicInstanceResourceKey, "vpc_id"), resource.TestCheckResourceAttrSet(testSqlserverBasicInstanceResourceKey, "subnet_id"), - resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "memory", "2"), + resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "memory", "4"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "storage", "20"), - resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "cpu", "1"), + resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "cpu", "2"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "machine_type", "CLOUD_PREMIUM"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "project_id", "0"), resource.TestCheckResourceAttrSet(testSqlserverBasicInstanceResourceKey, "create_time"), @@ -58,9 +58,9 @@ func TestAccTencentCloudSqlserverBasicInstanceResource(t *testing.T) { resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "maintenance_start_time", "08:00"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "maintenance_time_span", "4"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "maintenance_week_set.#", "4"), - resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "memory", "4"), + resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "memory", "8"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "storage", "100"), - resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "cpu", "1"), + resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "cpu", "2"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "machine_type", "CLOUD_PREMIUM"), resource.TestCheckResourceAttrSet(testSqlserverBasicInstanceResourceKey, "create_time"), resource.TestCheckResourceAttr(testSqlserverBasicInstanceResourceKey, "project_id", "0"), @@ -153,9 +153,9 @@ resource "tencentcloud_sqlserver_basic_instance" "test" { subnet_id = tencentcloud_subnet.foo.id security_groups = ["` + defaultSecurityGroup + `"] project_id = 0 - memory = 2 + memory = 4 storage = 20 - cpu = 1 + cpu = 2 machine_type = "CLOUD_PREMIUM" maintenance_week_set = [1,2,3] maintenance_start_time = "09:00" @@ -176,9 +176,9 @@ resource "tencentcloud_sqlserver_basic_instance" "test" { subnet_id = tencentcloud_subnet.foo.id security_groups = ["` + defaultSecurityGroup + `"] project_id = 0 - memory = 4 + memory = 8 storage = 100 - cpu = 1 + cpu = 2 machine_type = "CLOUD_PREMIUM" maintenance_week_set = [1,2,3,4] maintenance_start_time = "08:00" diff --git a/tencentcloud/resource_tc_sqlserver_db_test.go b/tencentcloud/resource_tc_sqlserver_db_test.go index e7d055c2fc..da9f943cba 100644 --- a/tencentcloud/resource_tc_sqlserver_db_test.go +++ b/tencentcloud/resource_tc_sqlserver_db_test.go @@ -3,12 +3,57 @@ package tencentcloud import ( "context" "fmt" + "strconv" "testing" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" ) +const testDbName = "testAccSqlserverDB" + +func init() { + // go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_sqlserver_db + resource.AddTestSweepers("tencentcloud_sqlserver_db", &resource.Sweeper{ + Name: "tencentcloud_sqlserver_db", + F: func(r string) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + cli, _ := sharedClientForRegion(r) + client := cli.(*TencentCloudClient).apiV3Conn + service := SqlserverService{client} + + projId, _ := strconv.ParseInt(defaultProjectId, 10, 64) + instance, err := service.DescribeSqlserverInstances(ctx, "", "", int(projId), "", "", -1) + + if err != nil { + return err + } + + insId := *instance[0].InstanceId + + dbs, err := service.DescribeDBsOfInstance(ctx, insId) + + if err != nil { + return err + } + + for i := range dbs { + db := dbs[i] + if *db.Name != testDbName { + continue + } + err := service.DeleteSqlserverDB(ctx, insId, []*string{db.Name}) + if err != nil { + continue + } + } + + return nil + }, + }) +} + func TestAccTencentCloudSqlserverDB_basic_and_update(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ @@ -19,7 +64,7 @@ func TestAccTencentCloudSqlserverDB_basic_and_update(t *testing.T) { { Config: testAccSqlserverDB_basic, Check: resource.ComposeAggregateTestCheckFunc( - resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "name", "testAccSqlserverDB"), + resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "name", testDbName), resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "charset", "Chinese_PRC_BIN"), resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "remark", "testACC-remark"), resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_db.mysqlserver_db", "create_time"), @@ -92,7 +137,7 @@ func testAccCheckSqlserverDBExists(n string) resource.TestCheckFunc { const testAccSqlserverDB_basic = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_db" "mysqlserver_db" { instance_id = local.sqlserver_id - name = "testAccSqlserverDB" + name = "` + testDbName + `" charset = "Chinese_PRC_BIN" remark = "testACC-remark" }` @@ -100,7 +145,7 @@ resource "tencentcloud_sqlserver_db" "mysqlserver_db" { const testAccSqlserverDB_basic_update_remark = CommonPresetSQLServer + ` resource "tencentcloud_sqlserver_db" "mysqlserver_db" { instance_id = local.sqlserver_id - name = "testAccSqlserverDB" + name = "` + testDbName + `" charset = "Chinese_PRC_BIN" remark = "testACC-remark_update" }` diff --git a/tencentcloud/resource_tc_sqlserver_instance_test.go b/tencentcloud/resource_tc_sqlserver_instance_test.go index 5858f7c30c..f402d59926 100644 --- a/tencentcloud/resource_tc_sqlserver_instance_test.go +++ b/tencentcloud/resource_tc_sqlserver_instance_test.go @@ -24,7 +24,7 @@ func init() { cli, _ := sharedClientForRegion(r) client := cli.(*TencentCloudClient).apiV3Conn service := SqlserverService{client: client} - instances, err := service.DescribeSqlserverInstances(ctx, "", -1, defaultVpcId, defaultSubnetId, 1) + instances, err := service.DescribeSqlserverInstances(ctx, "", "", -1, defaultVpcId, defaultSubnetId, 1) if err != nil { return err diff --git a/tencentcloud/service_tencentcloud_sqlserver.go b/tencentcloud/service_tencentcloud_sqlserver.go index 9d4422791d..a86dfed6a4 100644 --- a/tencentcloud/service_tencentcloud_sqlserver.go +++ b/tencentcloud/service_tencentcloud_sqlserver.go @@ -288,7 +288,7 @@ func (me *SqlserverService) DeleteSqlserverInstance(ctx context.Context, instanc return err } -func (me *SqlserverService) DescribeSqlserverInstances(ctx context.Context, instanceId string, projectId int, vpcId string, subnetId string, netType int) (instanceList []*sqlserver.DBInstance, errRet error) { +func (me *SqlserverService) DescribeSqlserverInstances(ctx context.Context, instanceId, instanceName string, projectId int, vpcId, subnetId string, netType int) (instanceList []*sqlserver.DBInstance, errRet error) { logId := getLogId(ctx) request := sqlserver.NewDescribeDBInstancesRequest() defer func() { @@ -300,6 +300,9 @@ func (me *SqlserverService) DescribeSqlserverInstances(ctx context.Context, inst if instanceId != "" { request.InstanceIdSet = []*string{&instanceId} } + if instanceName != "" { + request.InstanceNameSet = []*string{&instanceName} + } if projectId != -1 { request.ProjectId = helper.IntUint64(projectId) } @@ -340,7 +343,7 @@ func (me *SqlserverService) DescribeSqlserverInstances(ctx context.Context, inst } func (me *SqlserverService) DescribeSqlserverInstanceById(ctx context.Context, instanceId string) (instance *sqlserver.DBInstance, has bool, errRet error) { - instanceList, err := me.DescribeSqlserverInstances(ctx, instanceId, -1, "", "", 1) + instanceList, err := me.DescribeSqlserverInstances(ctx, instanceId, "", -1, "", "", 1) if err != nil { errRet = err return diff --git a/website/docs/d/sqlserver_basic_instances.html.markdown b/website/docs/d/sqlserver_basic_instances.html.markdown index 385032017d..d1c9302e88 100644 --- a/website/docs/d/sqlserver_basic_instances.html.markdown +++ b/website/docs/d/sqlserver_basic_instances.html.markdown @@ -38,6 +38,7 @@ resource "tencentcloud_sqlserver_basic_instance" "test" { The following arguments are supported: * `id` - (Optional) ID of the SQL Server basic instance to be query. +* `name` - (Optional) Name of the SQL Server basic instance to be query. * `project_id` - (Optional) Project ID of the SQL Server basic instance to be query. * `result_output_file` - (Optional) Used to save results. * `subnet_id` - (Optional) Subnet ID of the SQL Server basic instance to be query. diff --git a/website/docs/d/sqlserver_instances.html.markdown b/website/docs/d/sqlserver_instances.html.markdown index a095c90dcd..84970c1905 100644 --- a/website/docs/d/sqlserver_instances.html.markdown +++ b/website/docs/d/sqlserver_instances.html.markdown @@ -33,6 +33,7 @@ data "tencentcloud_sqlserver_instances" "id" { The following arguments are supported: * `id` - (Optional) ID of the SQL Server instance to be query. +* `name` - (Optional) Name of the SQL Server instance to be query. * `project_id` - (Optional) Project ID of the SQL Server instance to be query. * `result_output_file` - (Optional) Used to save results. * `subnet_id` - (Optional) Subnet ID of the SQL Server instance to be query. From 2ec5fa7b1f27044c98e13fe85a15e3be825b4db3 Mon Sep 17 00:00:00 2001 From: Kagashino Date: Tue, 12 Apr 2022 16:31:53 +0800 Subject: [PATCH 2/2] fix: sqlserver_basic - test case spec --- tencentcloud/data_source_tc_sqlserver_basic_instances_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go b/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go index 0947d16952..d761ff9640 100644 --- a/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go +++ b/tencentcloud/data_source_tc_sqlserver_basic_instances_test.go @@ -26,9 +26,9 @@ func TestAccDataSourceTencentCloudSqlserverBasicInstances(t *testing.T) { resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.charge_type", "POSTPAID_BY_HOUR"), resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.engine_version"), resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.project_id", "0"), - resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.memory", "2"), + resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.memory", "4"), resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.storage", "20"), - resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.cpu", "1"), + resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.cpu", "2"), resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vpc_id"), resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.subnet_id"), resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.availability_zone"),