Skip to content

Commit 3b6fa2f

Browse files
authored
Merge branch 'master' into fix/cvm-generate-datasource-test
2 parents bb0f2f6 + 27bf66c commit 3b6fa2f

6 files changed

+255
-49
lines changed

tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go

Lines changed: 124 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -20,62 +20,152 @@ func TestAccTencentCloudCvmChcConfigResource_basic(t *testing.T) {
2020
Config: testAccCvmChcConfig,
2121
Check: resource.ComposeTestCheckFunc(
2222
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "chc_id"),
2324
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"),
2438
),
2539
},
2640
{
2741
Config: testAccCvmChcConfig_update,
2842
Check: resource.ComposeTestCheckFunc(
2943
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"),
30-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test_update"),
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"),
3147
),
3248
},
3349
{
3450
ResourceName: "tencentcloud_cvm_chc_config.chc_config",
3551
ImportState: true,
36-
ImportStateVerify: true,
52+
ImportStateVerify: false,
3753
ImportStateVerifyIgnore: []string{"bmc_user", "password"},
3854
},
3955
},
4056
})
4157
}
4258

43-
const testAccCvmChcConfig = `
59+
const testAccCvmChcConfigBasis = `
60+
variable "availability_zone" {
61+
default = "ap-guangzhou-7"
62+
}
63+
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+
]
84+
}
85+
86+
variable "default_img_id" {
87+
default = "img-2lr9q49h"
88+
}
89+
90+
resource "tencentcloud_vpc" "vpc" {
91+
name = "tf-cvm-vpc"
92+
cidr_block = var.vpc_cidr
93+
}
94+
95+
resource "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
101+
}
102+
103+
resource "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
109+
}
110+
111+
data "tencentcloud_security_groups" "security_groups1" {
112+
name = "keep-tke"
113+
}
114+
115+
data "tencentcloud_security_groups" "security_groups2" {
116+
name = "keep-reject-all"
117+
}
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
126+
}
127+
`
128+
129+
const testAccCvmChcConfig = testAccCvmChcConfigBasis + `
44130
resource "tencentcloud_cvm_chc_config" "chc_config" {
45-
chc_id = "chc-0brmw3wl"
46-
instance_name = "test"
47-
bmc_user = "admin"
48-
password = "123"
49-
bmc_virtual_private_cloud {
50-
vpc_id = "vpc-4owdpnwr"
51-
subnet_id = "subnet-j56j1u5u"
52-
}
53-
bmc_security_group_ids = ["sg-ijato2x1"]
54-
55-
deploy_virtual_private_cloud {
56-
vpc_id = "vpc-4owdpnwr"
57-
subnet_id = "subnet-j56j1u5u"
58-
}
59-
deploy_security_group_ids = ["sg-ijato2x1"]
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
60146
}
147+
deploy_security_group_ids = [local.sg_id1]
148+
}
61149
`
62150

63-
const testAccCvmChcConfig_update = `
151+
const testAccCvmChcConfig_update = testAccCvmChcConfigBasis + `
64152
resource "tencentcloud_cvm_chc_config" "chc_config" {
65-
chc_id = "chc-0brmw3wl"
66-
instance_name = "test_update"
67-
bmc_user = "admin"
68-
password = "123123"
69-
bmc_virtual_private_cloud {
70-
vpc_id = "vpc-4owdpnwr"
71-
subnet_id = "subnet-j56j1u5u"
72-
}
73-
bmc_security_group_ids = ["sg-ijato2x1"]
74-
75-
deploy_virtual_private_cloud {
76-
vpc_id = "vpc-4owdpnwr"
77-
subnet_id = "subnet-j56j1u5u"
78-
}
79-
deploy_security_group_ids = ["sg-ijato2x1"]
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
80168
}
169+
deploy_security_group_ids = [local.sg_id1]
170+
}
81171
`

tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,41 @@ func TestAccTencentCloudCvmExportImagesResource_basic(t *testing.T) {
1616
Steps: []resource.TestStep{
1717
{
1818
Config: testAccCvmExportImages,
19-
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "id")),
19+
Check: resource.ComposeTestCheckFunc(
20+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "id"),
21+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "bucket_name"),
22+
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "image_id", "img-l7uxaine"),
23+
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "file_name_prefix", "test-"),
24+
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "export_format", "RAW"),
25+
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "only_export_root_disk", "false"),
26+
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "dry_run", "false"),
27+
),
2028
},
2129
},
2230
})
2331
}
2432

25-
const testAccCvmExportImages = `
33+
const testAccCvmExportImagesBasis = `
34+
data "tencentcloud_user_info" "info" {}
35+
36+
locals {
37+
app_id = data.tencentcloud_user_info.info.app_id
38+
}
39+
40+
resource "tencentcloud_cos_bucket" "private_sbucket" {
41+
bucket = "tf-private-bucket-${local.app_id}"
42+
acl = "private"
43+
force_clean = true
44+
}
45+
`
46+
47+
const testAccCvmExportImages = testAccCvmExportImagesBasis + `
2648
resource "tencentcloud_cvm_export_images" "export_images" {
27-
bucket_name = "keep-export-image-1308726196"
28-
image_id = "img-e4l9lc5o"
29-
file_name_prefix = "test-"
30-
}
49+
bucket_name = tencentcloud_cos_bucket.private_sbucket.bucket
50+
image_id = "img-l7uxaine"
51+
file_name_prefix = "test-"
52+
export_format = "RAW"
53+
only_export_root_disk = false
54+
dry_run = false
55+
}
3156
`

tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,20 @@ func TestAccTencentCloudCvmHpcClusterResource_basic(t *testing.T) {
1818
Steps: []resource.TestStep{
1919
{
2020
Config: testAccCvmHpcCluster,
21-
PreConfig: func() { tcacctest.AccStepSetRegion(t, "ap-beijing") },
21+
PreConfig: func() { tcacctest.AccStepSetRegion(t, "ap-guangzhou") },
2222
Check: resource.ComposeTestCheckFunc(
2323
resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "id"),
24-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "name"),
25-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "remark"),
24+
resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "name", "terraform-test"),
25+
resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "remark", "create for test"),
26+
),
27+
},
28+
{
29+
Config: testAccCvmHpcClusterUpdate,
30+
PreConfig: func() { tcacctest.AccStepSetRegion(t, "ap-guangzhou") },
31+
Check: resource.ComposeTestCheckFunc(
32+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "id"),
33+
resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "name", "terraform-test1"),
34+
resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "remark", "create for e2e test"),
2635
),
2736
},
2837
{
@@ -34,12 +43,24 @@ func TestAccTencentCloudCvmHpcClusterResource_basic(t *testing.T) {
3443
})
3544
}
3645

37-
const testAccCvmHpcCluster = `
46+
const testAccCvmHpcClusterBasis = `
47+
variable "availability_zone" {
48+
default = "ap-guangzhou-7"
49+
}
50+
`
3851

52+
const testAccCvmHpcCluster = testAccCvmHpcClusterBasis + `
3953
resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" {
40-
zone = "ap-beijing-6"
41-
name = "terraform-test"
54+
zone = var.availability_zone
55+
name = "terraform-test"
4256
remark = "create for test"
4357
}
58+
`
4459

60+
const testAccCvmHpcClusterUpdate = testAccCvmHpcClusterBasis + `
61+
resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" {
62+
zone = var.availability_zone
63+
name = "terraform-test1"
64+
remark = "create for e2e test"
65+
}
4566
`

