Skip to content

Commit a2422fd

Browse files
fix: tke addon - using default version (#1223)
Co-authored-by: Kagashino <ghosthcp516@hotmail.com>
1 parent 9afaca3 commit a2422fd

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

tencentcloud/resource_tc_kubernetes_addon_attachment.go

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
/*
22
Provide a resource to configure kubernetes cluster app addons.
33
4+
~> **NOTE**: Avoid to using legacy "1.0.0" version, leave the versions empty so we can fetch the latest while creating.
5+
46
Example Usage
57
68
```hcl
79
810
resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
911
cluster_id = "cls-xxxxxxxx"
1012
name = "cbs"
11-
version = "1.0.0"
13+
# version = "1.0.5"
1214
values = [
1315
"rootdir=/var/lib/kubelet"
1416
]
@@ -17,7 +19,7 @@ resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
1719
resource "tencentcloud_kubernetes_addon_attachment" "addon_tcr" {
1820
cluster_id = "cls-xxxxxxxx"
1921
name = "tcr"
20-
version = "1.0.0"
22+
# version = "1.0.0"
2123
values = [
2224
# imagePullSecretsCrs is an array which can configure image pull
2325
"global.imagePullSecretsCrs[0].name=unique-sample-vpc",
@@ -52,7 +54,7 @@ resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
5254
"spec":{
5355
"chart":{
5456
"chartName":"cbs",
55-
"chartVersion":"1.0.0"
57+
"chartVersion":"1.0.5"
5658
},
5759
"values":{
5860
"rawValuesType":"yaml",
@@ -78,6 +80,7 @@ package tencentcloud
7880
import (
7981
"context"
8082
"fmt"
83+
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
8184
"log"
8285
"strings"
8386

@@ -103,6 +106,7 @@ func resourceTencentCloudTkeAddonAttachment() *schema.Resource {
103106
"version": {
104107
Type: schema.TypeString,
105108
Optional: true,
109+
Computed: true,
106110
Description: "Addon version, default latest version. Conflict with `request_body`.",
107111
ConflictsWith: []string{"request_body"},
108112
},
@@ -156,6 +160,21 @@ func resourceTencentCloudTkeAddonAttachmentCreate(d *schema.ResourceData, meta i
156160
reqBody = d.Get("request_body").(string)
157161
)
158162

163+
if version == "" {
164+
request := tke.NewGetTkeAppChartListRequest()
165+
chartList, err := service.GetTkeAppChartList(ctx, request)
166+
if err != nil {
167+
return fmt.Errorf("error while fetching latest chart versions, %s", err.Error())
168+
}
169+
for i := range chartList {
170+
chart := chartList[i]
171+
if *chart.Name == addonName {
172+
version = *chart.LatestVersion
173+
break
174+
}
175+
}
176+
}
177+
159178
if reqBody == "" {
160179
var reqErr error
161180
v := helper.InterfacesStringsPoint(values)

tencentcloud/resource_tc_kubernetes_addon_attachment_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestAccTencentCloudTkeAddonAttachmentResource(t *testing.T) {
5252
Check: resource.ComposeTestCheckFunc(
5353
resource.TestCheckResourceAttrSet("tencentcloud_kubernetes_addon_attachment.cos", "response_body"),
5454
resource.TestCheckResourceAttr("tencentcloud_kubernetes_addon_attachment.cos", "name", "cos"),
55-
resource.TestCheckResourceAttr("tencentcloud_kubernetes_addon_attachment.cos", "version", "1.0.0"),
55+
resource.TestCheckResourceAttrSet("tencentcloud_kubernetes_addon_attachment.cos", "version"),
5656
),
5757
},
5858
},
@@ -66,7 +66,6 @@ func testAccTkeAddonAttachment() string {
6666
resource "tencentcloud_kubernetes_addon_attachment" "cos" {
6767
cluster_id = local.cluster_id
6868
name = "%s"
69-
version = "1.0.0"
7069
}
7170
`, TkeDataSource, defaultAddonName)
7271
}

website/docs/r/kubernetes_addon_attachment.html.markdown

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ description: |-
1111

1212
Provide a resource to configure kubernetes cluster app addons.
1313

14+
~> **NOTE**: Avoid to using legacy "1.0.0" version, leave the versions empty so we can fetch the latest while creating.
15+
1416
## Example Usage
1517

1618
```hcl
1719
resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
1820
cluster_id = "cls-xxxxxxxx"
1921
name = "cbs"
20-
version = "1.0.0"
22+
# version = "1.0.5"
2123
values = [
2224
"rootdir=/var/lib/kubelet"
2325
]
@@ -26,7 +28,7 @@ resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
2628
resource "tencentcloud_kubernetes_addon_attachment" "addon_tcr" {
2729
cluster_id = "cls-xxxxxxxx"
2830
name = "tcr"
29-
version = "1.0.0"
31+
# version = "1.0.0"
3032
values = [
3133
# imagePullSecretsCrs is an array which can configure image pull
3234
"global.imagePullSecretsCrs[0].name=unique-sample-vpc",
@@ -61,7 +63,7 @@ resource "tencentcloud_kubernetes_addon_attachment" "addon_cbs" {
6163
"spec":{
6264
"chart":{
6365
"chartName":"cbs",
64-
"chartVersion":"1.0.0"
66+
"chartVersion":"1.0.5"
6567
},
6668
"values":{
6769
"rawValuesType":"yaml",

0 commit comments

Comments
 (0)