Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.291
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.275
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.199
Expand All @@ -52,11 +53,10 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.267
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.264
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.302
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.290
github.com/tencentyun/cos-go-sdk-v5 v0.7.31-0.20210902132439-360bc9b1be6b
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1
github.com/zclconf/go-cty v1.4.2 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268 h1:ez5lvK
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268/go.mod h1:fchXZhmqaYaG2c4wTCBTdnW6TFAtxl3D/P/yuuuLMfA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.264 h1:nKf15bAypO5ZY8cF4qNvU3ttgaiquuniK5WEhFt36X8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.264/go.mod h1:ij3CHdPvqI2aSMcl7+jdI0yCO7oOiywKTAa55qmO2iI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.302 h1:Ks3fi0Vs+I+p6Ue3ssL33Ai8y8Gi4iTc16y1Z4ZCQXk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.302/go.mod h1:ij3CHdPvqI2aSMcl7+jdI0yCO7oOiywKTAa55qmO2iI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 h1:6Yt74l4pA5QtzhwMNIEUt0spXdSBKH744DDqTHJOCP0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199/go.mod h1:Yw6OQ33z3s4k0HVYTNSffB12qOzEJ2Zf1Vj4+5S3sRs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.199 h1:UDZ59pvaqjDy2QIsMsv9hxm0BEJLmPIbHF1ms0MqaRk=
Expand Down
8 changes: 8 additions & 0 deletions tencentcloud/resource_tc_kubernetes_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -2733,6 +2733,14 @@ func resourceTencentCloudTkeClusterUpdate(d *schema.ResourceData, meta interface
d.SetPartial("auth_options")
}

if d.HasChange("deletion_protection") {
enable := d.Get("deletion_protection").(bool)
if err := tkeService.ModifyDeletionProtection(ctx, id, enable); err != nil {
return err
}
d.SetPartial("deletion_protection")
}

d.Partial(false)
if err := resourceTencentCloudTkeClusterRead(d, meta); err != nil {
log.Printf("[WARN]%s resource.kubernetes_cluster.read after update fail , %s", logId, err.Error())
Expand Down
44 changes: 44 additions & 0 deletions tencentcloud/service_tencentcloud_tke.go
Original file line number Diff line number Diff line change
Expand Up @@ -1460,3 +1460,47 @@ func (me *TkeService) ModifyClusterAuthenticationOptions(ctx context.Context, re

return
}

func (me *TkeService) ModifyDeletionProtection(ctx context.Context, id string, enable bool) (errRet error) {
var (
logId = getLogId(ctx)
action string
)

if enable {
request := tke.NewEnableClusterDeletionProtectionRequest()
request.ClusterId = &id
action = request.GetAction()
ratelimit.Check(action)
response, err := me.client.UseTkeClient().EnableClusterDeletionProtection(request)
if err != nil {
errRet = err
return
}

log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
} else {
request := tke.NewDisableClusterDeletionProtectionRequest()
request.ClusterId = &id
action = request.GetAction()
ratelimit.Check(action)
response, err := me.client.UseTkeClient().DisableClusterDeletionProtection(request)
if err != nil {
errRet = err
return
}

log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
}

defer func() {
if errRet != nil {
log.Printf("[CRITAL]%s api[%s] fail, reason[%s]\n",
logId, action, errRet.Error())
}
}()

return
}
Loading