From d1382bc94d604aa14dc8bb81be92813bb803f4df Mon Sep 17 00:00:00 2001 From: Kagashino Date: Wed, 23 Mar 2022 15:19:59 +0800 Subject: [PATCH] fix: es - node type example and sweeper --- .../tencentcloud-elasticsearch/variables.tf | 2 +- ..._source_tc_elasticsearch_instances_test.go | 4 +- .../resource_tc_elasticsearch_instance.go | 2 +- ...resource_tc_elasticsearch_instance_test.go | 38 ++++++++++++++++++- .../r/elasticsearch_instance.html.markdown | 2 +- 5 files changed, 41 insertions(+), 7 deletions(-) diff --git a/examples/tencentcloud-elasticsearch/variables.tf b/examples/tencentcloud-elasticsearch/variables.tf index c5873e4509..3a5062bab7 100755 --- a/examples/tencentcloud-elasticsearch/variables.tf +++ b/examples/tencentcloud-elasticsearch/variables.tf @@ -7,5 +7,5 @@ variable "instance_name" { } variable "instance_type" { - default = "ES.S1.SMALL2" + default = "ES.S1.MEDIUM4" } \ No newline at end of file diff --git a/tencentcloud/data_source_tc_elasticsearch_instances_test.go b/tencentcloud/data_source_tc_elasticsearch_instances_test.go index 6d8103805a..eeda3990e5 100755 --- a/tencentcloud/data_source_tc_elasticsearch_instances_test.go +++ b/tencentcloud/data_source_tc_elasticsearch_instances_test.go @@ -30,7 +30,7 @@ func TestAccTencentCloudElasticsearchInstancesDataSource(t *testing.T) { resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.tags.test", "terraform"), resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.#", "1"), resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_num", "2"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_type", "ES.S1.SMALL2"), + resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_type", "ES.S1.MEDIUM4"), resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.encrypt", "false"), resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.create_time"), ), @@ -51,7 +51,7 @@ resource "tencentcloud_elasticsearch_instance" "foo" { node_info_list { node_num = 2 - node_type = "ES.S1.SMALL2" + node_type = "ES.S1.MEDIUM4" } tags = { diff --git a/tencentcloud/resource_tc_elasticsearch_instance.go b/tencentcloud/resource_tc_elasticsearch_instance.go index 8f7c1ba5a8..03baceeb46 100755 --- a/tencentcloud/resource_tc_elasticsearch_instance.go +++ b/tencentcloud/resource_tc_elasticsearch_instance.go @@ -20,7 +20,7 @@ resource "tencentcloud_elasticsearch_instance" "foo" { node_info_list { node_num = 2 - node_type = "ES.S1.SMALL2" + node_type = "ES.S1.MEDIUM4" encrypt = false } diff --git a/tencentcloud/resource_tc_elasticsearch_instance_test.go b/tencentcloud/resource_tc_elasticsearch_instance_test.go index df5531065f..2dfd0fec27 100755 --- a/tencentcloud/resource_tc_elasticsearch_instance_test.go +++ b/tencentcloud/resource_tc_elasticsearch_instance_test.go @@ -3,12 +3,46 @@ package tencentcloud import ( "context" "fmt" + "strings" "testing" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" ) +func init() { + // go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_elasticsearch_instance + resource.AddTestSweepers("tencentcloud_elasticsearch_instance", &resource.Sweeper{ + Name: "tencentcloud_elasticsearch_instance", + F: func(r string) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + cli, _ := sharedClientForRegion(r) + client := cli.(*TencentCloudClient).apiV3Conn + + service := ElasticsearchService{client: client} + + es, err := service.DescribeInstancesByFilter(ctx, "", "tf-ci-test", nil) + if err != nil { + return err + } + + for _, v := range es { + id := *v.InstanceId + name := *v.InstanceName + if !strings.Contains(name, "tf-ci-test") { + continue + } + if err := service.DeleteInstance(ctx, id); err != nil { + continue + } + } + + return nil + }, + }) +} + func TestAccTencentCloudElasticsearchInstance_basic(t *testing.T) { t.Parallel() @@ -31,7 +65,7 @@ func TestAccTencentCloudElasticsearchInstance_basic(t *testing.T) { resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "web_node_type_info.0.node_num", "1"), resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "web_node_type_info.0.node_type", "ES.S1.MEDIUM4"), resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "node_info_list.0.node_num", "2"), - resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "node_info_list.0.node_type", "ES.S1.SMALL2"), + resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "node_info_list.0.node_type", "ES.S1.MEDIUM4"), resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "node_info_list.0.type", "hotData"), resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "node_info_list.0.encrypt", "false"), resource.TestCheckResourceAttr("tencentcloud_elasticsearch_instance.foo", "tags.test", "terraform"), @@ -144,7 +178,7 @@ resource "tencentcloud_elasticsearch_instance" "foo" { node_info_list { node_num = 2 - node_type = "ES.S1.SMALL2" + node_type = "ES.S1.MEDIUM4" } tags = { diff --git a/website/docs/r/elasticsearch_instance.html.markdown b/website/docs/r/elasticsearch_instance.html.markdown index 6e6a69e6d9..9525db31a3 100644 --- a/website/docs/r/elasticsearch_instance.html.markdown +++ b/website/docs/r/elasticsearch_instance.html.markdown @@ -30,7 +30,7 @@ resource "tencentcloud_elasticsearch_instance" "foo" { node_info_list { node_num = 2 - node_type = "ES.S1.SMALL2" + node_type = "ES.S1.MEDIUM4" encrypt = false }