From 6aef205b159c5e6f6fe01d436d91697f21095043 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Fri, 17 Oct 2025 16:29:56 +0800 Subject: [PATCH 1/3] add --- .../services/tke/resource_tc_kubernetes_addon.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_addon.go b/tencentcloud/services/tke/resource_tc_kubernetes_addon.go index 2b38d0b2b6..00e18a8012 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_addon.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_addon.go @@ -7,6 +7,7 @@ import ( "fmt" "log" "strings" + "time" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -25,6 +26,11 @@ func ResourceTencentCloudKubernetesAddon() *schema.Resource { Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, }, + Timeouts: &schema.ResourceTimeout{ + Create: schema.DefaultTimeout(10 * time.Minute), + Update: schema.DefaultTimeout(10 * time.Minute), + Delete: schema.DefaultTimeout(10 * time.Minute), + }, Schema: map[string]*schema.Schema{ "cluster_id": { Type: schema.TypeString, @@ -127,7 +133,7 @@ func resourceTencentCloudKubernetesAddonCreate(d *schema.ResourceData, meta inte waitRequest := tke.NewDescribeAddonRequest() waitRequest.ClusterId = &clusterId waitRequest.AddonName = &addonName - err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + err = resource.Retry(d.Timeout(schema.TimeoutCreate), func() *resource.RetryError { result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeClient().DescribeAddonWithContext(ctx, waitRequest) if e != nil { return tccommon.RetryError(e) @@ -275,7 +281,7 @@ func resourceTencentCloudKubernetesAddonUpdate(d *schema.ResourceData, meta inte waitRequest := tke.NewDescribeAddonRequest() waitRequest.ClusterId = &clusterId waitRequest.AddonName = &addonName - err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + err = resource.Retry(d.Timeout(schema.TimeoutUpdate), func() *resource.RetryError { result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeClient().DescribeAddonWithContext(ctx, waitRequest) if e != nil { return tccommon.RetryError(e) @@ -357,7 +363,7 @@ func resourceTencentCloudKubernetesAddonDelete(d *schema.ResourceData, meta inte waitRequest := tke.NewDescribeAddonRequest() waitRequest.ClusterId = &clusterId waitRequest.AddonName = &addonName - err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + err = resource.Retry(d.Timeout(schema.TimeoutDelete), func() *resource.RetryError { result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeClient().DescribeAddonWithContext(ctx, waitRequest) if e != nil { if sdkerr, ok := e.(*sdkErrors.TencentCloudSDKError); ok { From 5c432d47ca40a016ef141e8fadc1e1b8f3c482a8 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Fri, 17 Oct 2025 16:31:47 +0800 Subject: [PATCH 2/3] add --- .changelog/3554.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/3554.txt diff --git a/.changelog/3554.txt b/.changelog/3554.txt new file mode 100644 index 0000000000..8b0bfb84f8 --- /dev/null +++ b/.changelog/3554.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_addon: support custom timeout +``` \ No newline at end of file From 6a401b29973ee2b09f0da24beb0c8e4158c43f8d Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Fri, 17 Oct 2025 16:48:25 +0800 Subject: [PATCH 3/3] add --- tencentcloud/services/tke/resource_tc_kubernetes_addon.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_addon.go b/tencentcloud/services/tke/resource_tc_kubernetes_addon.go index 00e18a8012..c4a52782d3 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_addon.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_addon.go @@ -27,9 +27,9 @@ func ResourceTencentCloudKubernetesAddon() *schema.Resource { State: schema.ImportStatePassthrough, }, Timeouts: &schema.ResourceTimeout{ - Create: schema.DefaultTimeout(10 * time.Minute), - Update: schema.DefaultTimeout(10 * time.Minute), - Delete: schema.DefaultTimeout(10 * time.Minute), + Create: schema.DefaultTimeout(3 * time.Minute), + Update: schema.DefaultTimeout(3 * time.Minute), + Delete: schema.DefaultTimeout(3 * time.Minute), }, Schema: map[string]*schema.Schema{ "cluster_id": {