tencentcloud/services/cvm/resource_tc_cvm_image_share_permission_test.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ func TestAccTencentCloudCvmModifyImageSharePermissionResource_basic(t *testing.T
1616
Steps: []resource.TestStep{
1717
{
1818
Config: testAccCvmModifyImageSharePermission,
19-
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "id")),
19+
Check: resource.ComposeTestCheckFunc(
20+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "id"),
21+
resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "image_id"),
22+
resource.TestCheckResourceAttr("tencentcloud_cvm_image_share_permission.image_share_permission", "account_ids.#", "1"),
23+
),
2024
},
2125
{
2226
ResourceName: "tencentcloud_cvm_image_share_permission.image_share_permission",
@@ -29,7 +33,7 @@ func TestAccTencentCloudCvmModifyImageSharePermissionResource_basic(t *testing.T
2933

3034
const testAccCvmModifyImageSharePermission = `
3135
resource "tencentcloud_cvm_image_share_permission" "image_share_permission" {
32-
image_id = "img-b0x811s0"
33-
account_ids = ["100022975249"]
36+
image_id = "img-l7uxaine"
37+
account_ids = ["100022975249"]
3438
}
3539
`

tencentcloud/services/cvm/resource_tc_placement_group_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,22 @@ func TestAccTencentCloudPlacementGroup(t *testing.T) {
3131
resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time"),
3232
),
3333
},
34+
{
35+
Config: testAccPlacementGroupUpdate,
36+
Check: resource.ComposeTestCheckFunc(
37+
testAccCheckPlacementGroupExists("tencentcloud_placement_group.placement"),
38+
resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "name", "tf-test-placement1"),
39+
resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "type", "HOST"),
40+
resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "cvm_quota_total"),
41+
resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "current_num"),
42+
resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time"),
43+
),
44+
},
45+
{
46+
ResourceName: "tencentcloud_placement_group.placement",
47+
ImportState: true,
48+
ImportStateVerify: true,
49+
},
3450
},
3551
})
3652
}
@@ -104,3 +120,10 @@ resource "tencentcloud_placement_group" "placement" {
104120
type = "HOST"
105121
}
106122
`
123+
124+
const testAccPlacementGroupUpdate = `
125+
resource "tencentcloud_placement_group" "placement" {
126+
name = "tf-test-placement1"
127+
type = "HOST"
128+
}
129+
`
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package cvm_test
2+
3+
import (
4+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
5+
"testing"
6+
7+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
8+
)
9+
10+
func TestAccTencentCloudReservedInstance(t *testing.T) {
11+
t.Parallel()
12+
resource.Test(t, resource.TestCase{
13+
PreCheck: func() { tcacctest.AccPreCheck(t) },
14+
Providers: tcacctest.AccProviders,
15+
Steps: []resource.TestStep{
16+
{
17+
Config: testAccReservedInstance,
18+
Check: resource.ComposeTestCheckFunc(
19+
testAccCheckPlacementGroupExists("tencentcloud_reserved_instance.reserved_instance"),
20+
resource.TestCheckResourceAttr("tencentcloud_reserved_instance.reserved_instance", "config_id", "ca8d39c3-4605-4e8d-9a21-05188cc9d1d4"),
21+
resource.TestCheckResourceAttr("tencentcloud_reserved_instance.reserved_instance", "instance_count", "2"),
22+
resource.TestCheckResourceAttr("tencentcloud_reserved_instance.reserved_instance", "reserved_instance_name", "test"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_reserved_instance.reserved_instance", "start_time"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_reserved_instance.reserved_instance", "end_time"),
25+
resource.TestCheckResourceAttrSet("tencentcloud_reserved_instance.reserved_instance", "status"),
26+
),
27+
},
28+
{
29+
ResourceName: "tencentcloud_reserved_instance.reserved_instance",
30+
ImportState: true,
31+
ImportStateVerify: true,
32+
},
33+
},
34+
})
35+
}
36+
37+
const testAccReservedInstance = `
38+
resource "tencentcloud_reserved_instance" "reserved_instance" {
39+
config_id = "ca8d39c3-4605-4e8d-9a21-05188cc9d1d4"
40+
instance_count = 2
41+
reserved_instance_name = "test"
42+
}
43+
`

0 commit comments

Comments
 (0)