ccs

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2017 License: Apache-2.0 Imports: 5 Imported by: 0

README

Cloud Container Service API Calls

Documentation: https://cloud.tencent.com/document/api/457/9427

The following are examples of using tcpicli to issue API calls to CCS:

Query existing clusters per region (DescribeCluster)

Documentation: https://cloud.tencent.com/document/api/457/9448

tcpicli -vv ccs DescribeCluster Region=gz

Input:

{
  "Action": "DescribeCluster",
  "ClusterId": "cls-0shevcf0",
  "Region": "gz"
}

Output:

{
  "code": 0,
  "codedesc": "Success",
  "data": {
    "clusters": [
      {
        "clusterCIDR": "10.0.0.0/14",
        "clusterExternalEndpoint": "",
        "clusterId": "cls-0shevcf0",
        "clusterName": "jamesTest",
        "createdAt": "2017-09-26 12:53:51",
        "description": "",
        "k8sVersion": "1.4.6",
        "nodeNum": 2,
        "nodeStatus": "AllNormal",
        "openHttps": 1,
        "os": "ubuntu16.04.1 LTSx86_64",
        "projectId": 0,
        "region": "ap-guangzhou",
        "regionId": 1,
        "status": "Running",
        "totalCpu": 4,
        "totalMem": 8,
        "unVpcId": "vpc-12xvscaz",
        "updatedAt": "2017-09-26 12:58:02",
        "vpcId": 222312
      }
    ],
    "totalCount": 3
  },
  "message": ""
}
Query instances that are running in particular clusters (DescribeClusterInstances)

Documentation: https://cloud.tencent.com/document/api/457/9449

tcpicli -vv ccs DescribeClusterInstances Region=gz clusterId=cls-0shevcf0

Input:

{
  "Action": "DescribeCluster",
  "ClusterId": "cls-0shevcf0",
  "Region": "gz"
}

Output:

{
  "code": 0,
  "codedesc": "Success",
  "data": {
    "clusters": [
      {
        "clusterCIDR": "10.0.0.0/14",
        "clusterExternalEndpoint": "",
        "clusterId": "cls-0shevcf0",
        "clusterName": "jamesTest",
        "createdAt": "2017-09-26 12:53:51",
        "description": "",
        "k8sVersion": "1.4.6",
        "nodeNum": 2,
        "nodeStatus": "AllNormal",
        "openHttps": 1,
        "os": "ubuntu16.04.1 LTSx86_64",
        "projectId": 0,
        "region": "ap-guangzhou",
        "regionId": 1,
        "status": "Running",
        "totalCpu": 4,
        "totalMem": 8,
        "unVpcId": "vpc-12xvscaz",
        "updatedAt": "2017-09-26 12:58:02",
        "vpcId": 222312
      }
    ],
    "totalCount": 1
  },
  "message": ""
}
Create new cluster (CreateCluster)

CreateCluster API Documentation: https://cloud.tencent.com/document/api/457/9444 DescribeAvailibilityZones API Documentation (Relevant to cluster CVM configuration): https://cloud.tencent.com/document/api/213/1286

tcpicli -vv ccs CreateCluster Region=gz clusterName=jamesTest cpu=2 mem=4 "osName=ubuntu16.04.1 LTSx86_64" bandwidth=5 bandwidthType=PayByHour vpcId=vpc-12xvscaz zoneId=100002 subnetId=subnet-45a5fp4q isVpcGateway=1 storageSize=50 rootSize=50 goodsNum=2 clusterCIDR=10.0.0.0/14

Input:

{
  "Action": "CreateCluster",
  "Region": "gz",
  "bandwidth": "5",
  "bandwidthType": "PayByHour",
  "clusterCIDR": "10.0.0.0/14",
  "clusterName": "jamesTest",
  "cpu": "2",
  "goodsNum": "2",
  "isVpcGateway": "1",
  "mem": "4",
  "osName": "ubuntu16.04.1 LTSx86_64",
  "rootSize": "50",
  "storageSize": "50",
  "subnetId": "subnet-45a5fp4q",
  "vpcId": "vpc-12xvscaz",
  "zoneId": "100002"
}

