Skip to content

Commit 50b075b

Browse files
committed
feat(tke): add taints para
1 parent 456f2e5 commit 50b075b

File tree

2 files changed

+144
-142
lines changed

2 files changed

+144
-142
lines changed

tencentcloud/services/tke/extension_tke.go

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ 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"
67
svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm"
78
)
89

@@ -157,3 +158,146 @@ var tkeNativeNodePoolAnnotationsMap = map[string]string{
157158
"node.tke.cloud.tencent.com/security-agent": "node.tke.cloud.tencent.com/security-agent",
158159
"node.tke.cloud.tencent.com/security-groups-spread": "node.tke.cloud.tencent.com/security-groups-spread",
159160
}
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+
}
303+

tencentcloud/services/tke/resource_tc_kubernetes_cluster_attachment_extension.go

Lines changed: 0 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -443,145 +443,3 @@ 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)