diff --git a/tencentcloud/basic_test.go b/tencentcloud/basic_test.go index 3c7df96997..929ddc7b86 100644 --- a/tencentcloud/basic_test.go +++ b/tencentcloud/basic_test.go @@ -124,6 +124,21 @@ data "tencentcloud_instance_types" "default" { } ` +const ( + defaultMySQLName = "preset_mysql" +) + +// ref with `local.mysql_id` +const CommonPresetMysql = ` +data "tencentcloud_mysql_instance" "mysql" { + instance_name = "` + defaultMySQLName + `" +} + +locals { + mysql_id = data.tencentcloud_mysql_instance.mysql.instance_list.0.mysql_id +} +` + const instanceCommonTestCase = defaultInstanceVariable + ` resource "tencentcloud_instance" "default" { instance_name = var.instance_name @@ -158,6 +173,7 @@ resource "tencentcloud_mysql_instance" "default" { engine_version = "5.7" root_password = "0153Y474" availability_zone = var.availability_zone + force_delete = true } ` diff --git a/tencentcloud/data_source_tc_mysql_backup_list_test.go b/tencentcloud/data_source_tc_mysql_backup_list_test.go index b3bb83def9..b9d2af47c9 100644 --- a/tencentcloud/data_source_tc_mysql_backup_list_test.go +++ b/tencentcloud/data_source_tc_mysql_backup_list_test.go @@ -23,8 +23,8 @@ func TestAccDataSourceMysqlBackupList_basic(t *testing.T) { } func testAccDataSourceMysqlBackupListConfig() string { - return mysqlInstanceCommonTestCase + ` + return CommonPresetMysql + ` data "tencentcloud_mysql_backup_list" "test" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id }` } diff --git a/tencentcloud/data_source_tc_mysql_instance_test.go b/tencentcloud/data_source_tc_mysql_instance_test.go index 6cac82ad66..d19cb0eee0 100644 --- a/tencentcloud/data_source_tc_mysql_instance_test.go +++ b/tencentcloud/data_source_tc_mysql_instance_test.go @@ -14,13 +14,13 @@ func TestAccTencentCloudMysqlInstanceDataSource(t *testing.T) { Providers: testAccProviders, Steps: []resource.TestStep{ { - Config: testAccTencentCloudMysqlInstanceDataSourceConfig(mysqlInstanceCommonTestCase), + Config: testAccTencentCloudMysqlInstanceDataSourceConfig(), Check: resource.ComposeAggregateTestCheckFunc( resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.#", "1"), - resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.instance_name", "tf-ci-test"), + resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.instance_name", defaultMySQLName), resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.pay_type", "1"), - resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.memory_size", "1000"), - resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.volume_size", "25"), + resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.memory_size", "4000"), + resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.volume_size", "200"), resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.engine_version", "5.7"), resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_instance.mysql", "instance_list.0.vpc_id"), resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_instance.mysql", "instance_list.0.subnet_id"), @@ -31,12 +31,10 @@ func TestAccTencentCloudMysqlInstanceDataSource(t *testing.T) { }) } -func testAccTencentCloudMysqlInstanceDataSourceConfig(commonTestCase string) string { +func testAccTencentCloudMysqlInstanceDataSourceConfig() string { return fmt.Sprintf(` -%s data "tencentcloud_mysql_instance" "mysql" { - mysql_id = tencentcloud_mysql_instance.default.id - instance_name = tencentcloud_mysql_instance.default.instance_name + instance_name = "%s" } - `, commonTestCase) + `, defaultMySQLName) } diff --git a/tencentcloud/data_source_tc_mysql_parameter_list_test.go b/tencentcloud/data_source_tc_mysql_parameter_list_test.go index bf5c9e5af2..ae9066f4e9 100644 --- a/tencentcloud/data_source_tc_mysql_parameter_list_test.go +++ b/tencentcloud/data_source_tc_mysql_parameter_list_test.go @@ -24,7 +24,7 @@ func TestAccTencentCloudMysqlParameterListDataSource(t *testing.T) { ), }, { - Config: testAccMysqlParameterListDataSourceConfig(mysqlInstanceCommonTestCase), + Config: testAccMysqlParameterListDataSourceConfig(CommonPresetMysql), Check: resource.ComposeAggregateTestCheckFunc( resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_parameter_list.mysql", "parameter_list.#"), resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_parameter_list.mysql", "parameter_list.0.parameter_name"), @@ -49,7 +49,7 @@ func testAccMysqlParameterListDataSourceConfig(commonTestCase string) string { return fmt.Sprintf(` %s data "tencentcloud_mysql_parameter_list" "mysql" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id } `, commonTestCase) } diff --git a/tencentcloud/resource_tc_mysql_account_privilege_test.go b/tencentcloud/resource_tc_mysql_account_privilege_test.go index 4c604df2a5..f8975b4dd5 100644 --- a/tencentcloud/resource_tc_mysql_account_privilege_test.go +++ b/tencentcloud/resource_tc_mysql_account_privilege_test.go @@ -21,7 +21,7 @@ func TestAccTencentCloudMysqlAccountPrivilege(t *testing.T) { CheckDestroy: testAccMysqlAccountPrivilegeDestroy, Steps: []resource.TestStep{ { - Config: testAccMysqlAccountPrivilege(mysqlInstanceCommonTestCase), + Config: testAccMysqlAccountPrivilege(), Check: resource.ComposeAggregateTestCheckFunc( testAccMysqlAccountPrivilegeExists("tencentcloud_mysql_account_privilege.mysql_account_privilege"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_account_privilege.mysql_account_privilege", "mysql_id"), @@ -36,7 +36,7 @@ func TestAccTencentCloudMysqlAccountPrivilege(t *testing.T) { ), }, { - Config: testAccMysqlAccountPrivilegeUpdate(mysqlInstanceCommonTestCase), + Config: testAccMysqlAccountPrivilegeUpdate(), Check: resource.ComposeAggregateTestCheckFunc( testAccMysqlAccountPrivilegeExists("tencentcloud_mysql_account_privilege.mysql_account_privilege"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_account_privilege.mysql_account_privilege", "mysql_id"), @@ -177,41 +177,41 @@ func testAccMysqlAccountPrivilegeDestroy(s *terraform.State) error { return nil } -func testAccMysqlAccountPrivilege(commonTestCase string) string { +func testAccMysqlAccountPrivilege() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_account" "mysql_account" { - mysql_id = tencentcloud_mysql_instance.default.id - name = "test" + mysql_id = local.mysql_id + name = "previlege_test" host = "119.168.110.%%" password = "test1234" description = "test from terraform" } resource "tencentcloud_mysql_account_privilege" "mysql_account_privilege" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id account_name = tencentcloud_mysql_account.mysql_account.name account_host = tencentcloud_mysql_account.mysql_account.host privileges = ["SELECT", "INSERT", "UPDATE", "DELETE"] database_names = ["test"] -}`, commonTestCase) +}`, CommonPresetMysql) } -func testAccMysqlAccountPrivilegeUpdate(commonTestCase string) string { +func testAccMysqlAccountPrivilegeUpdate() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_account" "mysql_account" { - mysql_id = tencentcloud_mysql_instance.default.id - name = "test" + mysql_id = local.mysql_id + name = "previlege_test" host = "119.168.110.%%" password = "test1234" description = "test from terraform" } resource "tencentcloud_mysql_account_privilege" "mysql_account_privilege" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id account_name = tencentcloud_mysql_account.mysql_account.name account_host = tencentcloud_mysql_account.mysql_account.host privileges = ["TRIGGER"] database_names = ["test"] -}`, commonTestCase) +}`, CommonPresetMysql) } diff --git a/tencentcloud/resource_tc_mysql_account_test.go b/tencentcloud/resource_tc_mysql_account_test.go index dbc383f5a3..dc0907b825 100644 --- a/tencentcloud/resource_tc_mysql_account_test.go +++ b/tencentcloud/resource_tc_mysql_account_test.go @@ -20,7 +20,7 @@ func TestAccTencentCloudMysqlAccountResource(t *testing.T) { CheckDestroy: testAccCheckMysqlAccountDestroy, Steps: []resource.TestStep{ { - Config: testAccMysqlAccount(mysqlInstanceCommonTestCase), + Config: testAccMysqlAccount(), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlAccountExists("tencentcloud_mysql_account.mysql_account"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_account.mysql_account", "mysql_id"), @@ -123,15 +123,16 @@ func testAccCheckMysqlAccountDestroy(s *terraform.State) error { return nil } -func testAccMysqlAccount(commonTestCase string) string { +func testAccMysqlAccount() string { return fmt.Sprintf(` %s + resource "tencentcloud_mysql_account" "mysql_account" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id name = "test" host = "192.168.0.%%" password = "test1234" description = "test from terraform" } - `, commonTestCase) + `, CommonPresetMysql) } diff --git a/tencentcloud/resource_tc_mysql_backup_policy_test.go b/tencentcloud/resource_tc_mysql_backup_policy_test.go index ec841884af..8d6ff3ffe9 100644 --- a/tencentcloud/resource_tc_mysql_backup_policy_test.go +++ b/tencentcloud/resource_tc_mysql_backup_policy_test.go @@ -19,7 +19,7 @@ func TestAccTencentCloudMysqlBackupPolicy(t *testing.T) { CheckDestroy: testAccTencentCloudMysqlBackupPolicyDestroy, Steps: []resource.TestStep{ { - Config: testAccMysqlBackupPolicy(mysqlInstanceCommonTestCase), + Config: testAccMysqlBackupPolicy(), Check: resource.ComposeAggregateTestCheckFunc( testAccTencentCloudMysqlBackupPolicyExists("tencentcloud_mysql_backup_policy.mysql_backup_policy"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_backup_policy.mysql_backup_policy", "mysql_id"), @@ -29,7 +29,7 @@ func TestAccTencentCloudMysqlBackupPolicy(t *testing.T) { ), }, { - Config: testAccMysqlBackupPolicyUpdate(mysqlInstanceCommonTestCase), + Config: testAccMysqlBackupPolicyUpdate(), Check: resource.ComposeAggregateTestCheckFunc( testAccTencentCloudMysqlBackupPolicyExists("tencentcloud_mysql_backup_policy.mysql_backup_policy"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_backup_policy.mysql_backup_policy", "mysql_id"), @@ -105,22 +105,22 @@ func testAccTencentCloudMysqlBackupPolicyDestroy(s *terraform.State) error { return nil } -func testAccMysqlBackupPolicy(commonTestCase string) string { +func testAccMysqlBackupPolicy() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_backup_policy" "mysql_backup_policy" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id retention_period = 56 backup_time = "10:00-14:00" -}`, commonTestCase) +}`, CommonPresetMysql) } -func testAccMysqlBackupPolicyUpdate(commonTestCase string) string { +func testAccMysqlBackupPolicyUpdate() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_backup_policy" "mysql_backup_policy" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id retention_period = 80 backup_time = "06:00-10:00" -}`, commonTestCase) +}`, CommonPresetMysql) } diff --git a/tencentcloud/resource_tc_mysql_instance_test.go b/tencentcloud/resource_tc_mysql_instance_test.go index db15514a64..e568cab1c3 100644 --- a/tencentcloud/resource_tc_mysql_instance_test.go +++ b/tencentcloud/resource_tc_mysql_instance_test.go @@ -227,38 +227,6 @@ func TestAccTencentCloudMysqlMasterInstance_basic_and_update(t *testing.T) { }) } -func TestAccTencentCloudMysqlPrepaid(t *testing.T) { - t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, - CheckDestroy: testAccCheckMysqlMasterInstanceDestroy, - Steps: []resource.TestStep{ - { - Config: testAccMysqlMasterInstance_prepaid(), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_instance.prepaid"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "instance_name", "testAccMysqlPrepaid"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "slave_deploy_mode", "0"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "slave_sync_mode", "0"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "availability_zone", TestAccTencentCloudMysqlMasterInstance_availability_zone), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "first_slave_zone", TestAccTencentCloudMysqlMasterInstance_availability_zone), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "auto_renew_flag", "0"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "charge_type", "PREPAID"), - ), - }, - // update auto_renew_flag - { - Config: testAccMysqlMasterInstance_prepaidupdate(), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_instance.prepaid"), - resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "auto_renew_flag", "1"), - ), - }, - }, - }) -} - func testAccCheckMysqlMasterInstanceDestroy(s *terraform.State) error { logId := getLogId(contextNil) ctx := context.WithValue(context.TODO(), logIdKey, logId) @@ -323,39 +291,6 @@ resource "tencentcloud_mysql_instance" "mysql_master" { }` } -func testAccMysqlMasterInstance_prepaid() string { - return ` -resource "tencentcloud_mysql_instance" "prepaid" { - charge_type = "PREPAID" - mem_size = 1000 - volume_size = 50 - instance_name = "testAccMysqlPrepaid" - engine_version = "5.7" - root_password = "test1234" - intranet_port = 3360 - availability_zone = "ap-guangzhou-3" - first_slave_zone = "ap-guangzhou-3" - force_delete = false -}` -} - -func testAccMysqlMasterInstance_prepaidupdate() string { - return ` -resource "tencentcloud_mysql_instance" "prepaid" { - charge_type = "PREPAID" - mem_size = 1000 - volume_size = 50 - auto_renew_flag = 1 - instance_name = "testAccMysqlPrepaid" - engine_version = "5.7" - root_password = "test1234" - intranet_port = 3360 - availability_zone = "ap-guangzhou-3" - first_slave_zone = "ap-guangzhou-3" - force_delete = false -}` -} - func testAccMysqlMasterInstance_fullslave() string { return ` resource "tencentcloud_mysql_instance" "mysql_master" { diff --git a/tencentcloud/resource_tc_mysql_privilege_test.go b/tencentcloud/resource_tc_mysql_privilege_test.go index 30410b60ef..39602d105d 100644 --- a/tencentcloud/resource_tc_mysql_privilege_test.go +++ b/tencentcloud/resource_tc_mysql_privilege_test.go @@ -26,7 +26,7 @@ func TestAccTencentCloudMysqlPrivilege(t *testing.T) { CheckDestroy: testAccMysqlPrivilegeDestroy, Steps: []resource.TestStep{ { - Config: testAccMysqlPrivilege(mysqlInstanceCommonTestCase), + Config: testAccMysqlPrivilege(), Check: resource.ComposeAggregateTestCheckFunc( testAccMysqlPrivilegeExists, resource.TestCheckResourceAttrSet(testAccTencentCloudMysqlPrivilegeName, "mysql_id"), @@ -38,7 +38,7 @@ func TestAccTencentCloudMysqlPrivilege(t *testing.T) { ), }, { - Config: testAccMysqlPrivilegeUpdate(mysqlInstanceCommonTestCase), + Config: testAccMysqlPrivilegeUpdate(), Check: resource.ComposeAggregateTestCheckFunc( testAccMysqlPrivilegeExists, resource.TestCheckResourceAttrSet(testAccTencentCloudMysqlPrivilegeName, "mysql_id"), @@ -156,6 +156,9 @@ func testAccMysqlPrivilegeDestroy(s *terraform.State) error { if sdkErr.Code == "InternalError.TaskError" && strings.Contains(sdkErr.Message, "User does not exist") { return nil } + if sdkErr.Code == "InvalidParameterValue.UserNotExistError" { + return nil + } } return retryError(inErr, InternalError) } @@ -178,11 +181,11 @@ func testAccMysqlPrivilegeDestroy(s *terraform.State) error { return nil } -func testAccMysqlPrivilege(commonTestCase string) string { +func testAccMysqlPrivilege() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_account" "mysql_account" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id name = "test11" host = "119.168.110.%%" password = "test1234" @@ -190,7 +193,7 @@ resource "tencentcloud_mysql_account" "mysql_account" { } resource "tencentcloud_mysql_privilege" "privilege" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id account_name = tencentcloud_mysql_account.mysql_account.name account_host = tencentcloud_mysql_account.mysql_account.host global = ["TRIGGER"] @@ -209,14 +212,14 @@ resource "tencentcloud_mysql_privilege" "privilege" { table_name = "user" column_name = "host" } -}`, commonTestCase) +}`, CommonPresetMysql) } -func testAccMysqlPrivilegeUpdate(commonTestCase string) string { +func testAccMysqlPrivilegeUpdate() string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_account" "mysql_account" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id name = "test11" host = "119.168.110.%%" password = "test1234" @@ -224,7 +227,7 @@ resource "tencentcloud_mysql_account" "mysql_account" { } resource "tencentcloud_mysql_privilege" "privilege" { - mysql_id = tencentcloud_mysql_instance.default.id + mysql_id = local.mysql_id account_name = tencentcloud_mysql_account.mysql_account.name account_host = tencentcloud_mysql_account.mysql_account.host global = ["TRIGGER","SELECT"] @@ -238,5 +241,5 @@ resource "tencentcloud_mysql_privilege" "privilege" { database_name = "mysql" table_name = "db" } -}`, commonTestCase) +}`, CommonPresetMysql) } diff --git a/tencentcloud/resource_tc_mysql_readonly_instance.go b/tencentcloud/resource_tc_mysql_readonly_instance.go index 2c3f2b6e00..cfd0f70ad1 100644 --- a/tencentcloud/resource_tc_mysql_readonly_instance.go +++ b/tencentcloud/resource_tc_mysql_readonly_instance.go @@ -80,6 +80,18 @@ func mysqlCreateReadonlyInstancePayByMonth(ctx context.Context, d *schema.Resour } request.Period = helper.IntInt64(period) + if v, ok := d.GetOk("mem_size"); ok { + request.Memory = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOk("volume_size"); ok { + request.Volume = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOk("cpu"); ok { + request.Cpu = helper.IntInt64(v.(int)) + } + autoRenewFlag := int64(d.Get("auto_renew_flag").(int)) request.AutoRenewFlag = &autoRenewFlag @@ -124,6 +136,18 @@ func mysqlCreateReadonlyInstancePayByUse(ctx context.Context, d *schema.Resource defaultRoGroupMode := "allinone" request.RoGroup = &cdb.RoGroup{RoGroupMode: &defaultRoGroupMode} + if v, ok := d.GetOk("mem_size"); ok { + request.Memory = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOk("volume_size"); ok { + request.Volume = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOk("cpu"); ok { + request.Cpu = helper.IntInt64(v.(int)) + } + if err := mysqlAllInstanceRoleSet(ctx, request, d, meta); err != nil { return err } diff --git a/tencentcloud/resource_tc_mysql_readonly_instance_test.go b/tencentcloud/resource_tc_mysql_readonly_instance_test.go index 71fd0726a2..3094e2c30e 100644 --- a/tencentcloud/resource_tc_mysql_readonly_instance_test.go +++ b/tencentcloud/resource_tc_mysql_readonly_instance_test.go @@ -18,13 +18,12 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { CheckDestroy: testAccCheckMysqlReadonlyInstanceDestroy, Steps: []resource.TestStep{ { - Config: testAccMysqlReadonlyInstance(mysqlInstanceHighPerformanceTestCase), + Config: testAccMysqlReadonlyInstance(CommonPresetMysql), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "instance_name", "mysql-readonly-test"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "pay_type", "1"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "mem_size", "2000"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "volume_size", "50"), + resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "volume_size", "200"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "intranet_port", "3360"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_readonly_instance.mysql_readonly", "intranet_ip"), resource.TestCheckResourceAttrSet("tencentcloud_mysql_readonly_instance.mysql_readonly", "status"), @@ -34,7 +33,7 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }, // add tag { - Config: testAccMysqlReadonlyInstance_multiTags(mysqlInstanceHighPerformanceTestCase, "read"), + Config: testAccMysqlReadonlyInstance_multiTags(CommonPresetMysql, "read"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "tags.role", "read"), @@ -42,7 +41,7 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }, // update tag { - Config: testAccMysqlReadonlyInstance_multiTags(mysqlInstanceHighPerformanceTestCase, "readonly"), + Config: testAccMysqlReadonlyInstance_multiTags(CommonPresetMysql, "readonly"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "tags.role", "readonly"), @@ -50,7 +49,7 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }, // remove tag { - Config: testAccMysqlReadonlyInstance(mysqlInstanceHighPerformanceTestCase), + Config: testAccMysqlReadonlyInstance(CommonPresetMysql), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckNoResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "tags.role"), @@ -58,7 +57,7 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }, // update instance_name { - Config: testAccMysqlReadonlyInstance_update(mysqlInstanceHighPerformanceTestCase, "mysql-readonly-update", "3360"), + Config: testAccMysqlReadonlyInstance_update(CommonPresetMysql, "mysql-readonly-update", "3360"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "instance_name", "mysql-readonly-update"), @@ -66,7 +65,7 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }, // update intranet_port { - Config: testAccMysqlReadonlyInstance_update(mysqlInstanceHighPerformanceTestCase, "mysql-readonly-update", "3361"), + Config: testAccMysqlReadonlyInstance_update(CommonPresetMysql, "mysql-readonly-update", "3361"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckMysqlInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly"), resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly", "intranet_port", "3361"), @@ -76,42 +75,6 @@ func TestAccTencentCloudMysqlReadonlyInstance(t *testing.T) { }) } -func TestAccTencentCloudReadonlyMysqlPrepaid(t *testing.T) { - t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { testAccPreCheck(t) }, - Providers: testAccProviders, - CheckDestroy: testAccCheckMysqlMasterInstanceDestroy, - Steps: []resource.TestStep{ - { - Config: testAccMysqlReadonlyInstancePrepaid(mysqlInstanceHighPerformancePrepaidTestCase), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "instance_name", "mysql-readonly-test"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "mem_size", "2000"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "volume_size", "50"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "intranet_port", "3360"), - resource.TestCheckResourceAttrSet("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "intranet_ip"), - resource.TestCheckResourceAttrSet("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "status"), - resource.TestCheckResourceAttrSet("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "task_status"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "tags.test", "test-tf"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "auto_renew_flag", "0"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "pay_type", "0"), - ), - }, - // update auto_renew_flag - { - Config: testAccMysqlReadonlyInstancePrepaid_update(mysqlInstanceHighPerformancePrepaidTestCase, 1), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "pay_type", "0"), - resource.TestCheckResourceAttr("tencentcloud_mysql_readonly_instance.mysql_readonly_prepaid", "auto_renew_flag", "1"), - ), - }, - }, - }) -} - func testAccCheckMysqlReadonlyInstanceDestroy(s *terraform.State) error { logId := getLogId(contextNil) ctx := context.WithValue(context.TODO(), logIdKey, logId) @@ -165,9 +128,9 @@ func testAccMysqlReadonlyInstance(mysqlTestCase string) string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_readonly_instance" "mysql_readonly" { - master_instance_id = tencentcloud_mysql_instance.default.id + master_instance_id = local.mysql_id mem_size = 2000 - volume_size = 50 + volume_size = 200 instance_name = "mysql-readonly-test" intranet_port = 3360 tags = { @@ -181,9 +144,10 @@ func testAccMysqlReadonlyInstance_multiTags(mysqlTestCase, value string) string return fmt.Sprintf(` %s resource "tencentcloud_mysql_readonly_instance" "mysql_readonly" { - master_instance_id = tencentcloud_mysql_instance.default.id + master_instance_id = local.mysql_id mem_size = 2000 - volume_size = 50 + cpu = 1 + volume_size = 200 instance_name = "mysql-readonly-test" intranet_port = 3360 tags = { @@ -198,9 +162,10 @@ func testAccMysqlReadonlyInstance_update(mysqlTestCase, instance_name, instranet return fmt.Sprintf(` %s resource "tencentcloud_mysql_readonly_instance" "mysql_readonly" { - master_instance_id = tencentcloud_mysql_instance.default.id + master_instance_id = local.mysql_id mem_size = 2000 - volume_size = 50 + cpu = 1 + volume_size = 200 instance_name = "%s" intranet_port = %s tags = { @@ -214,9 +179,10 @@ func testAccMysqlReadonlyInstancePrepaid(mysqlTestCase string) string { return fmt.Sprintf(` %s resource "tencentcloud_mysql_readonly_instance" "mysql_readonly_prepaid" { - master_instance_id = tencentcloud_mysql_instance.default.id + master_instance_id = local.mysql_id mem_size = 2000 - volume_size = 50 + cpu = 1 + volume_size = 200 instance_name = "mysql-readonly-test" intranet_port = 3360 pay_type = 0 @@ -232,9 +198,9 @@ func testAccMysqlReadonlyInstancePrepaid_update(mysqlTestCase string, renewFlag return fmt.Sprintf(` %s resource "tencentcloud_mysql_readonly_instance" "mysql_readonly_prepaid" { - master_instance_id = tencentcloud_mysql_instance.default.id + master_instance_id = local.mysql_id mem_size = 2000 - volume_size = 50 + volume_size = 200 instance_name = "mysql-readonly-test" intranet_port = 3360 auto_renew_flag = %d