Skip to content

Commit a9af76c

Browse files
authored
fix: es - support web_node_type_info modiy (#953)
1 parent 6bb6109 commit a9af76c

File tree

11 files changed

+1149
-24
lines changed

11 files changed

+1149
-24
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ require (
3030
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.283
3131
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199
3232
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.377
33-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.378
33+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.383
3434
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.351
3535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359
3636
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199
3838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.287
40-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199
40+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.383
4141
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199
4242
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.376/go.mod
516516
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.377/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
517517
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.378 h1:o+GKr3tHDivmoWxBXX5oeJC8EmmNV64g/yw5s0RjBdg=
518518
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.378/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
519+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.383 h1:1TFCoXSDga/8jO66SGD7K7jMveZGVNJaD4IhX+vfvL0=
520+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.383/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
519521
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.199 h1:ajgJogYSIQ5u1PIbiV5nsvr5K0fYpm1/T7Dy+mxEM6U=
520522
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.199/go.mod h1:AqyM/ZZMD7q5mHBqNY9YImbSpEpoEe7E/vrTbUWX+po=
521523
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.351 h1:zqJsH5pxGT57La7NAOOyMQxsuM11pupNBwV1dzXcT24=
@@ -536,6 +538,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.287 h1:+9COBXA
536538
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.287/go.mod h1:xRvd0xsyCoviCiMRfJMh5lODPnLx+bnTfENNx6GHzFA=
537539
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199 h1:qMFzKYXp1z7awrl3hhQM+sPb3XEtrR/4pW+6FXQTYcQ=
538540
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199/go.mod h1:UegCt4vv9jAlzpgDu31ZJTuRP5T2BTV8w+jZBTsZIzg=
541+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.383 h1:OhKvreaRPhwBEButv45yBcu6BvfvR1JAEXbU/NTck94=
542+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.383/go.mod h1:WLskTV0GsorWBboZsLUWrgj+f1xGOKGzPGCK9275tdU=
539543
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199 h1:tmjUPp0VBKuzjTqt0IQ5PT6iYt0yLmvM2DUzMFF7SGk=
540544
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199/go.mod h1:tuPVv7O2B2fIpoDsrV/kvC62FO4CE4FihUxZY0JX2ek=
541545
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.194/go.mod h1:yrBKWhChnDqNz1xuXdSbWXG56XawEq0G5j1lg4VwBD4=

tencentcloud/resource_tc_elasticsearch_instance.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
505505
instanceName := d.Get("instance_name").(string)
506506
// Update operation support at most one item at the same time
507507
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
508-
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, instanceName, "", 0, nil)
508+
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, instanceName, "", 0, nil, nil)
509509
if errRet != nil {
510510
return retryError(errRet)
511511
}
@@ -519,7 +519,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
519519
if d.HasChange("password") {
520520
password := d.Get("password").(string)
521521
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
522-
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", password, 0, nil)
522+
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", password, 0, nil, nil)
523523
if errRet != nil {
524524
return retryError(errRet)
525525
}
@@ -592,7 +592,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
592592
if d.HasChange("basic_security_type") {
593593
basicSecurityType := d.Get("basic_security_type").(int)
594594
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
595-
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", "", int64(basicSecurityType), nil)
595+
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", "", int64(basicSecurityType), nil, nil)
596596
if errRet != nil {
597597
return retryError(errRet)
598598
}
@@ -604,6 +604,29 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
604604
d.SetPartial("basic_security_type")
605605
}
606606

607+
if d.HasChange("web_node_type_info") {
608+
var err error
609+
infos := d.Get("web_node_type_info").([]interface{})
610+
for _, item := range infos {
611+
value := item.(map[string]interface{})
612+
info := &es.WebNodeTypeInfo{
613+
NodeNum: helper.IntUint64(value["node_num"].(int)),
614+
NodeType: helper.String(value["node_type"].(string)),
615+
}
616+
err = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
617+
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", "", 0, nil, info)
618+
if errRet != nil {
619+
return retryError(errRet)
620+
}
621+
return nil
622+
})
623+
break
624+
}
625+
if err != nil {
626+
return err
627+
}
628+
}
629+
607630
if d.HasChange("node_info_list") {
608631
nodeInfos := d.Get("node_info_list").([]interface{})
609632
nodeInfoList := make([]*es.NodeInfo, 0, len(nodeInfos))
@@ -626,7 +649,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
626649
nodeInfoList = append(nodeInfoList, &dataDisk)
627650
}
628651
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
629-
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", "", 0, nodeInfoList)
652+
errRet := elasticsearchService.UpdateInstance(ctx, instanceId, "", "", 0, nodeInfoList, nil)
630653
if errRet != nil {
631654
return retryError(errRet)
632655
}

tencentcloud/service_tencentcloud_elasticsearch.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ func (me *ElasticsearchService) DeleteInstance(ctx context.Context, instanceId s
9494
return nil
9595
}
9696

97-
func (me *ElasticsearchService) UpdateInstance(ctx context.Context, instanceId, instanceName, password string, basicSecurityType int64, nodeList []*es.NodeInfo) error {
97+
// UpdateInstance FIXME: use *Request instead of these suck params
98+
func (me *ElasticsearchService) UpdateInstance(ctx context.Context, instanceId, instanceName, password string, basicSecurityType int64, nodeList []*es.NodeInfo, nodeTypeInfo *es.WebNodeTypeInfo) error {
9899
logId := getLogId(ctx)
99100
request := es.NewUpdateInstanceRequest()
100101
request.InstanceId = &instanceId
@@ -110,6 +111,9 @@ func (me *ElasticsearchService) UpdateInstance(ctx context.Context, instanceId,
110111
if nodeList != nil {
111112
request.NodeInfoList = nodeList
112113
}
114+
if nodeTypeInfo != nil {
115+
request.WebNodeTypeInfo = nodeTypeInfo
116+
}
113117
ratelimit.Check(request.GetAction())
114118
_, err := me.client.UseEsClient().UpdateInstance(request)
115119
if err != nil {

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/client.go

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/common_request.go

Lines changed: 10 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)