@@ -3,12 +3,54 @@ package tencentcloud
33import (
44 "context"
55 "fmt"
6+ "strconv"
7+ "strings"
68 "testing"
79
810 "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
911 "github.com/hashicorp/terraform-plugin-sdk/terraform"
1012)
1113
14+ const defaultKind = ""
15+
16+ func init () {
17+ // go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_monitor_tmp_exporter_integration
18+ resource .AddTestSweepers ("tencentcloud_monitor_tmp_exporter_integration" , & resource.Sweeper {
19+ Name : "tencentcloud_monitor_tmp_exporter_integration" ,
20+ F : testSweepExporterIntegration ,
21+ })
22+ }
23+ func testSweepExporterIntegration (region string ) error {
24+ logId := getLogId (contextNil )
25+ ctx := context .WithValue (context .TODO (), logIdKey , logId )
26+ cli , _ := sharedClientForRegion (region )
27+ client := cli .(* TencentCloudClient ).apiV3Conn
28+ service := MonitorService {client }
29+
30+ instanceId := defaultPrometheusId
31+ clusterId := tkeClusterIdAgent
32+ ids := strings .Join ([]string {"" , instanceId , strconv .Itoa (1 ), clusterId , defaultKind }, FILED_SP )
33+
34+ for {
35+ instances , err := service .DescribeMonitorTmpExporterIntegration (ctx , ids )
36+ if err != nil {
37+ return err
38+ }
39+
40+ if instances == nil {
41+ return nil
42+ }
43+
44+ id := strings .Join ([]string {* instances .Name , instanceId , strconv .Itoa (1 ), clusterId , defaultKind }, FILED_SP )
45+ err = service .DeleteMonitorTmpExporterIntegrationById (ctx , id )
46+ if err != nil {
47+ return err
48+ }
49+ }
50+
51+ return nil
52+ }
53+
1254func TestAccTencentCloudMonitorExporterIntegration_basic (t * testing.T ) {
1355 t .Parallel ()
1456 resource .Test (t , resource.TestCase {
@@ -22,7 +64,7 @@ func TestAccTencentCloudMonitorExporterIntegration_basic(t *testing.T) {
2264 testAccCheckExporterIntegrationExists ("tencentcloud_monitor_tmp_exporter_integration.basic" ),
2365 resource .TestCheckResourceAttr ("tencentcloud_monitor_tmp_exporter_integration.basic" , "kind" , "cvm-http-sd-exporter" ),
2466 resource .TestCheckResourceAttr ("tencentcloud_monitor_tmp_exporter_integration.basic" , "kube_type" , "1" ),
25- resource .TestCheckResourceAttr ("tencentcloud_monitor_tmp_exporter_integration.basic" , "cluster_id" , "cls-ely08ic4 " ),
67+ resource .TestCheckResourceAttr ("tencentcloud_monitor_tmp_exporter_integration.basic" , "cluster_id" , "cls-87o4klby " ),
2668 ),
2769 },
2870 {
@@ -94,9 +136,6 @@ const testExporterIntegrationVar = `
94136variable "prometheus_id" {
95137 default = "` + defaultPrometheusId + `"
96138}
97- variable "default_cluster" {
98- default = "` + defaultTkeClusterId + `"
99- }
100139variable "cluster_id" {
101140 default = "` + tkeClusterIdAgent + `"
102141}
@@ -105,16 +144,16 @@ const testExporterIntegration_basic = testExporterIntegrationVar + `
105144resource "tencentcloud_monitor_tmp_exporter_integration" "basic" {
106145 instance_id = var.prometheus_id
107146 kind = "cvm-http-sd-exporter"
108- content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
147+ content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name-test \\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
109148 kube_type = 1
110- cluster_id = var.default_cluster
149+ cluster_id = var.cluster_id
111150}`
112151
113152const testExporterIntegration_update = testExporterIntegrationVar + `
114153resource "tencentcloud_monitor_tmp_exporter_integration" "basic" {
115154 instance_id = var.prometheus_id
116155 kind = "cvm-http-sd-exporter"
117- content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
156+ content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name-test \\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
118157 kube_type = 1
119158 cluster_id = var.cluster_id
120159}`
0 commit comments