Skip to content

Commit 994b235

Browse files
committed
feat(tke): add taints para
1 parent fbe2f7b commit 994b235

File tree

2 files changed

+142
-143
lines changed

2 files changed

+142
-143
lines changed

tencentcloud/services/tke/extension_tke.go

Lines changed: 0 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package tke
33
import (
44
tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
55

6-
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
76
svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm"
87
)
98

@@ -158,145 +157,3 @@ var tkeNativeNodePoolAnnotationsMap = map[string]string{
158157
"node.tke.cloud.tencent.com/security-agent": "node.tke.cloud.tencent.com/security-agent",
159158
"node.tke.cloud.tencent.com/security-groups-spread": "node.tke.cloud.tencent.com/security-groups-spread",
160159
}
161-
162-
func tkeGetInstanceAdvancedPara(dMap map[string]interface{}, meta interface{}) (setting tke.InstanceAdvancedSettings) {
163-
setting = tke.InstanceAdvancedSettings{}
164-
if v, ok := dMap["mount_target"]; ok {
165-
setting.MountTarget = helper.String(v.(string))
166-
}
167-
168-
if v, ok := dMap["data_disk"]; ok {
169-
dataDisks := v.([]interface{})
170-
setting.DataDisks = make([]*tke.DataDisk, len(dataDisks))
171-
for i, d := range dataDisks {
172-
value := d.(map[string]interface{})
173-
var diskType, fileSystem, mountTarget, diskPartition string
174-
if v, ok := value["disk_type"].(string); ok {
175-
diskType = v
176-
}
177-
if v, ok := value["file_system"].(string); ok {
178-
fileSystem = v
179-
}
180-
if v, ok := value["mount_target"].(string); ok {
181-
mountTarget = v
182-
}
183-
if v, ok := value["disk_partition"].(string); ok {
184-
diskPartition = v
185-
}
186-
187-
diskSize := int64(value["disk_size"].(int))
188-
autoFormatAndMount := value["auto_format_and_mount"].(bool)
189-
dataDisk := &tke.DataDisk{
190-
DiskType: &diskType,
191-
FileSystem: &fileSystem,
192-
AutoFormatAndMount: &autoFormatAndMount,
193-
MountTarget: &mountTarget,
194-
DiskPartition: &diskPartition,
195-
}
196-
if diskSize > 0 {
197-
dataDisk.DiskSize = &diskSize
198-
}
199-
setting.DataDisks[i] = dataDisk
200-
}
201-
}
202-
if v, ok := dMap["is_schedule"]; ok {
203-
setting.Unschedulable = helper.BoolToInt64Ptr(!v.(bool))
204-
}
205-
206-
if v, ok := dMap["user_data"]; ok {
207-
setting.UserScript = helper.String(v.(string))
208-
}
209-
210-
if v, ok := dMap["pre_start_user_script"]; ok {
211-
setting.PreStartUserScript = helper.String(v.(string))
212-
}
213-
214-
if v, ok := dMap["taints"]; ok {
215-
taints := v.([]interface{})
216-
setting.Taints = make([]*tke.Taint, len(taints))
217-
for i, d := range taints {
218-
taint := d.(map[string]interface{})
219-
var value, key, effect string
220-
if v, ok := taint["key"].(string); ok {
221-
key = v
222-
}
223-
if v, ok := taint["value"].(string); ok {
224-
value = v
225-
}
226-
if v, ok := taint["effect"].(string); ok {
227-
effect = v
228-
}
229-
taintItem := &tke.Taint{
230-
Key: &key,
231-
Value: &value,
232-
Effect: &effect,
233-
}
234-
setting.Taints[i] = taintItem
235-
}
236-
}
237-
238-
if v, ok := dMap["docker_graph_path"]; ok {
239-
setting.DockerGraphPath = helper.String(v.(string))
240-
}
241-
242-
if v, ok := dMap["desired_pod_num"]; ok {
243-
setting.DesiredPodNumber = helper.Int64(int64(v.(int)))
244-
}
245-
246-
if temp, ok := dMap["extra_args"]; ok {
247-
extraArgs := helper.InterfacesStrings(temp.([]interface{}))
248-
clusterExtraArgs := tke.InstanceExtraArgs{}
249-
clusterExtraArgs.Kubelet = make([]*string, 0)
250-
for i := range extraArgs {
251-
clusterExtraArgs.Kubelet = append(clusterExtraArgs.Kubelet, &extraArgs[i])
252-
}
253-
setting.ExtraArgs = &clusterExtraArgs
254-
}
255-
256-
// get gpu_args
257-
if v, ok := dMap["gpu_args"]; ok && len(v.([]interface{})) > 0 {
258-
gpuArgs := v.([]interface{})[0].(map[string]interface{})
259-
260-
var (
261-
migEnable = gpuArgs["mig_enable"].(bool)
262-
driver = gpuArgs["driver"].(map[string]interface{})
263-
cuda = gpuArgs["cuda"].(map[string]interface{})
264-
cudnn = gpuArgs["cudnn"].(map[string]interface{})
265-
customDriver = gpuArgs["custom_driver"].(map[string]interface{})
266-
)
267-
tkeGpuArgs := tke.GPUArgs{}
268-
tkeGpuArgs.MIGEnable = &migEnable
269-
if len(driver) > 0 {
270-
tkeGpuArgs.Driver = &tke.DriverVersion{
271-
Version: helper.String(driver["version"].(string)),
272-
Name: helper.String(driver["name"].(string)),
273-
}
274-
}
275-
if len(cuda) > 0 {
276-
tkeGpuArgs.CUDA = &tke.DriverVersion{
277-
Version: helper.String(cuda["version"].(string)),
278-
Name: helper.String(cuda["name"].(string)),
279-
}
280-
}
281-
if len(cudnn) > 0 {
282-
tkeGpuArgs.CUDNN = &tke.CUDNN{
283-
Version: helper.String(cudnn["version"].(string)),
284-
Name: helper.String(cudnn["name"].(string)),
285-
}
286-
if cudnn["doc_name"] != nil {
287-
tkeGpuArgs.CUDNN.DocName = helper.String(cudnn["doc_name"].(string))
288-
}
289-
if cudnn["dev_name"] != nil {
290-
tkeGpuArgs.CUDNN.DevName = helper.String(cudnn["dev_name"].(string))
291-
}
292-
}
293-
if len(customDriver) > 0 {
294-
tkeGpuArgs.CustomDriver = &tke.CustomDriver{
295-
Address: helper.String(customDriver["address"].(string)),
296-
}
297-
}
298-
setting.GPUArgs = &tkeGpuArgs
299-
}
300-
301-
return setting
302-
}

tencentcloud/services/tke/resource_tc_kubernetes_cluster_attachment_extension.go

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,3 +443,145 @@ func TkeInstanceAdvancedSetting() map[string]*schema.Schema {
443443
},
444444
}
445445
}
446+
447+
func tkeGetInstanceAdvancedPara(dMap map[string]interface{}, meta interface{}) (setting tke.InstanceAdvancedSettings) {
448+
setting = tke.InstanceAdvancedSettings{}
449+
if v, ok := dMap["mount_target"]; ok {
450+
setting.MountTarget = helper.String(v.(string))
451+
}
452+
453+
if v, ok := dMap["data_disk"]; ok {
454+
dataDisks := v.([]interface{})
455+
setting.DataDisks = make([]*tke.DataDisk, len(dataDisks))
456+
for i, d := range dataDisks {
457+
value := d.(map[string]interface{})
458+
var diskType, fileSystem, mountTarget, diskPartition string
459+
if v, ok := value["disk_type"].(string); ok {
460+
diskType = v
461+
}
462+
if v, ok := value["file_system"].(string); ok {
463+
fileSystem = v
464+
}
465+
if v, ok := value["mount_target"].(string); ok {
466+
mountTarget = v
467+
}
468+
if v, ok := value["disk_partition"].(string); ok {
469+
diskPartition = v
470+
}
471+
472+
diskSize := int64(value["disk_size"].(int))
473+
autoFormatAndMount := value["auto_format_and_mount"].(bool)
474+
dataDisk := &tke.DataDisk{
475+
DiskType: &diskType,
476+
FileSystem: &fileSystem,
477+
AutoFormatAndMount: &autoFormatAndMount,
478+
MountTarget: &mountTarget,
479+
DiskPartition: &diskPartition,
480+
}
481+
if diskSize > 0 {
482+
dataDisk.DiskSize = &diskSize
483+
}
484+
setting.DataDisks[i] = dataDisk
485+
}
486+
}
487+
if v, ok := dMap["is_schedule"]; ok {
488+
setting.Unschedulable = helper.BoolToInt64Ptr(!v.(bool))
489+
}
490+
491+
if v, ok := dMap["user_data"]; ok {
492+
setting.UserScript = helper.String(v.(string))
493+
}
494+
495+
if v, ok := dMap["pre_start_user_script"]; ok {
496+
setting.PreStartUserScript = helper.String(v.(string))
497+
}
498+
499+
if v, ok := dMap["taints"]; ok {
500+
taints := v.([]interface{})
501+
setting.Taints = make([]*tke.Taint, len(taints))
502+
for i, d := range taints {
503+
taint := d.(map[string]interface{})
504+
var value, key, effect string
505+
if v, ok := taint["key"].(string); ok {
506+
key = v
507+
}
508+
if v, ok := taint["value"].(string); ok {
509+
value = v
510+
}
511+
if v, ok := taint["effect"].(string); ok {
512+
effect = v
513+
}
514+
taintItem := &tke.Taint{
515+
Key: &key,
516+
Value: &value,
517+
Effect: &effect,
518+
}
519+
setting.Taints[i] = taintItem
520+
}
521+
}
522+
523+
if v, ok := dMap["docker_graph_path"]; ok {
524+
setting.DockerGraphPath = helper.String(v.(string))
525+
}
526+
527+
if v, ok := dMap["desired_pod_num"]; ok {
528+
setting.DesiredPodNumber = helper.Int64(int64(v.(int)))
529+
}
530+
531+
if temp, ok := dMap["extra_args"]; ok {
532+
extraArgs := helper.InterfacesStrings(temp.([]interface{}))
533+
clusterExtraArgs := tke.InstanceExtraArgs{}
534+
clusterExtraArgs.Kubelet = make([]*string, 0)
535+
for i := range extraArgs {
536+
clusterExtraArgs.Kubelet = append(clusterExtraArgs.Kubelet, &extraArgs[i])
537+
}
538+
setting.ExtraArgs = &clusterExtraArgs
539+
}
540+
541+
// get gpu_args
542+
if v, ok := dMap["gpu_args"]; ok && len(v.([]interface{})) > 0 {
543+
gpuArgs := v.([]interface{})[0].(map[string]interface{})
544+
545+
var (
546+
migEnable = gpuArgs["mig_enable"].(bool)
547+
driver = gpuArgs["driver"].(map[string]interface{})
548+
cuda = gpuArgs["cuda"].(map[string]interface{})
549+
cudnn = gpuArgs["cudnn"].(map[string]interface{})
550+
customDriver = gpuArgs["custom_driver"].(map[string]interface{})
551+
)
552+
tkeGpuArgs := tke.GPUArgs{}
553+
tkeGpuArgs.MIGEnable = &migEnable
554+
if len(driver) > 0 {
555+
tkeGpuArgs.Driver = &tke.DriverVersion{
556+
Version: helper.String(driver["version"].(string)),
557+
Name: helper.String(driver["name"].(string)),
558+
}
559+
}
560+
if len(cuda) > 0 {
561+
tkeGpuArgs.CUDA = &tke.DriverVersion{
562+
Version: helper.String(cuda["version"].(string)),
563+
Name: helper.String(cuda["name"].(string)),
564+
}
565+
}
566+
if len(cudnn) > 0 {
567+
tkeGpuArgs.CUDNN = &tke.CUDNN{
568+
Version: helper.String(cudnn["version"].(string)),
569+
Name: helper.String(cudnn["name"].(string)),
570+
}
571+
if cudnn["doc_name"] != nil {
572+
tkeGpuArgs.CUDNN.DocName = helper.String(cudnn["doc_name"].(string))
573+
}
574+
if cudnn["dev_name"] != nil {
575+
tkeGpuArgs.CUDNN.DevName = helper.String(cudnn["dev_name"].(string))
576+
}
577+
}
578+
if len(customDriver) > 0 {
579+
tkeGpuArgs.CustomDriver = &tke.CustomDriver{
580+
Address: helper.String(customDriver["address"].(string)),
581+
}
582+
}
583+
setting.GPUArgs = &tkeGpuArgs
584+
}
585+
586+
return setting
587+
}

0 commit comments

Comments
 (0)