Skip to content

Commit 318668c

Browse files
committed
feat(tke): [120069939] adjust tke tags api
1 parent 977bfc8 commit 318668c

File tree

8 files changed

+323
-177
lines changed

8 files changed

+323
-177
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1018
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1024
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -91,7 +91,7 @@ require (
9191
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955
9292
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578
9393
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.1013
94-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008
94+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1024
9595
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947
9696
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857
9797
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1016 h1:gFA
933933
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1016/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
934934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1018 h1:PjTcH8XozO53JcLt7Vm4/RIeH7vKS/AZuGERl/4ehdM=
935935
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1018/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
936+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1024 h1:Xexz/KT0061zBvfzlk4AH8ObaPOmV0cqvXw0uItPtoI=
937+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1024/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
936938
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
937939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
938940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -1037,6 +1039,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/thpc v1.0.998 h1:f4/n0d
10371039
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/thpc v1.0.998/go.mod h1:fyi/HUwCwVe2NCCCjz8k/C5GwPu3QazCZO+OBJ3MhLk=
10381040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008 h1:Cz7JSuS2zxIBzAuZ2bKk3EmrZ1QgS2QAHmCDTDPWBz0=
10391041
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008/go.mod h1:71PkDdVPT2Pd8yiuX6QFUDReTji39R/03dg1JwcjHWo=
1042+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1024 h1:7g3dTZb+QbiZR2mFv6i5cE2pMMx1+Q4FMOZSxE4lUu4=
1043+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1024/go.mod h1:2xDvw52Z3FwGuFadvpIGd42J9myl/RKqROAlelctOVA=
10401044
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947 h1:iZfuU8S86kfqFsAVT/LUApP8L5cpT90hl2wSKiUDVvw=
10411045
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947/go.mod h1:eAgJ+XUEhffMq79zjpgHoR3PBVcciSg+LuPDC8hLWsE=
10421046
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857 h1:TkJnvSeRSXsRCwOwcwXSvruSK9s/kw8LC3FLeccw+A0=

tencentcloud/services/tke/resource_tc_kubernetes_cluster_extension.go

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import (
1313

1414
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
1515
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
16+
tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
1617
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
1718

1819
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
1920
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
2021
svcas "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/as"
2122
svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm"
22-
svctag "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/tag"
2323

2424
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
2525
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -1172,10 +1172,7 @@ func resourceTencentCloudKubernetesClusterUpdateOnStart(ctx context.Context) err
11721172
d := tccommon.ResourceDataFromContext(ctx)
11731173
meta := tccommon.ProviderMetaFromContext(ctx)
11741174

1175-
client := meta.(tccommon.ProviderMeta).GetAPIV3Conn()
1176-
service := svctag.NewTagService(client)
11771175
tkeService := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
1178-
region := client.Region
11791176

11801177
d.Partial(true)
11811178
id := d.Id()
@@ -1185,14 +1182,27 @@ func resourceTencentCloudKubernetesClusterUpdateOnStart(ctx context.Context) err
11851182
}
11861183

11871184
if d.HasChange("tags") {
1188-
oldTags, newTags := d.GetChange("tags")
1189-
replaceTags, deleteTags := svctag.DiffTags(oldTags.(map[string]interface{}), newTags.(map[string]interface{}))
1190-
1191-
resourceName := tccommon.BuildTagResourceName("ccs", "cluster", region, id)
1192-
if err := service.ModifyTags(ctx, resourceName, replaceTags, deleteTags); err != nil {
1185+
if err := modifyClusterTags(ctx); err != nil {
11931186
return err
11941187
}
11951188

1189+
// wait for tags ok
1190+
// err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError {
1191+
// request := tke.NewDescribeBatchModifyTagsStatusRequest()
1192+
// resp, errRet := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeClient().DescribeBatchModifyTagsStatus(request)
1193+
// if errRet != nil {
1194+
// return tccommon.RetryError(errRet, tccommon.InternalError)
1195+
// }
1196+
// // TaskFailed = "failed"; TaskRunning = "running"; TaskDone = "done"
1197+
// if resp != nil && *resp.Response.Status == "done" {
1198+
// return nil
1199+
// }
1200+
// return resource.RetryableError(fmt.Errorf("modify tags status is %s, retry...", *resp.Response.Status))
1201+
// })
1202+
// if err != nil {
1203+
// return err
1204+
// }
1205+
11961206
}
11971207

11981208
var (
@@ -1640,6 +1650,39 @@ func ResourceTkeGetAddonsDiffs(o, n []interface{}) (adds, removes, changes []int
16401650
return
16411651
}
16421652

1653+
func modifyClusterTags(ctx context.Context) error {
1654+
d := tccommon.ResourceDataFromContext(ctx)
1655+
meta := tccommon.ProviderMetaFromContext(ctx)
1656+
logId := tccommon.GetLogId(ctx)
1657+
1658+
id := d.Id()
1659+
tags := GetTkeTags(d, "tags")
1660+
body := map[string]interface{}{
1661+
"ClusterId": id,
1662+
"SyncSubresource": false,
1663+
"Tags": tags,
1664+
}
1665+
1666+
client := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseOmitNilClient("tke")
1667+
request := tchttp.NewCommonRequest("tke", "2018-05-25", "ModifyClusterTags")
1668+
err := request.SetActionParameters(body)
1669+
if err != nil {
1670+
return err
1671+
}
1672+
1673+
response := tchttp.NewCommonResponse()
1674+
err = client.Send(request, response)
1675+
if err != nil {
1676+
fmt.Printf("Modify Cluster Tags failed: %v \n", err)
1677+
return err
1678+
}
1679+
reqBody, _ := request.MarshalJSON()
1680+
respBody := response.GetBody()
1681+
1682+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), string(reqBody), string(respBody))
1683+
return nil
1684+
}
1685+
16431686
// upgradeClusterInstances upgrade instances, upgrade type try seq:major, hot.
16441687
func upgradeClusterInstances(tkeService TkeService, ctx context.Context, id string) error {
16451688
// get all available instances for upgrade

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

Lines changed: 1 addition & 1 deletion
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/tke/v20180525/client.go

Lines changed: 108 additions & 85 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/tke/v20180525/errors.go

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

0 commit comments

Comments
 (0)