You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pcm_tencent.go 4.2 kB

3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package main
  2. import (
  3. pcm_pod_tencent "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_pod/server/tencent"
  4. "fmt"
  5. "strconv"
  6. )
  7. /*
  8. ****
  9. regionId tencent:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
  10. image: tencent nginx:latest
  11. tencent registry-vpc.cn-hangzhou.tencentyuncs.com/eci_open/nginx
  12. huawei library/nginx:stable-alpine-perl
  13. ****
  14. */
  15. func tencentCreatePCM() (_err error) {
  16. request := pcm_pod_tencent.NewCreateEKSContainerInstancesRequest()
  17. /****************PCM params******************/
  18. request.ProviderId = 1
  19. request.RegionId = "ap-guangzhou"
  20. request.Namespace = "pcm"
  21. /****************PCM params******************/
  22. _name := "pcm-test-tencnet"
  23. _podImage := "nginx/nginx:latest"
  24. _podName := "pcm-test-container"
  25. _cpu, _ := strconv.ParseFloat("1", 64)
  26. _memory, _ := strconv.ParseFloat("2", 64)
  27. request.EksCiName = &_name
  28. requestContainer := make([]*pcm_pod_tencent.Container, 0)
  29. requestContainer = append(requestContainer, &pcm_pod_tencent.Container{
  30. Name: &_podName,
  31. Image: &_podImage,
  32. Cpu: &_cpu,
  33. Memory: &_memory,
  34. //Command: []*string{},
  35. Args: []*string{},
  36. //Envs: []*pcm_pod_tencent.Env{},
  37. //Ports: []*pcm_pod_tencent.Port{},
  38. //VolumeMounts: []*pcm_pod_tencent.VolumeMount{
  39. // &pcm_pod_tencent.VolumeMount{
  40. // Name: "pcm-test-tencnet-volume",
  41. // MountPath: "/data",
  42. // },
  43. //},
  44. })
  45. request.Containers = requestContainer
  46. resp, _err := pcm_pod_tencent.CreateEKSContainerInstances(request)
  47. if _err != nil {
  48. fmt.Println(_err)
  49. return _err
  50. }
  51. fmt.Println(*resp.Response.RequestId)
  52. return _err
  53. }
  54. func tencentDescribePCM() (_err error) {
  55. request := pcm_pod_tencent.NewDescribeEKSContainerInstancesRequest()
  56. /****************PCM params******************/
  57. request.ProviderId = 1
  58. //tencent:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
  59. //request.RegionId = "cn-east-3"
  60. request.Namespace = "pcm"
  61. /****************PCM params******************/
  62. resp, _err := pcm_pod_tencent.DescribeEKSContainerInstances(request)
  63. if _err != nil {
  64. fmt.Println(_err)
  65. return _err
  66. }
  67. fmt.Println(*resp.Response.EksCis[0].EksCiId)
  68. return _err
  69. }
  70. func tencentUpdatePCM() (_err error) {
  71. request := pcm_pod_tencent.NewUpdateEKSContainerInstanceRequest()
  72. _eksCiId := "eksci-4ti4856m"
  73. _Name := "pcm-test-tencnet-update"
  74. _RestartPolicy := "Never"
  75. /****************PCM params******************/
  76. request.ProviderId = 1
  77. request.RegionId = "ap-guangzhou"
  78. request.Namespace = "pcm"
  79. request.EksCiId = &_eksCiId
  80. /****************PCM params******************/
  81. request.Name = &_Name
  82. _cpu, _ := strconv.ParseFloat("2", 64)
  83. _memory, _ := strconv.ParseFloat("4", 64)
  84. _image := "nginx/nginx:latest"
  85. _name := "pcm-update-container"
  86. request.RestartPolicy = &_RestartPolicy
  87. requestContainer := make([]*pcm_pod_tencent.Container, 0)
  88. requestContainer = append(requestContainer, &pcm_pod_tencent.Container{
  89. Name: &_name,
  90. Image: &_image,
  91. Cpu: &_cpu,
  92. Memory: &_memory,
  93. //Command: []*string{},
  94. Args: []*string{},
  95. //Envs: []*pcm_pod_tencent.Env{},
  96. //Ports: []*pcm_pod_tencent.Port{},
  97. //VolumeMounts: []*pcm_pod_tencent.VolumeMount{
  98. // &pcm_pod_tencent.VolumeMount{
  99. // Name: "pcm-test-tencnet-volume",
  100. // MountPath: "/data",
  101. // },
  102. //},
  103. })
  104. request.Containers = requestContainer
  105. resp, _err := pcm_pod_tencent.UpdateEKSContainerInstance(request)
  106. if _err != nil {
  107. fmt.Println(_err)
  108. return _err
  109. }
  110. fmt.Println(*resp.Response.RequestId)
  111. return _err
  112. }
  113. func tencentDeletePCM() (_err error) {
  114. _eksCiId := "eksci-4ti4856m"
  115. request := pcm_pod_tencent.NewDeleteEKSContainerInstancesRequest()
  116. /****************PCM params******************/
  117. request.ProviderId = 1
  118. //tencent:cn-hangzhou tc:ap-guangzhou hw: cn-east-3
  119. request.RegionId = "ap-guangzhou"
  120. request.Namespace = "pcm"
  121. request.EksCiIds = []*string{&_eksCiId}
  122. /****************PCM params******************/
  123. resp, _err := pcm_pod_tencent.DeleteEKSContainerInstances(request)
  124. if _err != nil {
  125. fmt.Println(_err)
  126. return _err
  127. }
  128. fmt.Println(*resp.Response.RequestId)
  129. return _err
  130. }
  131. func main() {
  132. //err := tencentCreatePCM()
  133. //err := tencentDescribePCM()
  134. //err := tencentUpdatePCM()
  135. err := tencentDeletePCM()
  136. if err != nil {
  137. panic(err)
  138. }
  139. }

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.