@@ -13,13 +13,13 @@ import (
13
13
14
14
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
15
15
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
16
+ tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
16
17
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
17
18
18
19
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
19
20
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
20
21
svcas "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/as"
21
22
svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm"
22
- svctag "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/tag"
23
23
24
24
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
25
25
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -1172,10 +1172,7 @@ func resourceTencentCloudKubernetesClusterUpdateOnStart(ctx context.Context) err
1172
1172
d := tccommon .ResourceDataFromContext (ctx )
1173
1173
meta := tccommon .ProviderMetaFromContext (ctx )
1174
1174
1175
- client := meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()
1176
- service := svctag .NewTagService (client )
1177
1175
tkeService := TkeService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
1178
- region := client .Region
1179
1176
1180
1177
d .Partial (true )
1181
1178
id := d .Id ()
@@ -1185,14 +1182,27 @@ func resourceTencentCloudKubernetesClusterUpdateOnStart(ctx context.Context) err
1185
1182
}
1186
1183
1187
1184
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 {
1193
1186
return err
1194
1187
}
1195
1188
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
+
1196
1206
}
1197
1207
1198
1208
var (
@@ -1640,6 +1650,39 @@ func ResourceTkeGetAddonsDiffs(o, n []interface{}) (adds, removes, changes []int
1640
1650
return
1641
1651
}
1642
1652
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
+
1643
1686
// upgradeClusterInstances upgrade instances, upgrade type try seq:major, hot.
1644
1687
func upgradeClusterInstances (tkeService TkeService , ctx context.Context , id string ) error {
1645
1688
// get all available instances for upgrade
0 commit comments