@@ -3,169 +3,129 @@ package cvm_test
33import (
44 "testing"
55
6- tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
7-
86 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+ acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
98)
109
11- func TestAccTencentCloudCvmChcConfigResource_basic (t * testing.T ) {
10+ func TestAccTencentCloudCvmChcConfigResource_Basic (t * testing.T ) {
1211 t .Parallel ()
1312 resource .Test (t , resource.TestCase {
1413 PreCheck : func () {
15- tcacctest .AccPreCheck (t )
14+ acctest .AccPreCheck (t )
1615 },
17- Providers : tcacctest .AccProviders ,
16+ Providers : acctest .AccProviders ,
1817 Steps : []resource.TestStep {
1918 {
20- Config : testAccCvmChcConfig ,
21- Check : resource .ComposeTestCheckFunc (
22- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "id" ),
23- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "chc_id" ),
24- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "instance_name" , "test" ),
25- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "device_type" ),
26- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_user" , "admin" ),
27- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "password" ),
28- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.#" , "1" ),
29- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.vpc_id" ),
30- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.subnet_id" ),
31- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.as_vpc_gateway" ),
32- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_security_group_ids.#" , "1" ),
33- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.#" , "1" ),
34- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.vpc_id" ),
35- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.subnet_id" ),
36- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.as_vpc_gateway" ),
37- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "deploy_security_group_ids.#" , "1" ),
38- ),
19+ Config : testAccCvmChcConfigResource_BasicCreate ,
20+ Check : resource .ComposeTestCheckFunc (resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "chc_id" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.#" , "1" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.as_vpc_gateway" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "password" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.subnet_id" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.#" , "1" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.vpc_id" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.subnet_id" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "deploy_virtual_private_cloud.0.as_vpc_gateway" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "instance_name" , "test" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "device_type" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "deploy_security_group_ids.#" , "1" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "id" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_user" , "admin" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "bmc_virtual_private_cloud.0.vpc_id" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_security_group_ids.#" , "1" )),
3921 },
4022 {
41- Config : testAccCvmChcConfig_update ,
42- Check : resource .ComposeTestCheckFunc (
43- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "id" ),
44- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "instance_name" , "test1" ),
45- resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_user" , "admin1" ),
46- resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "password" ),
47- ),
23+ Config : testAccCvmChcConfigResource_BasicChange1 ,
24+ Check : resource .ComposeTestCheckFunc (resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "password" ), resource .TestCheckResourceAttrSet ("tencentcloud_cvm_chc_config.chc_config" , "id" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "instance_name" , "test1" ), resource .TestCheckResourceAttr ("tencentcloud_cvm_chc_config.chc_config" , "bmc_user" , "admin1" )),
4825 },
4926 {
5027 ResourceName : "tencentcloud_cvm_chc_config.chc_config" ,
5128 ImportState : true ,
52- ImportStateVerify : false ,
29+ ImportStateVerify : true ,
5330 ImportStateVerifyIgnore : []string {"bmc_user" , "password" },
5431 },
5532 },
5633 })
5734}
5835
59- const testAccCvmChcConfigBasis = `
60- variable "availability_zone" {
61- default = "ap-guangzhou-7"
62- }
36+ const testAccCvmChcConfigResource_BasicCreate = `
6337
64- variable "vpc_cidr" {
65- default = "172.16.0.0/16"
66- }
67-
68- variable "subnet_cidr1" {
69- default = "172.16.0.0/20"
70- }
71-
72- variable "subnet_cidr2" {
73- default = "172.16.16.0/20"
74- }
75-
76- variable "tke_cidr_a" {
77- default = [
78- "10.31.0.0/23",
79- "10.31.2.0/24",
80- "10.31.3.0/24",
81- "10.31.16.0/24",
82- "10.31.32.0/24"
83- ]
38+ data "tencentcloud_security_groups" "security_groups1" {
39+ name = "keep-tke"
8440}
85-
86- variable "default_img_id" {
87- default = "img-2lr9q49h"
41+ data "tencentcloud_security_groups" "security_groups2" {
42+ name = "keep-reject-all"
8843}
89-
9044resource "tencentcloud_vpc" "vpc" {
91- name = "tf-cvm-vpc"
92- cidr_block = var.vpc_cidr
45+ name = "tf-cvm-vpc"
46+ cidr_block = "172.16.0.0/16"
9347}
94-
9548resource "tencentcloud_subnet" "subnet1" {
96- name = "tf_cvm_vpc_subnet1"
97- vpc_id = tencentcloud_vpc.vpc.id
98- availability_zone = var.availability_zone
99- cidr_block = var.subnet_cidr1
100- is_multicast = false
49+ is_multicast = false
50+ name = "tf_cvm_vpc_subnet1"
51+ vpc_id = tencentcloud_vpc.vpc.id
52+ availability_zone = "ap-guangzhou-7"
53+ cidr_block = "172.16.0.0/20"
10154}
102-
10355resource "tencentcloud_subnet" "subnet2" {
104- name = "tf_cvm_vpc_subnet2"
105- vpc_id = tencentcloud_vpc.vpc.id
106- availability_zone = var.availability_zone
107- cidr_block = var.subnet_cidr2
108- is_multicast = false
56+ name = "tf_cvm_vpc_subnet2"
57+ vpc_id = tencentcloud_vpc.vpc.id
58+ availability_zone = "ap-guangzhou-7"
59+ cidr_block = "172.16.16.0/20"
60+ is_multicast = false
61+ }
62+ resource "tencentcloud_cvm_chc_config" "chc_config" {
63+
64+ deploy_virtual_private_cloud {
65+ vpc_id = tencentcloud_vpc.vpc.id
66+ subnet_id = tencentcloud_subnet.subnet1.id
67+ as_vpc_gateway = false
68+ }
69+ deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
70+ chc_id = "chc-mn3l1qf5"
71+ instance_name = "test"
72+ bmc_user = "admin"
73+ password = "123"
74+
75+ bmc_virtual_private_cloud {
76+ subnet_id = tencentcloud_subnet.subnet1.id
77+ as_vpc_gateway = false
78+ vpc_id = tencentcloud_vpc.vpc.id
79+ }
80+ bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
10981}
11082
83+ `
84+ const testAccCvmChcConfigResource_BasicChange1 = `
85+
11186data "tencentcloud_security_groups" "security_groups1" {
112- name = "keep-tke"
87+ name = "keep-tke"
11388}
114-
11589data "tencentcloud_security_groups" "security_groups2" {
116- name = "keep-reject-all"
90+ name = "keep-reject-all"
11791}
118-
119- locals {
120- vpc_id = tencentcloud_vpc.vpc.id
121- subnet_id1 = tencentcloud_subnet.subnet1.id
122- subnet_id2 = tencentcloud_subnet.subnet2.id
123-
124- sg_id1 = data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id
125- sg_id2 = data.tencentcloud_security_groups.security_groups2.security_groups.0.security_group_id
92+ resource "tencentcloud_vpc" "vpc" {
93+ name = "tf-cvm-vpc"
94+ cidr_block = "172.16.0.0/16"
12695}
127- `
128-
129- const testAccCvmChcConfig = testAccCvmChcConfigBasis + `
130- resource "tencentcloud_cvm_chc_config" "chc_config" {
131- chc_id = "chc-mn3l1qf5"
132- instance_name = "test"
133- bmc_user = "admin"
134- password = "123"
135- bmc_virtual_private_cloud {
136- vpc_id = local.vpc_id
137- subnet_id = local.subnet_id1
138- as_vpc_gateway = false
139- }
140- bmc_security_group_ids = [local.sg_id1]
141-
142- deploy_virtual_private_cloud {
143- vpc_id = local.vpc_id
144- subnet_id = local.subnet_id1
145- as_vpc_gateway = false
146- }
147- deploy_security_group_ids = [local.sg_id1]
96+ resource "tencentcloud_subnet" "subnet1" {
97+ is_multicast = false
98+ name = "tf_cvm_vpc_subnet1"
99+ vpc_id = tencentcloud_vpc.vpc.id
100+ availability_zone = "ap-guangzhou-7"
101+ cidr_block = "172.16.0.0/20"
102+ }
103+ resource "tencentcloud_subnet" "subnet2" {
104+ name = "tf_cvm_vpc_subnet2"
105+ vpc_id = tencentcloud_vpc.vpc.id
106+ availability_zone = "ap-guangzhou-7"
107+ cidr_block = "172.16.16.0/20"
108+ is_multicast = false
148109}
149- `
150-
151- const testAccCvmChcConfig_update = testAccCvmChcConfigBasis + `
152110resource "tencentcloud_cvm_chc_config" "chc_config" {
153- chc_id = "chc-mn3l1qf5"
154- instance_name = "test1"
155- bmc_user = "admin1"
156- password = "123456"
157- bmc_virtual_private_cloud {
158- vpc_id = local.vpc_id
159- subnet_id = local.subnet_id1
160- as_vpc_gateway = false
161- }
162- bmc_security_group_ids = [local.sg_id1]
163-
164- deploy_virtual_private_cloud {
165- vpc_id = local.vpc_id
166- subnet_id = local.subnet_id1
167- as_vpc_gateway = false
168- }
169- deploy_security_group_ids = [local.sg_id1]
111+
112+ deploy_virtual_private_cloud {
113+ vpc_id = tencentcloud_vpc.vpc.id
114+ subnet_id = tencentcloud_subnet.subnet1.id
115+ as_vpc_gateway = false
116+ }
117+ deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
118+ chc_id = "chc-mn3l1qf5"
119+ instance_name = "test1"
120+ bmc_user = "admin1"
121+ password = "123"
122+
123+ bmc_virtual_private_cloud {
124+ subnet_id = tencentcloud_subnet.subnet1.id
125+ as_vpc_gateway = false
126+ vpc_id = tencentcloud_vpc.vpc.id
127+ }
128+ bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
170129}
130+
171131`
0 commit comments