@@ -285,6 +285,63 @@ func TestAccTencentCloudMysqlInstanceResource_MasterInstance_basic_and_update(t
285285 })
286286}
287287
288+ // go test -i; go test -test.run TestAccTencentCloudMysqlInstanceResource_mysql8 -v
289+ func TestAccTencentCloudMysqlInstanceResource_mysql8 (t * testing.T ) {
290+ resource .Test (t , resource.TestCase {
291+ PreCheck : func () { testAccPreCheck (t ) },
292+ Providers : testAccProviders ,
293+ CheckDestroy : testAccCheckMysqlMasterInstanceDestroy ,
294+ Steps : []resource.TestStep {
295+ {
296+ Config : testAccMysqlMasterInstance_mysql8 ("utf8" ),
297+ Check : resource .ComposeTestCheckFunc (
298+ testAccCheckMysqlMasterInstanceExists ("tencentcloud_mysql_instance.mysql8" ),
299+ resource .TestCheckResourceAttrSet ("tencentcloud_mysql_instance.mysql8" , "id" ),
300+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "charge_type" , "POSTPAID" ),
301+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "engine_version" , "8.0" ),
302+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "internet_service" , "1" ),
303+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "slave_deploy_mode" , "0" ),
304+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "first_slave_zone" , "ap-guangzhou-4" ),
305+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "second_slave_zone" , "ap-guangzhou-4" ),
306+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "slave_sync_mode" , "1" ),
307+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "availability_zone" , "ap-guangzhou-4" ),
308+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "instance_name" , "myTestMysql" ),
309+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "mem_size" , "1000" ),
310+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "volume_size" , "25" ),
311+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "intranet_port" , "3306" ),
312+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "tags.createdBy" , "terraform" ),
313+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.character_set_server" , "utf8" ),
314+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.lower_case_table_names" , "0" ),
315+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.max_connections" , "1000" ),
316+ ),
317+ },
318+ {
319+ Config : testAccMysqlMasterInstance_mysql8 ("gbk" ),
320+ Check : resource .ComposeTestCheckFunc (
321+ testAccCheckMysqlMasterInstanceExists ("tencentcloud_mysql_instance.mysql8" ),
322+ resource .TestCheckResourceAttrSet ("tencentcloud_mysql_instance.mysql8" , "id" ),
323+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "charge_type" , "POSTPAID" ),
324+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "engine_version" , "8.0" ),
325+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "internet_service" , "1" ),
326+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "slave_deploy_mode" , "0" ),
327+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "first_slave_zone" , "ap-guangzhou-4" ),
328+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "second_slave_zone" , "ap-guangzhou-4" ),
329+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "slave_sync_mode" , "1" ),
330+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "availability_zone" , "ap-guangzhou-4" ),
331+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "instance_name" , "myTestMysql" ),
332+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "mem_size" , "1000" ),
333+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "volume_size" , "25" ),
334+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "intranet_port" , "3306" ),
335+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "tags.createdBy" , "terraform" ),
336+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.character_set_server" , "gbk" ),
337+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.lower_case_table_names" , "0" ),
338+ resource .TestCheckResourceAttr ("tencentcloud_mysql_instance.mysql8" , "parameters.max_connections" , "1000" ),
339+ ),
340+ },
341+ },
342+ })
343+ }
344+
288345func testAccCheckMysqlMasterInstanceDestroy (s * terraform.State ) error {
289346 logId := getLogId (contextNil )
290347 ctx := context .WithValue (context .TODO (), logIdKey , logId )
@@ -508,3 +565,34 @@ resource "tencentcloud_mysql_instance" "mysql_master" {
508565}`
509566 return fmt .Sprintf (tpl , instance_name , instranet_port )
510567}
568+
569+ func testAccMysqlMasterInstance_mysql8 (value string ) string {
570+ return fmt .Sprintf (`
571+ resource "tencentcloud_mysql_instance" "mysql8" {
572+ internet_service = 1
573+ engine_version = "8.0"
574+ charge_type = "POSTPAID"
575+ root_password = "password123"
576+ slave_deploy_mode = 0
577+ first_slave_zone = "ap-guangzhou-4"
578+ second_slave_zone = "ap-guangzhou-4"
579+ slave_sync_mode = 1
580+ availability_zone = "ap-guangzhou-4"
581+ project_id = 0
582+ instance_name = "myTestMysql"
583+ mem_size = 1000
584+ volume_size = 25
585+ intranet_port = 3306
586+ security_groups = ["sg-ngx2bo7j"]
587+
588+ tags = {
589+ createdBy = "terraform"
590+ }
591+
592+ parameters = {
593+ character_set_server = "%s"
594+ lower_case_table_names = 0
595+ max_connections = "1000"
596+ }
597+ }` , value )
598+ }
0 commit comments