Skip to content

Commit 9d96953

Browse files
authored
Merge pull request #1545 from xawei/feat/tke-modify-security-agent
feat: make enhanced_security_service in tke node pool not forceNew
2 parents 7d9b214 + 238910b commit 9d96953

File tree

15 files changed

+36793
-31
lines changed

15 files changed

+36793
-31
lines changed

.changelog/1545.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_node_pool: adjust enhanced_security_service to not forceNew
3+
```

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ require (
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412
3838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.591
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.553
40+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589
4041
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.572
4142
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
4243
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.542

go.sum

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -464,26 +464,18 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.409 h1:ToZpNh7
464464
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.409/go.mod h1:U24yUxCDruJLayOsP/onO2E/7+9ljeNsNO+phu+PeiM=
465465
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.520 h1:n4FN0PI+1MVWi+RGQbD/cElXjquZQK0K1h1Z1nNWNWw=
466466
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.520/go.mod h1:gzI+2Qd/iUfPPQQjW30k0G3mJ3m7tXeXrydJMm8jsOo=
467-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.581 h1:LhzXiQ82MJL5r1sxu6sqho4ZxeYVvfQeR1AYmrmBl80=
468-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.581/go.mod h1:UZW7JY6opRJm39HJzV+M7BfapfLQoY0a55RyTxc34uI=
469467
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 h1:TPGLjH6wqkA5Iirl6xCxFkWwrtCZ8ZmeF7ASzqUbsZA=
470468
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591/go.mod h1:nCAGfVTXZkVnurkbjF3b0FM6RwGztE9t8D9Ms1unaKo=
471469
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.576 h1:0Ob8XAXco+lp19HE3CCH/oQBxq6SdhUB/5O842dJ9Ec=
472470
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.576/go.mod h1:kbILC5/kqFl+0UK8X9PGP3ubvZi8VReQLQYxhVw8ZH0=
473471
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA=
474472
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U=
475-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.562 h1:gPdY1ow4dh3+Fs0ShjpiX9u+lQLjSHuH9OCBXuoin+Q=
476-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.562/go.mod h1:eC3p0uhPlovCmDlIhwQTej95aj33O5TI4nNHJQpH+8g=
477473
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.581 h1:Ei818gJRB9wd1sGux9x9Hi3l9XwfYbPBhri6T3aYorc=
478474
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.581/go.mod h1:T7/YP64GYsB74saN6wG9IOQ1/XZFWX2MKEM9tphORYk=
479475
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.403 h1:rD9H4dQkULnRpq1BiD2KuDKsd9VEKHun2gMT+V6DNOE=
480476
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.403/go.mod h1:yWwwGj2gV0hRPfM9GXG4EgDee0cEWYcAwl/M8CTTvzM=
481-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445 h1:ZUtZLAXy7xQbDipfEIPEBahjHBoJ+hTAbQYaqjiwFAg=
482-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445/go.mod h1:qiBToiXBl7c0k05B3ZzLlAdPuDl5sFHzYsnB8/IBRiA=
483477
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.591 h1:Rg1AD/9y3pwo7iQ//YwylFrQYsjFcYMCESA6XDkzlvI=
484478
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.591/go.mod h1:V/OfxmhJ/kic0QZzdl82fSREd2fuQ1VQqjVEYdsgQRE=
485-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199 h1:o41qFAFJGPDTLNWXs7nLw4fsDxFUCe5gkO2YXI9Ye6Q=
486-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199/go.mod h1:b7dNjabPys0/iLwRFd8MVE5EkJTNAh4qtaHQOOLchx4=
487479
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y=
488480
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc=
489481
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 h1:mQbC16tarrfz+ILlHTMiiA3MTUP79fSqs+KEpuL2FKE=
@@ -493,12 +485,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.358/go.mod
493485
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.383/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
494486
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.391/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
495487
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.403/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
496-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.406/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
497488
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.409/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
498489
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.412/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
499490
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.413/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
500491
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
501-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
502492
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.466/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
503493
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
504494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -516,31 +506,25 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.540/go.mod
516506
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.542/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
517507
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.544/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
518508
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.547/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
519-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.549/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
520509
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.553/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
521-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.562/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
522510
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.564/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
523511
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.567/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
524512
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.569/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
525513
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.571/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
526514
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
527515
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.576/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
528-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.577/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
529516
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.578/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
530-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.581 h1:D9CgaCBTobVR13v0ZTGV/41hbv+l5DFCsWD2Sia83i4=
531517
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.581/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
532-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.583 h1:1zUg5BBJTuiLhd2QsifiLdWxbuVfP7I2bROwNkaY4vo=
533518
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.583/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
534-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.584 h1:FbppCUoExsYKd8orUHqcTJacEIGgFcTyvzdFNMb/7zI=
535519
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.584/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
536-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.588 h1:DYtBXB7sVc3EOW5horg8j55cLZynhsLYhHrvQ/jXKKM=
537520
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.588/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
521+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.589/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
538522
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.591 h1:tb1wlm1K9ca6bNrwC0sr65vJAL+1gYq4UzLsZxaY5KU=
539523
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.591/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
540-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg=
541-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ=
542524
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.553 h1:Pl1kYgFhJp0QSoVFSzRsiGk+HfEAkBTQg7+O60tytNA=
543525
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.553/go.mod h1:dnnqPxXYK+kax3e1MKo/PI3iWJtytm6ogWKQHJS7SGE=
526+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589 h1:LZihgirMH0vsaGScYexxwY0fTss9vHaSZs/YOQUVESg=
527+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589/go.mod h1:rP1Sng8NNveLZ4HhjuvAZSxdmYQOyFyJY3qaut0xJrA=
544528
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.572 h1:s6YaKNJla+zow8j+9UDFVWblPRv8kwS4dlAY1IWT15o=
545529
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.572/go.mod h1:Wp8vjOiPCqWs8ERh6+XcMYdGul6L8bU/icFY6JzxGdU=
546530
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw=
@@ -837,13 +821,16 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks
837821
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
838822
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
839823
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
824+
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
840825
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
841826
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
842827
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
828+
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
843829
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
844830
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
845831
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
846832
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
833+
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
847834
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
848835
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
849836
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

tencentcloud/connectivity/client.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
3939
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
4040
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
41+
cwp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp/v20180228"
4142
cynosdb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107"
4243
dayu "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu/v20180709"
4344
dbbrain "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain/v20210527"
@@ -157,6 +158,7 @@ type TencentCloudClient struct {
157158
ciConn *cos.Client
158159
tsfConn *tsf.Client
159160
mpsConn *mps.Client
161+
cwpConn *cwp.Client
160162
}
161163

162164
// NewClientProfile returns a new ClientProfile
@@ -1057,6 +1059,19 @@ func (me *TencentCloudClient) UseMpsClient() *mps.Client {
10571059
return me.mpsConn
10581060
}
10591061

1062+
// UseTkeClient returns tke client for service
1063+
func (me *TencentCloudClient) UseCwpClient() *cwp.Client {
1064+
if me.cwpConn != nil {
1065+
return me.cwpConn
1066+
}
1067+
1068+
cpf := me.NewClientProfile(300)
1069+
me.cwpConn, _ = cwp.NewClient(me.Credential, me.Region, cpf)
1070+
me.cwpConn.WithHttpTransport(&LogRoundTripper{})
1071+
1072+
return me.cwpConn
1073+
}
1074+
10601075
func getEnvDefault(key string, defVal int) int {
10611076
val, ex := os.LookupEnv(key)
10621077
if !ex {

tencentcloud/extension_tke.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,7 @@ var TKE_ADDON_DEFAULT_VALUES_KEY = []string{
120120
"global.cluster.kubeversion",
121121
"global.cluster.kubeminor",
122122
}
123+
124+
const (
125+
InstallSecurityAgentCommandId = "cmd-d8jj2skv"
126+
)

tencentcloud/internal/helper/transform.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,17 @@ func StrListToStr(strList []*string) string {
235235
return base64.StdEncoding.EncodeToString([]byte(res))
236236
}
237237

238+
func StrListValToStr(strListVal []string) string {
239+
res := ""
240+
for i, v := range strListVal {
241+
res += v
242+
if i < len(strListVal)-1 {
243+
res += ";"
244+
}
245+
}
246+
return base64.StdEncoding.EncodeToString([]byte(res))
247+
}
248+
238249
func StrToStrList(str string) (res []string, err error) {
239250

240251
decodeString, err := base64.StdEncoding.DecodeString(str)

tencentcloud/resource_tc_kubernetes_node_pool.go

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -334,10 +334,10 @@ func composedKubernetesAsScalingConfigPara() map[string]*schema.Schema {
334334
Description: "Security groups to which a CVM instance belongs.",
335335
},
336336
"enhanced_security_service": {
337-
Type: schema.TypeBool,
338-
Optional: true,
339-
Default: true,
340-
ForceNew: true,
337+
Type: schema.TypeBool,
338+
Optional: true,
339+
Default: true,
340+
//ForceNew: true,
341341
Description: "To specify whether to enable cloud security service. Default is TRUE.",
342342
},
343343
"enhanced_monitor_service": {
@@ -964,6 +964,23 @@ func composeAsLaunchConfigModifyRequest(d *schema.ResourceData, launchConfigId s
964964
}
965965
}
966966

967+
// set enhanced_security_service if necessary
968+
if v, ok := dMap["enhanced_security_service"]; ok {
969+
securityService := v.(bool)
970+
if request.EnhancedService != nil {
971+
request.EnhancedService.SecurityService = &as.RunSecurityServiceEnabled{
972+
Enabled: helper.Bool(securityService),
973+
}
974+
} else {
975+
request.EnhancedService = &as.EnhancedService{
976+
SecurityService: &as.RunSecurityServiceEnabled{
977+
Enabled: helper.Bool(securityService),
978+
},
979+
}
980+
}
981+
982+
}
983+
967984
request.InstanceChargeType = &chargeType
968985

969986
return request
@@ -1337,12 +1354,13 @@ func resourceKubernetesNodePoolUpdate(d *schema.ResourceData, meta interface{})
13371354
defer logElapsed("resource.tencentcloud_kubernetes_node_pool.update")()
13381355

13391356
var (
1340-
logId = getLogId(contextNil)
1341-
ctx = context.WithValue(context.TODO(), logIdKey, logId)
1342-
client = meta.(*TencentCloudClient).apiV3Conn
1343-
service = TkeService{client: client}
1344-
asService = AsService{client: client}
1345-
items = strings.Split(d.Id(), FILED_SP)
1357+
logId = getLogId(contextNil)
1358+
ctx = context.WithValue(context.TODO(), logIdKey, logId)
1359+
client = meta.(*TencentCloudClient).apiV3Conn
1360+
service = TkeService{client: client}
1361+
asService = AsService{client: client}
1362+
cvmService = CvmService{client: client}
1363+
items = strings.Split(d.Id(), FILED_SP)
13461364
)
13471365
if len(items) != 2 {
13481366
return fmt.Errorf("resource_tc_kubernetes_node_pool id is broken")
@@ -1359,13 +1377,20 @@ func resourceKubernetesNodePoolUpdate(d *schema.ResourceData, meta interface{})
13591377
return err
13601378
}
13611379
launchConfigId := *nodePool.LaunchConfigurationId
1380+
// change as config here
13621381
request := composeAsLaunchConfigModifyRequest(d, launchConfigId)
13631382
_, err = client.UseAsClient().ModifyLaunchConfigurationAttributes(request)
13641383
if err != nil {
13651384
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n",
13661385
logId, request.GetAction(), request.ToJsonString(), err.Error())
13671386
return err
13681387
}
1388+
1389+
// change existed cvm security service if necessary
1390+
if err := ModifySecurityServiceOfCvmInNodePool(ctx, d, &service, &cvmService, client, clusterId, *nodePool.NodePoolId); err != nil {
1391+
return err
1392+
}
1393+
13691394
d.SetPartial("auto_scaling_config")
13701395
}
13711396

tencentcloud/resource_tc_kubernetes_node_pool_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ func TestAccTencentCloudKubernetesNodePoolResource_basic(t *testing.T) {
106106
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.security_group_ids.#", "1"),
107107
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.host_name", "12.123.0.0"),
108108
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.host_name_style", "ORIGINAL"),
109+
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.enhanced_security_service", "false"),
109110
),
110111
},
111112
{
@@ -140,6 +141,7 @@ func TestAccTencentCloudKubernetesNodePoolResource_basic(t *testing.T) {
140141
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.security_group_ids.#", "2"),
141142
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.host_name", "12.123.1.1"),
142143
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.host_name_style", "UNIQUE"),
144+
resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.0.enhanced_security_service", "true"),
143145
),
144146
},
145147
},
@@ -364,7 +366,7 @@ resource "tencentcloud_kubernetes_node_pool" "np_test" {
364366
internet_max_bandwidth_out = 20
365367
public_ip_assigned = true
366368
password = "test123#"
367-
enhanced_security_service = false
369+
enhanced_security_service = true
368370
enhanced_monitor_service = false
369371
host_name = "12.123.1.1"
370372
host_name_style = "UNIQUE"

0 commit comments

Comments
 (0)