diff --git a/.changelog/3656.txt b/.changelog/3656.txt new file mode 100644 index 0000000000..6fe9e1d879 --- /dev/null +++ b/.changelog/3656.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_cluster_release: optimiz code logic +``` \ No newline at end of file diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 3e0fdc6a84..a101c6a523 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -575,6 +575,9 @@ func Provider() *schema.Provider { "tencentcloud_container_clusters": tke.DataSourceTencentCloudContainerClusters(), "tencentcloud_container_cluster_instances": tke.DataSourceTencentCloudContainerClusterInstances(), "tencentcloud_kubernetes_addons": tke.DataSourceTencentCloudKubernetesAddons(), + "tencentcloud_kubernetes_cluster_instances": tke.DataSourceTencentCloudKubernetesClusterInstances(), + "tencentcloud_kubernetes_cluster_node_pools": tke.DataSourceTencentCloudKubernetesClusterNodePools(), + "tencentcloud_kubernetes_cluster_native_node_pools": tke.DataSourceTencentCloudKubernetesClusterNativeNodePools(), "tencentcloud_mysql_backup_list": cdb.DataSourceTencentCloudMysqlBackupList(), "tencentcloud_mysql_zone_config": cdb.DataSourceTencentCloudMysqlZoneConfig(), "tencentcloud_mysql_parameter_list": cdb.DataSourceTencentCloudMysqlParameterList(), @@ -1280,12 +1283,9 @@ func Provider() *schema.Provider { "tencentcloud_antiddos_bgp_biz_trend": antiddos.DataSourceTencentCloudAntiddosBgpBizTrend(), "tencentcloud_antiddos_list_listener": antiddos.DataSourceTencentCloudAntiddosListListener(), "tencentcloud_antiddos_overview_attack_trend": antiddos.DataSourceTencentCloudAntiddosOverviewAttackTrend(), - "tencentcloud_kubernetes_cluster_instances": tke.DataSourceTencentCloudKubernetesClusterInstances(), - "tencentcloud_kubernetes_cluster_node_pools": tke.DataSourceTencentCloudKubernetesClusterNodePools(), "tencentcloud_clickhouse_spec": cdwch.DataSourceTencentCloudClickhouseSpec(), "tencentcloud_clickhouse_instance_shards": cdwch.DataSourceTencentCloudClickhouseInstanceShards(), "tencentcloud_clickhouse_instance_nodes": cdwch.DataSourceTencentCloudClickhouseInstanceNodes(), - "tencentcloud_kubernetes_cluster_native_node_pools": tke.DataSourceTencentCloudKubernetesClusterNativeNodePools(), "tencentcloud_cdc_dedicated_cluster_hosts": cdc.DataSourceTencentCloudCdcDedicatedClusterHosts(), "tencentcloud_cdc_dedicated_cluster_instance_types": cdc.DataSourceTencentCloudCdcDedicatedClusterInstanceTypes(), "tencentcloud_cdc_dedicated_cluster_orders": cdc.DataSourceTencentCloudCdcDedicatedClusterOrders(), @@ -1482,6 +1482,11 @@ func Provider() *schema.Provider { "tencentcloud_kubernetes_encryption_protection": tke.ResourceTencentCloudKubernetesEncryptionProtection(), "tencentcloud_kubernetes_cluster_master_attachment": tke.ResourceTencentCloudKubernetesClusterMasterAttachment(), "tencentcloud_kubernetes_cluster_release": tke.ResourceTencentCloudKubernetesClusterRelease(), + "tencentcloud_kubernetes_addon": tke.ResourceTencentCloudKubernetesAddon(), + "tencentcloud_kubernetes_addon_config": tke.ResourceTencentCloudKubernetesAddonConfig(), + "tencentcloud_kubernetes_native_node_pool": tke.ResourceTencentCloudKubernetesNativeNodePool(), + "tencentcloud_kubernetes_health_check_policy": tke.ResourceTencentCloudKubernetesHealthCheckPolicy(), + "tencentcloud_kubernetes_log_config": tke.ResourceTencentCloudKubernetesLogConfig(), "tencentcloud_mysql_backup_policy": cdb.ResourceTencentCloudMysqlBackupPolicy(), "tencentcloud_mysql_account": cdb.ResourceTencentCloudMysqlAccount(), "tencentcloud_mysql_account_privilege": cdb.ResourceTencentCloudMysqlAccountPrivilege(), @@ -2455,9 +2460,6 @@ func Provider() *schema.Provider { "tencentcloud_elastic_public_ipv6_attachment": vpc.ResourceTencentCloudElasticPublicIpv6Attachment(), "tencentcloud_ha_vip_instance_attachment": vpc.ResourceTencentCloudHaVipInstanceAttachment(), "tencentcloud_csip_risk_center": csip.ResourceTencentCloudCsipRiskCenter(), - "tencentcloud_kubernetes_addon": tke.ResourceTencentCloudKubernetesAddon(), - "tencentcloud_kubernetes_addon_config": tke.ResourceTencentCloudKubernetesAddonConfig(), - "tencentcloud_kubernetes_native_node_pool": tke.ResourceTencentCloudKubernetesNativeNodePool(), "tencentcloud_cdc_site": cdc.ResourceTencentCloudCdcSite(), "tencentcloud_cdc_dedicated_cluster": cdc.ResourceTencentCloudCdcDedicatedCluster(), "tencentcloud_cdc_dedicated_cluster_image_cache": cdc.ResourceTencentCloudDedicatedClusterImageCache(), @@ -2466,13 +2468,11 @@ func Provider() *schema.Provider { "tencentcloud_batch_apply_account_baselines": controlcenter.ResourceTencentCloudBatchApplyAccountBaselines(), "tencentcloud_controlcenter_account_factory_baseline_config": controlcenter.ResourceTencentCloudControlcenterAccountFactoryBaselineConfig(), "tencentcloud_thpc_workspaces": thpc.ResourceTencentCloudThpcWorkspaces(), - "tencentcloud_kubernetes_health_check_policy": tke.ResourceTencentCloudKubernetesHealthCheckPolicy(), "tencentcloud_lite_hbase_instance": emr.ResourceTencentCloudLiteHbaseInstance(), "tencentcloud_serverless_hbase_instance": emr.ResourceTencentCloudServerlessHbaseInstance(), "tencentcloud_emr_yarn": emr.ResourceTencentCloudEmrYarn(), "tencentcloud_emr_deploy_yarn_operation": emr.ResourceTencentCloudEmrDeployYarnOperation(), "tencentcloud_emr_auto_scale_strategy": emr.ResourceTencentCloudEmrAutoScaleStrategy(), - "tencentcloud_kubernetes_log_config": tke.ResourceTencentCloudKubernetesLogConfig(), "tencentcloud_tcss_image_registry": tcss.ResourceTencentCloudTcssImageRegistry(), "tencentcloud_tcss_cluster_access": tcss.ResourceTencentCloudTcssClusterAccess(), "tencentcloud_tcss_refresh_task_operation": tcss.ResourceTencentCloudTcssRefreshTaskOperation(), diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_release.go b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_release.go index 8fab9bdb74..d57f2827f2 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_release.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_release.go @@ -245,7 +245,21 @@ func resourceTencentCloudKubernetesClusterReleaseCreate(d *schema.ResourceData, return tccommon.RetryError(e) } - if result == nil || result.Status == nil { + // get release detail + if result == nil { + respData, err := service.DescribeKubernetesClusterReleaseById(ctx, clusterId, namespace, name) + if err != nil { + return tccommon.RetryError(e) + } + + if respData == nil { + return resource.NonRetryableError(fmt.Errorf("Describe kubernetes cluster release details failed, Response is nil.")) + } + + return nil + } + + if result.Status == nil { return resource.NonRetryableError(fmt.Errorf("Describe kubernetes cluster release failed, Response is nil.")) } @@ -253,7 +267,7 @@ func resourceTencentCloudKubernetesClusterReleaseCreate(d *schema.ResourceData, return nil } - return resource.RetryableError(fmt.Errorf("cluster release is still install...Status is %s", *result.Status)) + return resource.RetryableError(fmt.Errorf("Cluster release is still install...Status is %s", *result.Status)) }) if reqErr != nil { diff --git a/tencentcloud/services/tke/service_tencentcloud_tke.go b/tencentcloud/services/tke/service_tencentcloud_tke.go index f84d6eaf23..016b0bb275 100644 --- a/tencentcloud/services/tke/service_tencentcloud_tke.go +++ b/tencentcloud/services/tke/service_tencentcloud_tke.go @@ -3878,7 +3878,7 @@ func (me *TkeService) DescribeKubernetesClusterReleaseById(ctx context.Context, } if result == nil || result.Response == nil || result.Response.Release == nil { - return resource.NonRetryableError(fmt.Errorf("Describe kubernetes releases failed, Response is nil.")) + return resource.NonRetryableError(fmt.Errorf("Describe kubernetes releases details failed, Response is nil.")) } response = result