NAV Navbar

Logo

shell

时速云开放 API 介绍

时速云 TenxCloud 全面开放容器云平台 API,以方便用户同时速云容器引擎进行集成、对接,在不操作控制台的情况下直接同时速云容器服务平台进行交互,自动化完成各种复杂的功能。

时速云 API 的地址为:

https://api.tenxcloud.com/

获取用户 API token

每个时速云的注册用户会自动获得用于访问时速云开放 API 的 token,登陆后通过右上角的用户名选择“我的帐户",然后在左侧导航中选择“开放 API”,即可查看系统分配的唯一的 48 位token,在调用 API 时用于身份认证。

接下来我们看一下如何使用 token 同 API 服务进行交互。

1. API 服务状态

1.1 API 健康状态

curl "https://api.tenxcloud.com"

返回如下信息表示 API 服务正常运行中

TenxCloud API service is running

该 API 返回服务的健康状态

HTTP Request

GET https://api.tenxcloud.com

2. 集群 API

2.1 可用集群列表

curl -H "username: <your-user-name>" -H "Authorization: token <your-api-token>" "https://api.tenxcloud.com/api/v2/clusters"

返回当前可用集群列表

{
  "listMeta": {
    "total": 1
  },
  "clusters": [
    {
      "clusterID": "CID-fab5b135e7b2",
      "clusterName": "华北地区(北京)",
      "...": "..."
    }
  ]
}

该 API 获取时速云平台可用的集群列表,主要使用 clusters 下对应集群的 clusterID 字段,用来进行后续 API 请求

HTTP Request

GET https://api.tenxcloud.com/api/v2/clusters

3. 应用 API

3.1 查看某集群的应用列表

curl -H "username: <your-user-name>" -H "Authorization: token <your-api-token>"  "https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/apps"

返回指定集群上该用户的应用列表

{ 
  "status": "Success",
  "code": 200,
  "data": {
    "apps": [
      {
        "name": "javaapp",
        "create_time": "2017-02-04T11:24:43+08:00",
        "description": "java app",
        "...": "..."
      }
      {
        "name": "aaabbb",
        "create_time": "2017-01-20T10:53:37+08:00",
        "description": "sdfsdf",
        "...": "..."
      }
    ],
    "total": 2
  }
}

该 API 获取指定集群的应用列表

HTTP Request

GET https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/apps

4. 服务 API

4.1 查看某集群的服务列表

curl -H "username: <your-user-name>" -H "Authorization: token <your-api-token>"  "https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services"

返回指定集群上该用户的服务列表

{
  "status": "Success",
  "code": 200,
  "data": {
    "services": [
      {
        "deployment": {
          "kubernetes_deployment_object": ""
        },
        "service": {
          "kubernetes_service_object": ""
        }
      },
      {
        "deployment": {
          "kubernetes_deployment_object": ""
        },
        "service": {
          "kubernetes_service_object": ""
        }
      }
    ],
    "total": 2
  }
}

该 API 获取指定集群的服务列表

HTTP Request

GET https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services

4.2 启动服务

curl -XPUT -H "username: <your-user-name>" -H "Authorization: token <your-api-token>"  "https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-start" -d '{"services": ["your-service-name"]}'

批量启动服务,services为数组格式,可以填写多个服务名

{
  "status": "Success",
  "code": 200,
  "data": ""
}

该 API 批量启动集群上指定的所有服务

HTTP Request

PUT https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-start

4.3 停止服务

curl -XPUT -H "username: <your-user-name>" -H "Authorization: token <your-api-token>"  "https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-stop" -d '{"services": ["your-service-name"]}'

批量停止服务,services为数组格式,可以填写多个服务名

{
  "status": "Success",
  "code": 200,
  "data": ""
}

该 API 批量停止集群上指定的所有服务

HTTP Request

PUT https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-stop

4.3 批量重启服务

curl -XPUT -H "username: <your-user-name>" -H "Authorization: token <your-api-token>"  "https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-restart" -d '{"services": ["your-service-name"]}'

批量重新启动服务,services为数组格式,可以填写多个服务名

{
  "status": "Success",
  "code": 200,
  "data": ""
}

该 API 批量重新启动集群上指定的所有服务

HTTP Request

PUT https://api.tenxcloud.com/api/v2/clusters/{cluster-id}/services/batch-restart

Errors

具体解释如下:

错误代码 解释
400 Bad Request – 请求格式错误
401 Unauthorized – 请求认证错误,token不正确或者没有权限进行该操作
403 Forbidden – 请求未授权,进行某操作时权限不足
404 Not Found – 没有找到指定对象
405 Method Not Allowed – 不允许该请求方法
406 Not Acceptable – 不接受该请求数据格式
410 Gone – 该请求已经被移除
429 Too Many Requests – 请求过于频繁,请稍候再试
500 Internal Server Error – 服务器错误,请稍候再试
503 Service Unavailable – 服务正处于维护中,暂时不可使用,请稍候再试