Output:

{
  "code": 0,
  "codeDesc": "Success",
  "data": {
    "clusterId": "cls-8rzaq0eu",
    "requestId": 2946
  },
  "message": ""
}
Delete cluster (DeleteCluster)

tcpicli -vv ccs DeleteCluster Region=gz clusterId=cls-0shevcf0

Input:

{
  "Action": "DeleteCluster",
  "Region": "gz",
  "clusterId": "cls-0shevcf0"
}

Output:

{
  "code": 0,
  "codeDesc": "Success",
  "data": {
    "requestId": 2945
  },
  "message": ""
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DoAction

func DoAction(action string, options ...string) ([]byte, error)

Types

type CreateClusterServiceResp

type CreateClusterServiceResp struct {
	Code     int         `json:"code"`
	CodeDesc string      `json:"codeDesc"`
	Data     interface{} `json:"data"`
	Message  string      `json:"message"`
}

func CreateClusterService

func CreateClusterService(options ...string) (*CreateClusterServiceResp, error)

type DeleteClusterServiceResp

type DeleteClusterServiceResp struct {
	Code     int         `json:"code"`
	CodeDesc string      `json:"codeDesc"`
	Data     interface{} `json:"data,omitempty"`
	Message  string      `json:"message"`
}

type DescribeClusterInstancesData

type DescribeClusterInstancesData struct {
	Nodes      []DescribeClusterInstancesNodes `json:"message"`
	TotalCount int                             `json:"totalCount"`
}

type DescribeClusterInstancesNodes

type DescribeClusterInstancesNodes struct {
	AbnormalReason       string `json:"abnormalReason"`
	Cpu                  int    `json:"cpu"`
	CreatedAt            string `json:"createdAt"`
	CvmPayMode           int    `json:"cvmPayMode"`
	CvmState             int    `json:"cvmState"`
	InstanceCreateTime   string `json:"instanceCreateTime"`
	InstanceDeadlineTime string `json:"instanceDeadlineTime"`
	InstanceId           string `json:"instanceId"`
	InstanceName         string `json:"instanceName"`
	InstanceType         string `json:"instanceType"`
	IsNormal             int    `json:"isNormal"`
	KernelVersion        string `json:"kernelVersion"`
	LanIp                string `json:"lanIp"`
	Mem                  int    `json:"mem"`
	NetworkPayMode       int    `json:"networkPayMode"`
	OsImage              string `json:"osImage"`
	PodCidr              string `json:"podCidr"`
	Unschedulable        bool   `json:"unschedulable"`
	WanIp                string `json:"wanIp"`
	Zone                 string `json:"zone"`
	ZoneId               string `json:"zoneId"`
}

type DescribeClusterResp

type DescribeClusterResp struct {
	Code     int    `json:"code"`
	Codedesc string `json:"codedesc"`
	Data     struct {
		Clusters []struct {
			ClusterCIDR             string `json:"clusterCIDR"`
			ClusterExternalEndpoint string `json:"clusterExternalEndpoint"`
			ClusterID               string `json:"clusterId"`
			ClusterName             string `json:"clusterName"`
			CreatedAt               string `json:"createdAt"`
			Description             string `json:"description"`
			K8SVersion              string `json:"k8sVersion"`
			NodeNum                 int    `json:"nodeNum"`
			NodeStatus              string `json:"nodeStatus"`
			OpenHTTPS               int    `json:"openHttps"`
			Os                      string `json:"os"`
			ProjectID               int    `json:"projectId"`
			Region                  string `json:"region"`
			RegionID                int    `json:"regionId"`
			Status                  string `json:"status"`
			TotalCPU                int    `json:"totalCpu"`
			TotalMem                int    `json:"totalMem"`
			UnVpcID                 string `json:"unVpcId"`
			UpdatedAt               string `json:"updatedAt"`
			VpcID                   int    `json:"vpcId"`
		} `json:"clusters"`
		TotalCount int `json:"totalCount"`
	} `json:"data"`
	Message string `json:"message"`
}

func DescribeCluster

func DescribeCluster(options ...string) (*DescribeClusterResp, error)

type DescribeServiceInstanceResp

type DescribeServiceInstanceResp struct {
	Code     int    `json:"code"`
	CodeDesc string `json:"codeDesc"`
	Data     struct {
		Instances []struct {
			Containers []struct {
				ContainerID string `json:"containerId"`
				Image       string `json:"image"`
				Name        string `json:"name"`
				Reason      string `json:"reason"`
				Status      string `json:"status"`
			} `json:"containers"`
			CreatedAt    string `json:"createdAt"`
			IP           string `json:"ip"`
			Name         string `json:"name"`
			NodeIP       string `json:"nodeIp"`
			NodeName     string `json:"nodeName"`
			ReadyCount   int    `json:"readyCount"`
			Reason       string `json:"reason"`
			RestartCount int    `json:"restartCount"`
			SrcReason    string `json:"srcReason"`
			Status       string `json:"status"`
		} `json:"instances"`
		TotalCount int `json:"totalCount"`
	} `json:"data"`
	Message string `json:"message"`
}

type ModifyClusterServiceResp

type ModifyClusterServiceResp struct {
	Code     int    `json:"code"`
	CodeDesc string `json:"codeDesc"`
	Message  string `json:"message"`
}

func ModifyClusterService

func ModifyClusterService(options ...string) (*ModifyClusterServiceResp, error)

type RespAddClusterInstances

type RespAddClusterInstances struct {
	Code     int                         `json:"code"`
	CodeDesc string                      `json:"codeDesc"`
	Data     RespAddClusterInstancesData `json:"data"`
	Message  string                      `json:"message"`
}

AddClusterInstances

func AddClusterInstances

func AddClusterInstances(region ...string) (*RespAddClusterInstances, error)

type RespAddClusterInstancesData

type RespAddClusterInstancesData struct {
	InstanceIds []string `json:"instanceIds"`
	RequestId   int      `json:"requestId"`
}

type RespCreateCluster

type RespCreateCluster struct {
	Code     int                   `json:"code"`
	CodeDesc string                `json:"codedesc"`
	Data     RespCreateClusterData `json:"data"`
	Message  string                `json:"message"`
}

CreateCluster

func CreateCluster

func CreateCluster(region ...string) (*RespCreateCluster, error)

type RespCreateClusterData

type RespCreateClusterData struct {
	ClusterId string `json:"clusterId"`
	RequestId int    `json:"requestId"`
}

type RespDeleteCluster

type RespDeleteCluster struct {
	Code     int                   `json:"code"`
	CodeDesc string                `json:"codedesc"`
	Data     RespDeleteClusterData `json:"data"`
}

DeleteCluster

func DeleteCluster

func DeleteCluster(options ...string) (*RespDeleteCluster, error)

type RespDeleteClusterData

type RespDeleteClusterData struct {
	RequestId int `json:"requestId"`
}

type RespDescribeClusterInstances

type RespDescribeClusterInstances struct {
	Code     int                          `json:"code"`
	CodeDesc string                       `json:"codeDesc"`
	Data     DescribeClusterInstancesData `json:"data"`
	Message  string                       `json:"message"`
}

DescribeClusterInstances

func DescribeClusterInstances

func DescribeClusterInstances(options ...string) (*RespDescribeClusterInstances, error)

type RespDescribeClusterService

type RespDescribeClusterService struct {
	Code     int    `json:"code"`
	CodeDesc string `json:"codeDesc"`
	Data     struct {
		Services []struct {
			AccessType      string `json:"accessType"`
			CreatedAt       string `json:"createdAt"`
			CurrentReplicas int    `json:"currentReplicas"`
			DesiredReplicas int    `json:"desiredReplicas"`
			ExternalIP      string `json:"externalIp"`
			Labels          struct {
				QcloudApp string `json:"qcloud-app"`
			} `json:"labels"`
			LbID      string `json:"lbId"`
			LbStatus  string `json:"lbStatus"`
			Namespace string `json:"namespace"`
			ReasonMap struct {
				NAMING_FAILED int `json:"容器运行中"`
			} `json:"reasonMap"`
			ServiceIP    string `json:"serviceIp"`
			ServiceName  string `json:"serviceName"`
			SrcReasonMap struct {
				ContainerRunning int `json:"container running"`
			} `json:"srcReasonMap"`
			Status    string `json:"status"`
			SysLabels struct {
				QcloudApp string `json:"qcloud-app"`
			} `json:"sysLabels"`
			UserLabels struct {
			} `json:"userLabels"`
		} `json:"services"`
		TotalCount int `json:"totalCount"`
	} `json:"data"`
	Message string `json:"message"`
}

func DescribeClusterService

func DescribeClusterService(region ...string) (*RespDescribeClusterService, error)

type RespDescribeClusterServiceInfo

type RespDescribeClusterServiceInfo struct {
	Code     int    `json:"code"`
	CodeDesc string `json:"codeDesc"`
	Data     struct {
		Service struct {
			AccessType string `json:"accessType"`
			Containers []struct {
				Arguments     interface{} `json:"arguments"`
				Command       string      `json:"command"`
				ContainerName string      `json:"containerName"`
				CPU           int         `json:"cpu"`
				Envs          []struct {
					Name  string `json:"name"`
					Value string `json:"value"`
				} `json:"envs"`
				Image        string      `json:"image"`
				LiveProbe    interface{} `json:"liveProbe"`
				Memory       int         `json:"memory"`
				Privileged   bool        `json:"privileged"`
				ReadyProbe   interface{} `json:"readyProbe"`
				UnHubID      string      `json:"unHubId"`
				VolumeMounts interface{} `json:"volumeMounts"`
				WorkingDir   string      `json:"workingDir"`
			} `json:"containers"`
			CreatedAt       string `json:"createdAt"`
			CurrentReplicas int    `json:"currentReplicas"`
			DesiredReplicas int    `json:"desiredReplicas"`
			ExternalIP      string `json:"externalIp"`
			Labels          struct {
				QcloudApp string `json:"qcloud-app"`
			} `json:"labels"`
			LbID         string `json:"lbId"`
			LbStatus     string `json:"lbStatus"`
			Namespace    string `json:"namespace"`
			PortMappings []struct {
				ContainerPort int    `json:"containerPort"`
				LbPort        int    `json:"lbPort"`
				NodePort      int    `json:"nodePort"`
				Protocol      string `json:"protocol"`
			} `json:"portMappings"`
			ReasonMap struct {
				NAMING_FAILED int `json:"容器运行中"`
			} `json:"reasonMap"`
			RegionID int `json:"regionId"`
			Selector struct {
				QcloudApp string `json:"qcloud-app"`
			} `json:"selector"`
			ServiceDesc  string `json:"serviceDesc"`
			ServiceIP    string `json:"serviceIp"`
			ServiceName  string `json:"serviceName"`
			SrcReasonMap struct {
				ContainerRunning int `json:"container running"`
			} `json:"srcReasonMap"`
			Status    string `json:"status"`
			Strategy  string `json:"strategy"`
			SubnetID  string `json:"subnetId"`
			SysLabels struct {
				QcloudApp string `json:"qcloud-app"`
			} `json:"sysLabels"`
			UserLabels struct {
			} `json:"userLabels"`
			Volumes []interface{} `json:"volumes"`
		} `json:"service"`
	} `json:"data"`
	Message string `json:"message"`
}

func DescribeClusterServiceInfo

func DescribeClusterServiceInfo(region ...string) (*RespDescribeClusterServiceInfo, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL