| @@ -0,0 +1,8 @@ | |||
| [eci_conf] | |||
| #测试账号ak | |||
| access_key = | |||
| secret_key = | |||
| #region | |||
| region_id=cn-shanghai | |||
| #每个region下的资源信息,json格式 | |||
| region_info={"cn-hangzhou": {"securityGroupId": "sg-bp118knl07ymorgzfhyw","vSwitchId": "vsw-bp1jrgfqqy54kg5hcf8bc","zoneId": "cn-hangzhou-h"},"cn-shanghai": {"securityGroupId": "sg-uf62jug0dt92nfy630cs","vSwitchId": "vsw-uf6cb39ub5urw82bv3w70","zoneId": "cn-shanghai-g"},"cn-beijing": {"securityGroupId": "sg-2ze6uv80a8s4yk04dmyu","vSwitchId": "vsw-2zegtxf8q29d8tt1xtcjk","zoneId": "cn-beijing-h"},"cn-shenzhen":{"securityGroupId": "sg-wz96x4kv4edy97q6jjzn","vSwitchId": "vsw-wz9rn33jwilodp24klo0q","zoneId": "cn-shenzhen-a"},"cn-hongkong":{"securityGroupId": "sg-j6cjajpf7f4ybda7h19w","vSwitchId": "vsw-j6c9c9fit5owbbc0ids6c","zoneId": "cn-hongkong-b"},"us-west-1":{"securityGroupId": "sg-u19hbpj9x","vSwitchId": "vsw-rj9h5vvzhb4fjkuzuyi8j","zoneId": "us-west-1a"},"us-east-1":{"securityGroupId": "sg-0xih51sfoldxzxfsbja5","vSwitchId": "vsw-0xisefewxoqe4f849jbnl","zoneId": "us-east-1b"},"ap-southeast-1":{"securityGroupId": "sg-t4n23ppw7fm5to7cnib9","vSwitchId": "vsw-t4nr1xt8zupxg00unnmg9","zoneId": "ap-southeast-1b"},"cn-zhangjiakou": {"securityGroupId": "sg-8vb96lku1dgq71ckh98g","vSwitchId": "vsw-8vbtnz5878r3bcio7cpyx", "nfs":"9cbb94a474-oav34.cn-zhangjiakou.nas.aliyuncs.com", "zoneId": "cn-zhangjiakou-a"}} | |||
| @@ -0,0 +1,22 @@ | |||
| package eci | |||
| type ContainerGroupStatus string | |||
| const ( | |||
| Scheduling = ContainerGroupStatus("Scheduling") | |||
| Pending = ContainerGroupStatus("Pending") | |||
| Running = ContainerGroupStatus("Running") | |||
| Succeeded = ContainerGroupStatus("Succeeded") | |||
| Failed = ContainerGroupStatus("Failed") | |||
| Restarting = ContainerGroupStatus("Restarting") | |||
| Updating = ContainerGroupStatus("Updating") | |||
| ScheduleFailed = ContainerGroupStatus("ScheduleFailed") | |||
| ) | |||
| type ContainerStatus string | |||
| const ( | |||
| waiting = ContainerStatus("Waiting") | |||
| running = ContainerStatus("Running") | |||
| terminated = ContainerStatus("Terminated") | |||
| ) | |||
| @@ -0,0 +1,177 @@ | |||
| package eci | |||
| import ( | |||
| "encoding/json" | |||
| "fmt" | |||
| "github.com/Unknwon/goconfig" | |||
| "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" | |||
| "github.com/aliyun/alibaba-cloud-sdk-go/services/eci" | |||
| "os" | |||
| "time" | |||
| ) | |||
| var accessKey string | |||
| var secretKey string | |||
| var regionId string | |||
| var zoneId string | |||
| var securityGroupId string | |||
| var vSwitchId string | |||
| var client *eci.Client | |||
| /** | |||
| 获取配置信息 | |||
| */ | |||
| func init() { | |||
| var cfg *goconfig.ConfigFile | |||
| config, err := goconfig.LoadConfigFile("/home/Senna/GolandProjects/PCM/adaptor/container_api_adaptor/alibaba/eci/config.conf") //加载配置文件 | |||
| if err != nil { | |||
| fmt.Println("get config file error:", err.Error()) | |||
| os.Exit(-1) | |||
| } | |||
| cfg = config | |||
| accessKey, _ = cfg.GetValue("eci_conf", "access_key") | |||
| secretKey, _ = cfg.GetValue("eci_conf", "secret_key") | |||
| regionId, _ = cfg.GetValue("eci_conf", "region_id") | |||
| var regionInfo map[string](map[string](string)) | |||
| value, _ := cfg.GetValue("eci_conf", "region_info") | |||
| json.Unmarshal([]byte(value), ®ionInfo) | |||
| zoneId = regionInfo[regionId]["zoneId"] | |||
| securityGroupId = regionInfo[regionId]["securityGroupId"] | |||
| vSwitchId = regionInfo[regionId]["vSwitchId"] | |||
| fmt.Printf("init success[ access_key:%s, secret_key:%s, region_id:%s, zoneId:%s, vSwitchId:%s, securityGroupId:%s]\n", | |||
| accessKey, secretKey, regionId, zoneId, vSwitchId, securityGroupId) | |||
| //初始化client | |||
| client, err = eci.NewClientWithAccessKey(regionId, accessKey, secretKey) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| } | |||
| /** | |||
| 创建 | |||
| */ | |||
| func createContainerGroup() string { | |||
| // Create Container Group | |||
| createContainerRequest := eci.CreateCreateContainerGroupRequest() | |||
| // required | |||
| createContainerRequest.RegionId = regionId | |||
| createContainerRequest.SecurityGroupId = securityGroupId | |||
| createContainerRequest.VSwitchId = vSwitchId | |||
| createContainerRequest.ContainerGroupName = "test-go-sdk" | |||
| createContainerRequest.RestartPolicy = "Never" | |||
| createContainerRequestVolume := make([]eci.CreateContainerGroupVolume, 1) | |||
| volume1 := &eci.CreateContainerGroupNFSVolume{ | |||
| Path: "/", | |||
| Server: "0a1bf4a604-jaq68.cn-hangzhou.nas.aliyuncs.com", | |||
| } | |||
| createContainerRequestVolume[0].Name = "volume1" | |||
| createContainerRequestVolume[0].Type = "NFSVolume" | |||
| createContainerRequestVolume[0].NFSVolume = *volume1 | |||
| createContainerRequest.Volume = &createContainerRequestVolume | |||
| createContainerRequestContainer := make([]eci.CreateContainerGroupContainer, 1) | |||
| createContainerRequestContainer[0].Image = "nginx" | |||
| createContainerRequestContainer[0].Name = "nginx-liu" | |||
| // option | |||
| createContainerRequestContainer[0].Cpu = requests.NewFloat(0.25) | |||
| createContainerRequestContainer[0].Memory = requests.NewFloat(0.5) | |||
| createContainerRequestContainer[0].ImagePullPolicy = "IfNotPresent" | |||
| createContainerRequest.Container = &createContainerRequestContainer | |||
| //sdk-core默认的重试次数为3,在没有加幂等的条件下,资源创建的接口底层不需要自动重试 | |||
| client.GetConfig().MaxRetryTime = 0 | |||
| createContainerGroupResponse, err := client.CreateContainerGroup(createContainerRequest) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| containerGroupId := createContainerGroupResponse.ContainerGroupId | |||
| fmt.Println(containerGroupId) | |||
| return containerGroupId | |||
| } | |||
| /** | |||
| 删除 | |||
| */ | |||
| func deleteContainerGroup(containerGroupId string) { | |||
| deleteContainerGroupRequest := eci.CreateDeleteContainerGroupRequest() | |||
| deleteContainerGroupRequest.RegionId = regionId | |||
| deleteContainerGroupRequest.ContainerGroupId = containerGroupId | |||
| _, err := client.DeleteContainerGroup(deleteContainerGroupRequest) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("DeleteContainerGroup ContainerGroupId :", containerGroupId) | |||
| } | |||
| /** | |||
| 查询 | |||
| */ | |||
| func describeContainerGroup(containerGroupId string) eci.DescribeContainerGroupsContainerGroup0 { | |||
| // Describe Container Groups | |||
| describeContainerGroupsRequest := eci.CreateDescribeContainerGroupsRequest() | |||
| describeContainerGroupsRequest.RegionId = regionId | |||
| containerGroupIds := append([]string{}, containerGroupId) | |||
| containerGroupIdsString, err := json.Marshal(containerGroupIds) | |||
| describeContainerGroupsRequest.ContainerGroupIds = string(containerGroupIdsString) | |||
| describeContainerGroupsResponse, err := client.DescribeContainerGroups(describeContainerGroupsRequest) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| describeContainerGroupNumber := len(describeContainerGroupsResponse.ContainerGroups) | |||
| if describeContainerGroupsResponse.TotalCount != 1 && describeContainerGroupNumber != 1 { | |||
| fmt.Println("Invalid ContainerGroups count", describeContainerGroupsResponse.TotalCount, describeContainerGroupNumber) | |||
| panic("Invalid ContainerGroups count") | |||
| } | |||
| fmt.Println("ContainerGroup status:", describeContainerGroupsResponse.ContainerGroups[0].Status, containerGroupId) | |||
| // container groups | |||
| return describeContainerGroupsResponse.ContainerGroups[0] | |||
| } | |||
| func describeContainerGroupMetric(containerGroupId string) { | |||
| describeContainerGroupMetricRequest := eci.CreateDescribeContainerGroupMetricRequest() | |||
| describeContainerGroupMetricRequest.RegionId = regionId | |||
| describeContainerGroupMetricRequest.ContainerGroupId = containerGroupId | |||
| response, err := client.DescribeContainerGroupMetric(describeContainerGroupMetricRequest) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| data, _ := json.Marshal(response) | |||
| fmt.Printf("Metrics for %s:%s\n", containerGroupId, string(data)) | |||
| } | |||
| func describeMultiContainerGroupMetric(containerGroupIds []string) { | |||
| describeContainerGroupMetricRequest := eci.CreateDescribeMultiContainerGroupMetricRequest() | |||
| describeContainerGroupMetricRequest.RegionId = regionId | |||
| data, _ := json.Marshal(containerGroupIds) | |||
| describeContainerGroupMetricRequest.ContainerGroupIds = string(data) | |||
| response, err := client.DescribeMultiContainerGroupMetric(describeContainerGroupMetricRequest) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| data, _ = json.Marshal(response) | |||
| fmt.Printf("Metrics:%s\n", string(data)) | |||
| } | |||
| func Test() { | |||
| containerGroupIds := make(chan string) | |||
| go func() { | |||
| for i := 0; i < 1; i++ { | |||
| containerGroupId := createContainerGroup() | |||
| containerGroupIds <- containerGroupId | |||
| } | |||
| }() | |||
| go func() { | |||
| for containerGroupId := range containerGroupIds { | |||
| for i := 0; i < 10; i++ { | |||
| status := describeContainerGroup(containerGroupId).Status | |||
| if Running == ContainerGroupStatus(status) { | |||
| break | |||
| } else { | |||
| time.Sleep(5 * time.Second) | |||
| } | |||
| } | |||
| //deleteContainerGroupById(containerGroupId) | |||
| } | |||
| }() | |||
| //阻塞等待异步执行完,不然会提前退出。 | |||
| var input string | |||
| fmt.Println("waiting for input to finish:") | |||
| fmt.Scanln(&input) | |||
| fmt.Println("test done!") | |||
| } | |||
| @@ -0,0 +1,7 @@ | |||
| package main | |||
| import "PCM/adaptor/container_api_adaptor/alibaba/eci" | |||
| func main() { | |||
| eci.Test() | |||
| } | |||
| @@ -0,0 +1 @@ | |||
| package common | |||
| @@ -0,0 +1,72 @@ | |||
| package main | |||
| import ( | |||
| "PCM/adaptor/container_api_adaptor/huawei/demos/pod" | |||
| "PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" | |||
| "fmt" | |||
| ) | |||
| func main() { | |||
| // 有多种认证方式,具体请参考 | |||
| //《使用cci-iam-authenticator进行认证并创建client》,https://support.huaweicloud.com/sdkreference-cci/cci_09_0004.html | |||
| cs, err := aksk.NewClient() | |||
| //networkCs, err := aksk.NewNetworkClient() | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| //创建命名空间 | |||
| //fmt.Println("start to namespace created") | |||
| //_, err = namespace.CreateNamespace(cs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //fmt.Println("namespace created") | |||
| //创建网络 | |||
| //fmt.Println("start to network created") | |||
| //_, err = network.CreateNetwork(networkCs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //创建deployment | |||
| //fmt.Println("start to create deployment") | |||
| //_, err = deployment.CreateDeployment(cs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //fmt.Println("deployment created") | |||
| //创建pod | |||
| fmt.Println("start to create pod") | |||
| _, err = pod.CreatePod(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("pod created") | |||
| //删除deployment | |||
| //fmt.Println("start to delete deployment") | |||
| //err = deployment.DeleteDeployment(cs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //fmt.Println("deployment deleted") | |||
| //删除pod | |||
| //fmt.Println("start to delete pod") | |||
| //err = pod.DeletePod(cs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //fmt.Println("pod deleted") | |||
| //删除命名空间 | |||
| //fmt.Println("start to delete namespace") | |||
| //err = namespace.DeleteNamespace(cs) | |||
| //if err != nil { | |||
| // panic(err) | |||
| //} | |||
| //fmt.Println("namespace terminating") | |||
| } | |||
| @@ -1,11 +1,11 @@ | |||
| package network | |||
| import ( | |||
| "PCM/huawei/pkg/apis/networking.cci.io/v1beta1" | |||
| "PCM/huawei/pkg/auth/aksk" | |||
| "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" | |||
| "PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" | |||
| "time" | |||
| clientset "PCM/huawei/pkg/client/networking.cci.io/v1beta1" | |||
| clientset "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" | |||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||
| "k8s.io/apimachinery/pkg/util/wait" | |||
| ) | |||
| @@ -0,0 +1,65 @@ | |||
| package pod | |||
| import ( | |||
| corev1 "k8s.io/api/core/v1" | |||
| "k8s.io/apimachinery/pkg/api/resource" | |||
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||
| "k8s.io/client-go/kubernetes" | |||
| ) | |||
| const ( | |||
| app = "test-k8s-client-deployment" | |||
| podName = "test-k8s-client-pod" | |||
| namespace = "test-k8s-client-namespace1" | |||
| ) | |||
| // CreateDeployment 创建Deployment | |||
| // API参考:https://support.huaweicloud.com/api-cci/createAppsV1NamespacedDeployment.html | |||
| func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) { | |||
| pod := corev1.Pod{ | |||
| TypeMeta: metav1.TypeMeta{ | |||
| APIVersion: "core/V1", | |||
| Kind: "Pod", | |||
| }, | |||
| ObjectMeta: metav1.ObjectMeta{ | |||
| Name: podName, | |||
| Namespace: "default", | |||
| Labels: map[string]string{"name": "testapi"}, | |||
| }, | |||
| Spec: corev1.PodSpec{ | |||
| RestartPolicy: corev1.RestartPolicyAlways, | |||
| Containers: []corev1.Container{ | |||
| corev1.Container{ | |||
| Name: "container-0", | |||
| Image: "library/nginx:stable-alpine-perl", | |||
| Resources: corev1.ResourceRequirements{ | |||
| Requests: map[corev1.ResourceName]resource.Quantity{ | |||
| corev1.ResourceCPU: resource.MustParse("500m"), | |||
| corev1.ResourceMemory: resource.MustParse("1024Mi"), | |||
| }, | |||
| Limits: map[corev1.ResourceName]resource.Quantity{ | |||
| corev1.ResourceCPU: resource.MustParse("500m"), | |||
| corev1.ResourceMemory: resource.MustParse("1024Mi"), | |||
| }, | |||
| }, | |||
| }, | |||
| }, | |||
| }, | |||
| Status: corev1.PodStatus{}, | |||
| } | |||
| return client.CoreV1().Pods(namespace).Create(&pod) | |||
| } | |||
| // DeletePod 删除Pod | |||
| // API参考:https://support.huaweicloud.com/api-cci/deleteAppsV1NamespacedDeployment.html | |||
| func DeletePod(client *kubernetes.Clientset) error { | |||
| return client.CoreV1().Pods(namespace).Delete(podName, &metav1.DeleteOptions{}) | |||
| } | |||
| // GetPod 查询Pod | |||
| // API参考:https://support.huaweicloud.com/api-cci/readAppsV1NamespacedDeployment.html | |||
| func GetPod(client *kubernetes.Clientset) (*corev1.Pod, error) { | |||
| return client.CoreV1().Pods(namespace).Get(podName, metav1.GetOptions{}) | |||
| } | |||
| @@ -1,7 +1,7 @@ | |||
| package aksk | |||
| import ( | |||
| clientset "PCM/huawei/pkg/client/networking.cci.io/v1beta1" | |||
| clientset "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" | |||
| "fmt" | |||
| "k8s.io/client-go/kubernetes" | |||
| "k8s.io/client-go/tools/clientcmd" | |||
| @@ -17,17 +17,17 @@ const ( | |||
| // 地区和终端节点,参考https://developer.huaweicloud.com/endpoint | |||
| projectName = "cn-north-4" | |||
| // 获取AK/SK参考: https://support.huaweicloud.com/devg-cci/cci_kubectl_01.html#cci_kubectl_01__section17023744719 | |||
| ak = "" | |||
| sk = "" | |||
| ak = "ATQTIWUT9K66VRMMXKVY" | |||
| sk = "Wa0aixDVuhZOfDZGWvgIJQBHnyiDlGdgDn1Ai5Yy" | |||
| DomainId = "" //账号ID,可以在我的凭证获取 | |||
| ProjectId = "" //项目ID,可以在我的凭证获取 | |||
| SecurityGroupID = "" //安全组ID,可以在安全组控制台获取 | |||
| AvailableZone = "" //az名称,例如cn-north-1a、cn-north-4a或cn-east-3a | |||
| VpcID = "" //虚拟私有云的ID,可在VPC控制台获取 | |||
| Cidr = "" //子网网段,例如192.168.128.0/18 | |||
| NetworkID = "" //<子网的网络ID,可在VPC控制台 > 子网中获取> | |||
| SubnetID = "" //<子网ID,可在VPC控制台 > 子网获取> | |||
| DomainId = "0a4e7f245680f3040fdfc011720e50a0" //账号ID,可以在我的凭证获取 | |||
| ProjectId = "0a62ffb0d48026c12fbfc011b8d23f0b" //项目ID,可以在我的凭证获取 | |||
| SecurityGroupID = "5157f1d1-fe7d-47a1-beaf-aee027b99755" //安全组ID,可以在安全组控制台获取 | |||
| AvailableZone = "cn-north-4a" //az名称,例如cn-north-1a、cn-north-4a或cn-east-3a | |||
| VpcID = "0333b519-7903-49e8-908e-ed56216fe921" //虚拟私有云的ID,可在VPC控制台获取 | |||
| Cidr = "10.0.0.0/10" //子网网段,例如192.168.128.0/18 | |||
| NetworkID = "2a14ac3f-07f7-4479-9930-3ea06a888f54" //<子网的网络ID,可在VPC控制台 > 子网中获取> | |||
| SubnetID = "0dea26d7-2544-424c-b7aa-620b206fce35" //<子网ID,可在VPC控制台 > 子网获取> | |||
| ) | |||
| // NewClient 通过AK/SK认证创建Clientset | |||
| @@ -19,7 +19,7 @@ limitations under the License. | |||
| package v1beta1 | |||
| import ( | |||
| networkingcciv1beta1 "PCM/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" | |||
| networkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" | |||
| discovery "k8s.io/client-go/discovery" | |||
| rest "k8s.io/client-go/rest" | |||
| flowcontrol "k8s.io/client-go/util/flowcontrol" | |||
| @@ -19,8 +19,8 @@ limitations under the License. | |||
| package v1beta1 | |||
| import ( | |||
| v1beta1 "PCM/huawei/pkg/apis/networking.cci.io/v1beta1" | |||
| "PCM/huawei/pkg/client/networking.cci.io/v1beta1/scheme" | |||
| v1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" | |||
| "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme" | |||
| rest "k8s.io/client-go/rest" | |||
| ) | |||
| @@ -2,7 +2,6 @@ package main | |||
| import ( | |||
| "fmt" | |||
| "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" | |||
| "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" | |||
| "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" | |||
| @@ -19,9 +18,21 @@ func main() { | |||
| cpf.HttpProfile.Endpoint = "tke.tencentcloudapi.com" | |||
| client, _ := tke.NewClient(credential, "ap-beijing", cpf) | |||
| request := tke.NewDescribeEKSContainerInstancesRequest() | |||
| var ( | |||
| name = "sds" | |||
| vpcId = "" | |||
| subnetId = "" | |||
| memory float64 = 4.00 | |||
| cpu float64 = 4.00 | |||
| ) | |||
| request := tke.NewCreateEKSContainerInstancesRequest() | |||
| request.EksCiName = &name | |||
| request.VpcId = &vpcId | |||
| request.SubnetId = &subnetId | |||
| request.Memory = &memory | |||
| request.Cpu = &cpu | |||
| response, err := client.DescribeEKSContainerInstances(request) | |||
| response, err := client.CreateEKSContainerInstances(request) | |||
| if _, ok := err.(*errors.TencentCloudSDKError); ok { | |||
| fmt.Printf("An API error has returned: %s", err) | |||
| return | |||
| @@ -1,63 +0,0 @@ | |||
| // This file is auto-generated, don't edit it. Thanks. | |||
| package main | |||
| import ( | |||
| "fmt" | |||
| openapi "github.com/alibabacloud-go/darabonba-openapi/client" | |||
| eci20180808 "github.com/alibabacloud-go/eci-20180808/v2/client" | |||
| "github.com/alibabacloud-go/tea/tea" | |||
| "os" | |||
| ) | |||
| /** | |||
| * 使用AK&SK初始化账号Client | |||
| * @param accessKeyId | |||
| * @param accessKeySecret | |||
| * @return Client | |||
| * @throws Exception | |||
| */ | |||
| func CreateClient(accessKeyId *string, accessKeySecret *string) (_result *eci20180808.Client, _err error) { | |||
| config := &openapi.Config{ | |||
| AccessKeyId: accessKeyId, | |||
| AccessKeySecret: accessKeySecret, | |||
| } | |||
| // 访问的域名 | |||
| config.Endpoint = tea.String("eci.aliyuncs.com") | |||
| _result = &eci20180808.Client{} | |||
| _result, _err = eci20180808.NewClient(config) | |||
| return _result, _err | |||
| } | |||
| func _main(args []*string) (_err error) { | |||
| client, _err := CreateClient(tea.String("LTAI4GKsRHtEqUu8bzq5dt6N"), tea.String("j96G9E2ijwpiN987VC03HmcFsaJngt")) | |||
| if _err != nil { | |||
| return _err | |||
| } | |||
| describeContainerGroupsRequest := &eci20180808.DescribeContainerGroupsRequest{ | |||
| OwnerAccount: tea.String("test"), | |||
| RegionId: tea.String("cn-hangzhou"), | |||
| } | |||
| //deleteContainerGroupRequest := &eci20180808.DeleteContainerGroupRequest{ | |||
| // ResourceOwnerAccount: tea.String("test"), | |||
| // ResourceOwnerId: tea.Int64(1), | |||
| // OwnerAccount: tea.String("test"), | |||
| // RegionId: tea.String("test"), | |||
| //} | |||
| // 复制代码运行请自行打印 API 的返回值 | |||
| _, _err = client.DescribeContainerGroups(describeContainerGroupsRequest) | |||
| //describeContainerGroupsResponse := client.DescribeContainerGroups(describeContainerGroupsRequest) | |||
| fmt.Println(_err) | |||
| if _err != nil { | |||
| return _err | |||
| } | |||
| return _err | |||
| } | |||
| func main() { | |||
| err := _main(tea.StringSlice(os.Args[1:])) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| } | |||
| @@ -1,211 +0,0 @@ | |||
| cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | |||
| github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= | |||
| github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= | |||
| github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.2 h1:/c6fLTlYKFd44Bx36A/cNuKekFzMqEPRc0QCLOC2Nok= | |||
| github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.2/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc= | |||
| github.com/alibabacloud-go/darabonba-openapi v0.1.4/go.mod h1:j03z4XUkIC9aBj/w5Bt7H0cygmPNt5sug8NXle68+Og= | |||
| github.com/alibabacloud-go/darabonba-openapi v0.1.14 h1:3bQEoqeO0ZvSor1n5uqkb4TiFNAd8XMFYeGFll75L/c= | |||
| github.com/alibabacloud-go/darabonba-openapi v0.1.14/go.mod h1:w4CosR7O/kapCtEEMBm3JsQqWBU/CnZ2o0pHorsTWDI= | |||
| github.com/alibabacloud-go/darabonba-string v1.0.0/go.mod h1:93cTfV3vuPhhEwGGpKKqhVW4jLe7tDpo3LUM0i0g6mA= | |||
| github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 h1:NqugFkGxx1TXSh/pBcU00Y6bljgDPaFdh5MUSeJ7e50= | |||
| github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68/go.mod h1:6pb/Qy8c+lqua8cFpEy7g39NRRqOWc3rOwAy8m5Y2BY= | |||
| github.com/alibabacloud-go/eci-20180808/v2 v2.0.2 h1:f/Wwe98HF5PsONuf8eG3iGEiGKHKecAH/2OgB3xkt08= | |||
| github.com/alibabacloud-go/eci-20180808/v2 v2.0.2/go.mod h1:LH8pT+lZjda2TtPnWTP+BI2p5Hl57vaLreqDJ7ZwrqU= | |||
| github.com/alibabacloud-go/endpoint-util v1.1.0 h1:r/4D3VSw888XGaeNpP994zDUaxdgTSHBbVfZlzf6b5Q= | |||
| github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= | |||
| github.com/alibabacloud-go/openapi-util v0.0.7/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= | |||
| github.com/alibabacloud-go/openapi-util v0.0.10 h1:wzTQc6ZSHhCI1FybUITHE26451zLgQAmYdTaMOUmoqE= | |||
| github.com/alibabacloud-go/openapi-util v0.0.10/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= | |||
| github.com/alibabacloud-go/tea v1.1.0/go.mod h1:IkGyUSX4Ba1V+k4pCtJUc6jDpZLFph9QMy2VUPTwukg= | |||
| github.com/alibabacloud-go/tea v1.1.7/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= | |||
| github.com/alibabacloud-go/tea v1.1.8/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= | |||
| github.com/alibabacloud-go/tea v1.1.11/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= | |||
| github.com/alibabacloud-go/tea v1.1.15/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= | |||
| github.com/alibabacloud-go/tea v1.1.17 h1:05R5DnaJXe9sCNIe8KUgWHC/z6w/VZIwczgUwzRnul8= | |||
| github.com/alibabacloud-go/tea v1.1.17/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= | |||
| github.com/alibabacloud-go/tea-utils v1.3.1/go.mod h1:EI/o33aBfj3hETm4RLiAxF/ThQdSngxrpF8rKUDJjPE= | |||
| github.com/alibabacloud-go/tea-utils v1.3.9/go.mod h1:EI/o33aBfj3hETm4RLiAxF/ThQdSngxrpF8rKUDJjPE= | |||
| github.com/alibabacloud-go/tea-utils v1.4.3 h1:8SzwmmRrOnQ09Hf5a9GyfJc0d7Sjv6fmsZoF4UDbFjo= | |||
| github.com/alibabacloud-go/tea-utils v1.4.3/go.mod h1:KNcT0oXlZZxOXINnZBs6YvgOd5aYp9U67G+E3R8fcQw= | |||
| github.com/aliyun/credentials-go v1.1.2 h1:qU1vwGIBb3UJ8BwunHDRFtAhS6jnQLnde/yk0+Ih2GY= | |||
| github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= | |||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | |||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | |||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | |||
| github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= | |||
| github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= | |||
| github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= | |||
| github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550 h1:mV9jbLoSW/8m4VK16ZkHTozJa8sesK5u5kTMFysTYac= | |||
| github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= | |||
| github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= | |||
| github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 h1:WSBJMqJbLxsn+bTCPyPYZfqHdJmc8MK4wrBjMft6BAM= | |||
| github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= | |||
| github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | |||
| github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= | |||
| github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | |||
| github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | |||
| github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= | |||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | |||
| github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= | |||
| github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= | |||
| github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | |||
| github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | |||
| github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k= | |||
| github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= | |||
| github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4= | |||
| github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | |||
| github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= | |||
| github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | |||
| github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= | |||
| github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | |||
| github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= | |||
| github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | |||
| github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q= | |||
| github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | |||
| github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= | |||
| github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= | |||
| github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= | |||
| github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= | |||
| github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | |||
| github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | |||
| github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= | |||
| github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= | |||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | |||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= | |||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | |||
| github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= | |||
| github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= | |||
| github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= | |||
| github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= | |||
| github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= | |||
| github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= | |||
| github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw= | |||
| github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | |||
| github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3 h1:EooPXg51Tn+xmWPXJUGCnJhJSpeuMlBmfJVcqIRmmv8= | |||
| github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= | |||
| github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= | |||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | |||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | |||
| github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= | |||
| github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= | |||
| github.com/smartystreets/assertions v1.1.0 h1:MkTeG1DMwsrdH7QtLXy5W+fUxWq+vmb6cLmyJ7aRtF0= | |||
| github.com/smartystreets/assertions v1.1.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= | |||
| github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= | |||
| github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= | |||
| github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4= | |||
| github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | |||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | |||
| github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= | |||
| github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | |||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | |||
| github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= | |||
| github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.359 h1:m7Ga+AAWcngpWVIU6TjtyJ2MZupZvyY4soTNKDYQVVs= | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.359/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.359 h1:cvkDE3dYXtjAvOP9KJrh5jsopkDd07pp2d66D9koAS8= | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.359/go.mod h1:ZoqSHQEcJqRnz4USj4vb5Ji48RnE09cmF08OMuNF+Ic= | |||
| github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= | |||
| github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= | |||
| github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |||
| github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |||
| golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | |||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | |||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | |||
| golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |||
| golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw= | |||
| golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |||
| golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | |||
| golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495 h1:I6A9Ag9FpEKOjcKrRNjQkPHawoXIhKyTGfvvjFAiiAk= | |||
| golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= | |||
| golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= | |||
| golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= | |||
| golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= | |||
| golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | |||
| golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | |||
| golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | |||
| golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | |||
| golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | |||
| golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | |||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | |||
| golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | |||
| golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | |||
| golang.org/x/net v0.0.0-20200506145744-7e3656a0809f h1:QBjCr1Fz5kw158VqdE9JfI9cJnl/ymnJWAdMuinqL7Y= | |||
| golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= | |||
| golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA= | |||
| golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | |||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
| golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
| golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= | |||
| golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
| golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | |||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | |||
| golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
| golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
| golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f h1:mOhmO9WsBaJCNmaZHPtHs9wOcdqdKCjF6OPJlmDM3KI= | |||
| golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | |||
| golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | |||
| golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= | |||
| golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | |||
| golang.org/x/time v0.0.0-20161028155119-f51c12702a4d h1:TnM+PKb3ylGmZvyPXmo9m/wktg7Jn/a/fNmr33HSj8g= | |||
| golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | |||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | |||
| golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | |||
| golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | |||
| golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | |||
| golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | |||
| golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5 h1:MeC2gMlMdkd67dn17MEby3rGXRxZtWeiRXOnISfTQ74= | |||
| golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= | |||
| golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
| golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= | |||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
| gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 h1:OB/uP/Puiu5vS5QMRPrXCDWUPb+kt8f1KW8oQzFejQw= | |||
| gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= | |||
| gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= | |||
| gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e h1:jRyg0XfpwWlhEV8mDfdNGBeSJM2fuyh9Yjrnd8kF2Ts= | |||
| gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= | |||
| google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | |||
| google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c= | |||
| google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | |||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |||
| gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= | |||
| gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |||
| gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= | |||
| gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= | |||
| gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o= | |||
| gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | |||
| gopkg.in/ini.v1 v1.56.0 h1:DPMeDvGTM54DXbPkVIZsp19fp/I2K7zwA/itHYHKo8Y= | |||
| gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= | |||
| gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= | |||
| gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= | |||
| gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |||
| gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= | |||
| gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | |||
| k8s.io/api v0.0.0-20190620084959-7cf5895f2711 h1:BblVYz/wE5WtBsD/Gvu54KyBUTJMflolzc5I2DTvh50= | |||
| k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A= | |||
| k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 h1:uV4S5IB5g4Nvi+TBVNf3e9L4wrirlwYJ6w88jUQxTUw= | |||
| k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA= | |||
| k8s.io/client-go v0.0.0-20190620085101-78d2af792bab h1:E8Fecph0qbNsAbijJJQryKu4Oi9QTp5cVpjTE+nqg6g= | |||
| k8s.io/client-go v0.0.0-20190620085101-78d2af792bab/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k= | |||
| k8s.io/code-generator v0.15.13-beta.0 h1:QgY+DuNWCXu/nXS9Ugi2LniVqlGludH8IJXzVRTBwmc= | |||
| k8s.io/code-generator v0.15.13-beta.0/go.mod h1:G8bQwmHm2eafm5bgtX67XDZQ8CWKSGu9DekI+yN4Y5I= | |||
| k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af h1:SwjZbO0u5ZuaV6TRMWOGB40iaycX8sbdMQHtjNZ19dk= | |||
| k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= | |||
| k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68= | |||
| k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= | |||
| k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 h1:TRb4wNWoBVrH9plmkp2q86FIDppkbrEXdXlxU3a3BMI= | |||
| k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= | |||
| k8s.io/utils v0.0.0-20190221042446-c2654d5206da h1:ElyM7RPonbKnQqOcw7dG2IK5uvQQn3b/WPHqD5mBvP4= | |||
| k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0= | |||
| modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= | |||
| modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= | |||
| modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= | |||
| modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= | |||
| modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= | |||
| sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= | |||
| sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= | |||
| @@ -1,63 +0,0 @@ | |||
| package main | |||
| import ( | |||
| "PCM/huawei/demos/deployment" | |||
| "PCM/huawei/demos/namespace" | |||
| "PCM/huawei/demos/network" | |||
| "PCM/huawei/pkg/auth/aksk" | |||
| "fmt" | |||
| ) | |||
| func main() { | |||
| // 有多种认证方式,具体请参考 | |||
| //《使用cci-iam-authenticator进行认证并创建client》,https://support.huaweicloud.com/sdkreference-cci/cci_09_0004.html | |||
| cs, err := aksk.NewClient() | |||
| networkCs, err := aksk.NewNetworkClient() | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("start to namespace created") | |||
| _, err = namespace.CreateNamespace(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("namespace created") | |||
| //Network为CRD对象,创建Network对象请参考 | |||
| //《使用client-go访问CCI的CRD资源Network》,https://support.huaweicloud.com/sdkreference-cci/cci_09_0004.html | |||
| //《Namespace和Network》,https://support.huaweicloud.com/devg-cci/cci_05_0023.html#section3 | |||
| fmt.Println("start to network created") | |||
| _, err = network.CreateNetwork(networkCs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("start to create deployment") | |||
| _, err = deployment.CreateDeployment(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("deployment created") | |||
| fmt.Println("start to get deployment details") | |||
| _, err = deployment.GetDeployment(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("deployment details got") | |||
| fmt.Println("start to delete deployment") | |||
| err = deployment.DeleteDeployment(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("deployment deleted") | |||
| fmt.Println("start to delete namespace") | |||
| err = namespace.DeleteNamespace(cs) | |||
| if err != nil { | |||
| panic(err) | |||
| } | |||
| fmt.Println("namespace terminating") | |||
| } | |||
| @@ -3,11 +3,10 @@ module PCM | |||
| go 1.17 | |||
| require ( | |||
| github.com/alibabacloud-go/darabonba-openapi v0.1.14 | |||
| github.com/alibabacloud-go/eci-20180808/v2 v2.0.2 | |||
| github.com/alibabacloud-go/tea v1.1.17 | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.359 | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.359 | |||
| github.com/Unknwon/goconfig v1.0.0 | |||
| github.com/aliyun/alibaba-cloud-sdk-go v1.61.1505 | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.360 | |||
| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.360 | |||
| k8s.io/api v0.0.0-20190620084959-7cf5895f2711 | |||
| k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 | |||
| k8s.io/client-go v0.0.0-20190620085101-78d2af792bab | |||
| @@ -15,28 +14,27 @@ require ( | |||
| ) | |||
| require ( | |||
| github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.2 // indirect | |||
| github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect | |||
| github.com/alibabacloud-go/endpoint-util v1.1.0 // indirect | |||
| github.com/alibabacloud-go/openapi-util v0.0.10 // indirect | |||
| github.com/alibabacloud-go/tea-utils v1.4.3 // indirect | |||
| github.com/aliyun/credentials-go v1.1.2 // indirect | |||
| github.com/davecgh/go-spew v1.1.1 // indirect | |||
| github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550 // indirect | |||
| github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 // indirect | |||
| github.com/golang/protobuf v1.2.0 // indirect | |||
| github.com/google/gofuzz v1.0.0 // indirect | |||
| github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d // indirect | |||
| github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect | |||
| github.com/imdario/mergo v0.3.5 // indirect | |||
| github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af // indirect | |||
| github.com/json-iterator/go v1.1.10 // indirect | |||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | |||
| github.com/modern-go/reflect2 v1.0.1 // indirect | |||
| github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect | |||
| github.com/smartystreets/assertions v1.1.0 // indirect | |||
| github.com/smartystreets/goconvey v1.6.4 // indirect | |||
| github.com/spf13/pflag v1.0.1 // indirect | |||
| github.com/tjfoc/gmsm v1.3.2 // indirect | |||
| golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 // indirect | |||
| golang.org/x/mod v0.2.0 // indirect | |||
| golang.org/x/net v0.0.0-20200506145744-7e3656a0809f // indirect | |||
| golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a // indirect | |||
| golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect | |||
| golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f // indirect | |||
| golang.org/x/text v0.3.2 // indirect | |||
| golang.org/x/time v0.0.0-20161028155119-f51c12702a4d // indirect | |||
| @@ -44,8 +42,9 @@ require ( | |||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect | |||
| gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485 // indirect | |||
| google.golang.org/appengine v1.5.0 // indirect | |||
| gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect | |||
| gopkg.in/inf.v0 v0.9.0 // indirect | |||
| gopkg.in/ini.v1 v1.56.0 // indirect | |||
| gopkg.in/ini.v1 v1.66.2 // indirect | |||
| gopkg.in/yaml.v2 v2.2.8 // indirect | |||
| k8s.io/gengo v0.0.0-20190116091435-f8a0810f38af // indirect | |||
| k8s.io/klog v0.3.1 // indirect | |||