Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6973613

Browse files
fix(tke): [128000384] tencentcloud_kubernetes_health_check_policy update params property (#3559)
* add * add
1 parent f875f79 commit 6973613

File tree

5 files changed

+91
-96
lines changed

5 files changed

+91
-96
lines changed

‎.changelog/3559.txt‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_kubernetes_health_check_policy: update params property
3+
```

‎tencentcloud/services/tke/resource_tc_kubernetes_health_check_policy.go‎

Lines changed: 54 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// Code generated by iacg; DO NOT EDIT.
21
package tke
32

43
import (
@@ -28,12 +27,14 @@ func ResourceTencentCloudKubernetesHealthCheckPolicy() *schema.Resource {
2827
"cluster_id": {
2928
Type: schema.TypeString,
3029
Required: true,
30+
ForceNew: true,
3131
Description: "ID of the cluster.",
3232
},
3333

3434
"name": {
3535
Type: schema.TypeString,
3636
Required: true,
37+
ForceNew: true,
3738
Description: "Health Check Policy Name.",
3839
},
3940

@@ -69,115 +70,115 @@ func resourceTencentCloudKubernetesHealthCheckPolicyCreate(d *schema.ResourceDat
6970
defer tccommon.LogElapsed("resource.tencentcloud_kubernetes_health_check_policy.create")()
7071
defer tccommon.InconsistentCheck(d, meta)()
7172

72-
logId := tccommon.GetLogId(tccommon.ContextNil)
73-
74-
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
75-
7673
var (
74+
logId = tccommon.GetLogId(tccommon.ContextNil)
75+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
76+
request = tkev20220501.NewCreateHealthCheckPolicyRequest()
77+
response = tkev20220501.NewCreateHealthCheckPolicyResponse()
7778
clusterId string
7879
name string
7980
)
80-
var (
81-
request = tkev20220501.NewCreateHealthCheckPolicyRequest()
82-
response = tkev20220501.NewCreateHealthCheckPolicyResponse()
83-
)
84-
85-
if v, ok := d.GetOk("cluster_id"); ok {
86-
clusterId = v.(string)
87-
}
88-
if v, ok := d.GetOk("name"); ok {
89-
name = v.(string)
90-
}
9181

9282
if v, ok := d.GetOk("cluster_id"); ok {
9383
request.ClusterId = helper.String(v.(string))
84+
clusterId = v.(string)
9485
}
9586

9687
healthCheckPolicy := tkev20220501.HealthCheckPolicy{}
9788
if v, ok := d.GetOk("name"); ok {
9889
healthCheckPolicy.Name = helper.String(v.(string))
9990
}
91+
10092
if v, ok := d.GetOk("rules"); ok {
10193
for _, item := range v.([]interface{}) {
10294
rulesMap := item.(map[string]interface{})
10395
healthCheckPolicyRule := tkev20220501.HealthCheckPolicyRule{}
10496
if v, ok := rulesMap["auto_repair_enabled"]; ok {
10597
healthCheckPolicyRule.AutoRepairEnabled = helper.Bool(v.(bool))
10698
}
99+
107100
if v, ok := rulesMap["enabled"]; ok {
108101
healthCheckPolicyRule.Enabled = helper.Bool(v.(bool))
109102
}
103+
110104
if v, ok := rulesMap["name"]; ok {
111105
healthCheckPolicyRule.Name = helper.String(v.(string))
112106
}
107+
113108
healthCheckPolicy.Rules = append(healthCheckPolicy.Rules, &healthCheckPolicyRule)
114109
}
115110
}
116-
request.HealthCheckPolicy = &healthCheckPolicy
117111

112+
request.HealthCheckPolicy = &healthCheckPolicy
118113
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
119114
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeV20220501Client().CreateHealthCheckPolicyWithContext(ctx, request)
120115
if e != nil {
121116
return tccommon.RetryError(e)
122117
} else {
123118
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
124119
}
120+
121+
if result == nil || result.Response == nil {
122+
return resource.NonRetryableError(fmt.Errorf("Create kubernetes health check policy failed, Response is nil."))
123+
}
124+
125125
response = result
126126
return nil
127127
})
128+
128129
if err != nil {
129130
log.Printf("[CRITAL]%s create kubernetes health check policy failed, reason:%+v", logId, err)
130131
return err
131132
}
132133

133-
name = *response.Response.HealthCheckPolicyName
134+
if response.Response.HealthCheckPolicyName == nil {
135+
return fmt.Errorf("HealthCheckPolicyName is nil.")
136+
}
134137

138+
name = *response.Response.HealthCheckPolicyName
135139
d.SetId(strings.Join([]string{clusterId, name}, tccommon.FILED_SP))
136-
137140
return resourceTencentCloudKubernetesHealthCheckPolicyRead(d, meta)
138141
}
139142

140143
func resourceTencentCloudKubernetesHealthCheckPolicyRead(d *schema.ResourceData, meta interface{}) error {
141144
defer tccommon.LogElapsed("resource.tencentcloud_kubernetes_health_check_policy.read")()
142145
defer tccommon.InconsistentCheck(d, meta)()
143146

144-
logId:=tccommon.GetLogId(tccommon.ContextNil)
145-
146-
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
147-
148-
service:=TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
147+
var (
148+
logId=tccommon.GetLogId(tccommon.ContextNil)
149+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
150+
service=TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
151+
)
149152

150153
idSplit := strings.Split(d.Id(), tccommon.FILED_SP)
151154
if len(idSplit) != 2 {
152155
return fmt.Errorf("id is broken,%s", d.Id())
153156
}
157+
154158
clusterId := idSplit[0]
155159
name := idSplit[1]
156160

157-
_ = d.Set("cluster_id", clusterId)
158-
159-
_ = d.Set("name", name)
160-
161161
respData, err := service.DescribeKubernetesHealthCheckPolicyById(ctx, clusterId, name)
162162
if err != nil {
163163
return err
164164
}
165165

166166
if respData == nil {
167+
log.Printf("[WARN]%s resource `tencentcloud_kubernetes_health_check_policy` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
167168
d.SetId("")
168-
log.Printf("[WARN]%s resource `kubernetes_health_check_policy` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
169169
return nil
170170
}
171+
172+
_ = d.Set("cluster_id", clusterId)
173+
171174
if respData.Name != nil {
172175
_ = d.Set("name", respData.Name)
173-
name = *respData.Name
174176
}
175177

176-
rulesList := make([]map[string]interface{}, 0, len(respData.Rules))
177178
if respData.Rules != nil {
179+
rulesList := make([]map[string]interface{}, 0, len(respData.Rules))
178180
for _, rules := range respData.Rules {
179181
rulesMap := map[string]interface{}{}
180-
181182
if rules.AutoRepairEnabled != nil {
182183
rulesMap["auto_repair_enabled"] = rules.AutoRepairEnabled
183184
}
@@ -203,37 +204,21 @@ func resourceTencentCloudKubernetesHealthCheckPolicyUpdate(d *schema.ResourceDat
203204
defer tccommon.LogElapsed("resource.tencentcloud_kubernetes_health_check_policy.update")()
204205
defer tccommon.InconsistentCheck(d, meta)()
205206

206-
logId := tccommon.GetLogId(tccommon.ContextNil)
207-
208-
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
207+
var (
208+
logId = tccommon.GetLogId(tccommon.ContextNil)
209+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
210+
)
209211

210-
immutableArgs := []string{"cluster_id", "name"}
211-
for _, v := range immutableArgs {
212-
if d.HasChange(v) {
213-
return fmt.Errorf("argument `%s` cannot be changed", v)
214-
}
215-
}
216212
idSplit := strings.Split(d.Id(), tccommon.FILED_SP)
217213
if len(idSplit) != 2 {
218214
return fmt.Errorf("id is broken,%s", d.Id())
219215
}
216+
220217
clusterId := idSplit[0]
221218
name := idSplit[1]
222219

223-
needChange := false
224-
mutableArgs := []string{"rules"}
225-
for _, v := range mutableArgs {
226-
if d.HasChange(v) {
227-
needChange = true
228-
break
229-
}
230-
}
231-
232-
if needChange {
220+
if d.HasChange("rules") {
233221
request := tkev20220501.NewModifyHealthCheckPolicyRequest()
234-
235-
request.ClusterId = helper.String(clusterId)
236-
237222
healthCheckPolicy := tkev20220501.HealthCheckPolicy{}
238223
healthCheckPolicy.Name = helper.String(name)
239224
if v, ok := d.GetOk("rules"); ok {
@@ -243,26 +228,32 @@ func resourceTencentCloudKubernetesHealthCheckPolicyUpdate(d *schema.ResourceDat
243228
if v, ok := rulesMap["auto_repair_enabled"]; ok {
244229
healthCheckPolicyRule.AutoRepairEnabled = helper.Bool(v.(bool))
245230
}
231+
246232
if v, ok := rulesMap["enabled"]; ok {
247233
healthCheckPolicyRule.Enabled = helper.Bool(v.(bool))
248234
}
235+
249236
if v, ok := rulesMap["name"]; ok {
250237
healthCheckPolicyRule.Name = helper.String(v.(string))
251238
}
239+
252240
healthCheckPolicy.Rules = append(healthCheckPolicy.Rules, &healthCheckPolicyRule)
253241
}
254242
}
255-
request.HealthCheckPolicy = &healthCheckPolicy
256243

244+
request.HealthCheckPolicy = &healthCheckPolicy
245+
request.ClusterId = helper.String(clusterId)
257246
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
258247
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeV20220501Client().ModifyHealthCheckPolicyWithContext(ctx, request)
259248
if e != nil {
260249
return tccommon.RetryError(e)
261250
} else {
262251
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
263252
}
253+
264254
return nil
265255
})
256+
266257
if err != nil {
267258
log.Printf("[CRITAL]%s update kubernetes health check policy failed, reason:%+v", logId, err)
268259
return err
@@ -276,40 +267,37 @@ func resourceTencentCloudKubernetesHealthCheckPolicyDelete(d *schema.ResourceDat
276267
defer tccommon.LogElapsed("resource.tencentcloud_kubernetes_health_check_policy.delete")()
277268
defer tccommon.InconsistentCheck(d, meta)()
278269

279-
logId := tccommon.GetLogId(tccommon.ContextNil)
280-
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
270+
var (
271+
logId = tccommon.GetLogId(tccommon.ContextNil)
272+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
273+
request = tkev20220501.NewDeleteHealthCheckPolicyRequest()
274+
)
281275

282276
idSplit := strings.Split(d.Id(), tccommon.FILED_SP)
283277
if len(idSplit) != 2 {
284278
return fmt.Errorf("id is broken,%s", d.Id())
285279
}
280+
286281
clusterId := idSplit[0]
287282
name := idSplit[1]
288283

289-
var (
290-
request = tkev20220501.NewDeleteHealthCheckPolicyRequest()
291-
response = tkev20220501.NewDeleteHealthCheckPolicyResponse()
292-
)
293-
294284
request.ClusterId = helper.String(clusterId)
295-
296285
request.HealthCheckPolicyName = helper.String(name)
297-
298286
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
299287
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeV20220501Client().DeleteHealthCheckPolicyWithContext(ctx, request)
300288
if e != nil {
301289
return tccommon.RetryError(e)
302290
} else {
303291
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
304292
}
305-
response=result
293+
306294
return nil
307295
})
296+
308297
if err != nil {
309298
log.Printf("[CRITAL]%s delete kubernetes health check policy failed, reason:%+v", logId, err)
310299
return err
311300
}
312301

313-
_ = response
314302
return nil
315303
}
Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
1-
Provides a resource to create a tke kubernetes_health_check_policy
1+
Provides a resource to create a TKE kubernetes health check policy
22

33
Example Usage
44

55
```hcl
6-
resource "tencentcloud_kubernetes_health_check_policy" "kubernetes_health_check_policy" {
7-
cluster_id = "cls-xxxxx"
8-
name = "example"
9-
rules {
10-
name = "OOMKilling"
11-
auto_repair_enabled = true
12-
enabled = true
13-
}
14-
rules {
15-
name = "KubeletUnhealthy"
16-
auto_repair_enabled = true
17-
enabled = true
18-
}
6+
resource "tencentcloud_kubernetes_health_check_policy" "example" {
7+
cluster_id = "cls-fdy7hm1q"
8+
name = "tf-example"
9+
rules {
10+
name = "OOMKilling"
11+
auto_repair_enabled = true
12+
enabled = true
13+
}
14+
15+
rules {
16+
name = "KubeletUnhealthy"
17+
auto_repair_enabled = true
18+
enabled = true
19+
}
1920
}
2021
```
2122

2223
Import
2324

24-
tke kubernetes_health_check_policy can be imported using the id, e.g.
25+
TKE kubernetes health check policy can be imported using the clusterId#name, e.g.
2526

2627
```
27-
terraform import tencentcloud_kubernetes_health_check_policy.kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname
28+
terraform import tencentcloud_kubernetes_health_check_policy.example cls-fdy7hm1q#tf-example
2829
```

‎tencentcloud/services/tke/service_tencentcloud_tke.go‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3606,26 +3606,28 @@ func (me *TkeService) DescribeKubernetesHealthCheckPolicyById(ctx context.Contex
36063606
}
36073607
}()
36083608

3609-
ratelimit.Check(request.GetAction())
3610-
36113609
var (
3612-
offset int64 = 0
3613-
limit int64 = 20
3610+
offset int64 = 0
3611+
limit int64 = 100
3612+
instances []*tke2.HealthCheckPolicy
36143613
)
3615-
varinstances []*tke2.HealthCheckPolicy
3614+
36163615
for {
36173616
request.Offset = &offset
36183617
request.Limit = &limit
3618+
ratelimit.Check(request.GetAction())
36193619
response, err := me.client.UseTkeV20220501Client().DescribeHealthCheckPolicies(request)
36203620
if err != nil {
36213621
errRet = err
36223622
return
36233623
}
3624+
36243625
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
36253626

36263627
if response == nil || len(response.Response.HealthCheckPolicies) < 1 {
36273628
break
36283629
}
3630+
36293631
instances = append(instances, response.Response.HealthCheckPolicies...)
36303632
if len(response.Response.HealthCheckPolicies) < int(limit) {
36313633
break

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /