云控制台api请求结构说明

云控制台API请求结构说明

云控制台API使用Restful风格的请求。请求结构包括请求方法、请求地址(URL)、公共请求参数和接口请求参数等组成。以下分别简单介绍各部分的结构和使用说明。

云控制台API请求使用UTF-8编码格式。

1. 请求方法

请求方法是指云控制台API调用时使用的HTTP方法。常见的HTTP方法包括GET、POST、PUT、DELETE等。云控制台API使用POST作为请求方法。

2. 请求地址

请求地址指调用云控制台API请求的URL路径。请求地址包括请求协议、服务地址(EndPoint)、API版本、产品/服务名称和操作类型。

请求地址的格式如下:

<请求协议>://<服务地址>/<API版本>/<产品/服务名称>/<操作类型>
  • 请求协议: 为了提高安全性,云控制台API的所有接口均通过HTTPS进行通信。
  • 服务地址: 云控制台API的服务地址(EndPoint)包括全局服务地址和区域服务地址。全局服务地址主要提供项目管理相关接口,区域服务地址主要提供云产品和云服务管理和使用的相关接口。关于服务地址的更多说明,请参见服务地址
  • API版本: 当前云控制台API版本为v1。
  • 产品与服务名称: 请参见产品与服务列表
  • 操作类型: 云控制台API根据不同的产品与服务提供了不同的操作类型,方便用户完成日常的产品与服务的管理和操作。具体的操作类型,请参见各个接口的详细接口说明。

以创建云主机为例,请求地址如下:

https://cn-east-1.api.yovole.com/v1/vm/create

3. 公共请求参数

在使用云控制台API发起请求时,需要提供签名信息、内容格式等公共请求参数。请参见公共请求参数

云控制台API中,公共请求参数以HTTP头(HTTP HEADER)的形式发送给服务器。

以创建云服务器为例,请求地址和公共请求参数为:

POST https://cn-east-1.api.yovole.com/v1/vm/create HTTP/1.1
  x-ycs-timestamp: 2019-06-19T14:26:26Z
  x-ycs-requestid: 2a49cfa2-925b-11e9-bb3a-6c96cfdcd6b9
  x-ycs-security-authorization: Authorization: YCS1-HMAC-SHA1 Credential=08e206fb-7b41-45b7-8076-8d43e8aeea89,SignedHeaders=content-type;x-ycs-requestid;x-ycs-timestamp,Signature=2RFjU7C9gICCrQfpAIfAJHqRRlQ=

4. 接口请求参数

接口请求参数包含了调用每个接口所需的所有信息。

接口请求参数的内容在每个API接口说明的请求参数中,以表格形式罗列说明。

云控制台API中,接口请求参数封装为JSON报文后以请求体(HTTP Body)的形式发送给服务器。

以创建云主机为例,请求参数如下:

参数名称 类型 是否必须 描述
projectId String 所属项目ID
name String 主机名称
feeType String 计费类型(按需计费:FEE_TYPE_NEED,包年包月:FEE_TYPE_MONTH_YEAR)
subnetId String 子网ID
securityGroupId String 安全组ID
imageId String 镜像ID
flavorId String FlavorID
sysDiskType String 系统盘类型(SSD,HDD)
sysDiskCapacity int 系统盘大小(G)
loginType String 登录方式(密码: PASSWORD, SSH密钥: SSHKEY),系统镜像非windows时可选SSH密钥
password String 登录方式是密码时必填,密码8-30位字符,需同时包含大小写、英文、数字,不能为键盘上连续3位及以上字符,不可包含空格及以下字符# $ % & * < >
sshKeyId String 登录方式是SSH密钥时必填
cycleCount int 计费类型是包年包月时必填,购买月数(1,2,3,4,5,6,7,8,9,12,24,36)个月
pgId String 安置组ID,安置组策略为集中式时,主机子网所在az与要和安置组az相匹配

请求体示例如下:

{
    "projectId":"8a83a0966a681da5016a874df50b10ce",
    "name":"API按需创建主机",
    "feeType":"FEE_TYPE_NEED",
    "subnetId":"98e6bf98-3283-4bed-80c8-2132a510aebb",
    "securityGroupId":"eb667f7f-a0d4-4cc5-908a-e4175c683030",
    "imageId":"centos-6.3-64",
    "flavorId":"ecs.c1.small",
    "sysDiskType":"HDD",
    "sysDiskCapacity": 20,
    "loginType":"PASSWORD",
    "password":"XXXXXXXXXXX"
}

个结果匹配 ""

    无结果匹配 ""