Skip to content

Commit cfc1965

Browse files
committed
optimize logic and modify labels describtion
1 parent 78aacfc commit cfc1965

6 files changed

+24
-48
lines changed

tencentcloud/internal/helper/helper.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/hashicorp/terraform-plugin-sdk/helper/hashcode"
1313
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
1414
"github.com/pkg/errors"
15+
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
1516
)
1617

1718
// Generates a hash for the set hash function used by the IDs
@@ -40,6 +41,16 @@ func GetTags(d *schema.ResourceData, k string) map[string]string {
4041
return tags
4142
}
4243

44+
func GetLabels(d *schema.ResourceData, k string) []*tke.Label {
45+
labels := make([]*tke.Label, 0)
46+
if raw, ok := d.GetOk(k); ok {
47+
for k, v := range raw.(map[string]interface{}) {
48+
labels = append(labels, &tke.Label{Name: String(k), Value: String(v.(string))})
49+
}
50+
}
51+
return labels
52+
}
53+
4354
func BuildToken() string {
4455
buf := make([]byte, 16)
4556
_, _ = rand.Read(buf)

tencentcloud/resource_tc_kubernetes_as_scaling_group.go

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ import (
7171
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
7272
as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419"
7373
sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
74-
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
7574
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
7675
)
7776

@@ -111,7 +110,7 @@ func ResourceTencentCloudKubernetesAsScalingGroup() *schema.Resource {
111110
Type: schema.TypeMap,
112111
Optional: true,
113112
ForceNew: true,
114-
Description: "Labels of kubernetes AS Group.",
113+
Description: "Labels of kubernetes AS Group created nodes.",
115114
},
116115
},
117116
}
@@ -726,22 +725,21 @@ func resourceKubernetesAsScalingGroupRead(d *schema.ResourceData, meta interface
726725
}
727726

728727
labels := clusterAsGroupSet.Labels
728+
var labelsMap = make(map[string]string, len(labels))
729+
729730
if len(labels) == 0 {
731+
d.Set("labels", labelsMap)
730732
return nil
731733
}
732734

733-
var labelsMap = map[string]string{}
734735
for _, v := range labels {
735736
labelsMap[*v.Name] = *v.Value
736737
}
737738
d.Set("labels", labelsMap)
738739
return nil
739740
})
740741

741-
if err != nil {
742-
return err
743-
}
744-
return nil
742+
return err
745743
}
746744

747745
func resourceKubernetesAsScalingGroupCreate(d *schema.ResourceData, meta interface{}) error {
@@ -769,17 +767,7 @@ func resourceKubernetesAsScalingGroupCreate(d *schema.ResourceData, meta interfa
769767
return err
770768
}
771769

772-
labels := make([]*tke.Label, 0)
773-
if v, ok := d.GetOk("labels"); ok {
774-
vlabels := v.(map[string]interface{})
775-
for key, value := range vlabels {
776-
valueResult, ok := value.(string)
777-
if !ok {
778-
continue
779-
}
780-
labels = append(labels, &tke.Label{Name: helper.String(key), Value: helper.String(valueResult)})
781-
}
782-
}
770+
labels := helper.GetLabels(d, "labels")
783771

784772
service := TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
785773

tencentcloud/resource_tc_kubernetes_cluster.go

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ import (
136136
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
137137
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
138138
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
139-
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
140139
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
141140
)
142141

@@ -604,7 +603,7 @@ func resourceTencentCloudTkeCluster() *schema.Resource {
604603
Type: schema.TypeMap,
605604
Optional: true,
606605
ForceNew: true,
607-
Description: "Labels of tke cluster.",
606+
Description: "Labels of tke cluster nodes.",
608607
},
609608
}
610609

@@ -960,19 +959,8 @@ func resourceTencentCloudTkeClusterCreate(d *schema.ResourceData, meta interface
960959

961960
tags := helper.GetTags(d, "tags")
962961

963-
labels := make([]*tke.Label, 0)
964-
if v, ok := d.GetOk("labels"); ok {
965-
vlabels := v.(map[string]interface{})
966-
for key, value := range vlabels {
967-
valueResult, ok := value.(string)
968-
if !ok {
969-
continue
970-
}
971-
labels = append(labels, &tke.Label{Name: helper.String(key), Value: helper.String(valueResult)})
972-
}
973-
974-
iAdvanced.Labels = labels
975-
}
962+
labels := helper.GetLabels(d, "labels")
963+
iAdvanced.Labels = labels
976964

977965
service := TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
978966

tencentcloud/resource_tc_kubernetes_cluster_attachment.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -283,19 +283,8 @@ func resourceTencentCloudTkeClusterAttachmentCreate(d *schema.ResourceData, meta
283283

284284
request.InstanceAdvancedSettings = &tke.InstanceAdvancedSettings{}
285285

286-
labels := make([]*tke.Label, 0)
287-
if v, ok := d.GetOk("labels"); ok {
288-
vlabels := v.(map[string]interface{})
289-
for key, value := range vlabels {
290-
valueResult, ok := value.(string)
291-
if !ok {
292-
continue
293-
}
294-
labels = append(labels, &tke.Label{Name: helper.String(key), Value: helper.String(valueResult)})
295-
}
296-
297-
request.InstanceAdvancedSettings.Labels = labels
298-
}
286+
labels := helper.GetLabels(d, "labels")
287+
request.InstanceAdvancedSettings.Labels = labels
299288

300289
/*cvm has been attached*/
301290
var err error

website/docs/r/kubernetes_as_scaling_group.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ The following arguments are supported:
7474
* `auto_scaling_config` - (Required, ForceNew) Auto scaling config parameters.
7575
* `auto_scaling_group` - (Required, ForceNew) Auto scaling group parameters.
7676
* `cluster_id` - (Required, ForceNew) ID of the cluster.
77-
* `labels` - (Optional, ForceNew) Labels of kubernetes AS Group.
77+
* `labels` - (Optional, ForceNew) Labels of kubernetes AS Group created nodes.
7878

7979
The `auto_scaling_config` object supports the following:
8080

website/docs/r/kubernetes_cluster.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ The following arguments are supported:
150150
* `cluster_version` - (Optional, ForceNew) Version of the cluster, Default is '1.10.5'.
151151
* `container_runtime` - (Optional, ForceNew) Runtime type of the cluster, the available values include: 'docker' and 'containerd'. Default is 'docker'.
152152
* `ignore_cluster_cidr_conflict` - (Optional, ForceNew) Indicates whether to ignore the cluster cidr conflict error. Default is false.
153-
* `labels` - (Optional, ForceNew) Labels of tke cluster.
153+
* `labels` - (Optional, ForceNew) Labels of tke cluster nodes.
154154
* `managed_cluster_internet_security_policies` - (Optional) Security policies for managed cluster internet, like:'192.168.1.0/24' or '113.116.51.27', '0.0.0.0/0' means all. This field can only set when field `cluster_deploy_type` is 'MANAGED_CLUSTER' and `cluster_internet` is true. `managed_cluster_internet_security_policies` can not delete or empty once be set.
155155
* `master_config` - (Optional, ForceNew) Deploy the machine configuration information of the 'MASTER_ETCD' service, and create <=7 units for common users.
156156
* `project_id` - (Optional, ForceNew) Project ID, default value is 0.

0 commit comments

Comments
 (0)