创建按量主机

该接口通过鉴权接口颁发的token作为访问令牌,创建按量主机需要调用者知晓主机配置ID和镜像ID,主机配置ID可以在主机配置列表接口获取,镜像ID可以在镜像列表接口获取,在入参时需要注意主机配置的type需要和镜像的type需要保持一致。

1.接口描述

接口请求地址:POST v1/pve/open/createquantity

2.输入参数

参数名称 描述 是否必选 类型 Location
Finovy-Access-Token 令牌-口令 yes string header
packageId 主机配置ID(主机配置type需要和镜像type一致) yes string body
imageId 镜像ID(镜像type需要和主机配置type一致) yes string body

3.输出参数

详情可查看规范说明响应公共字段

参数名称 描述 类型
data 主机ID string

4.示例

示例1:请求成功示例

输入示例

POST v1/pve/open/createquantity / HTTP/1.1
Host: client.xuandashi.com
Content-Type: application/json
Finovy-Access-Token: 4vL4rcNGNcgx5v0RLCcFew
<公共请求参数>

{
  "packageId":"teTapaSUFq",
  "imageId":"507"
}

输出示例

{
    "code":0,
    "data":"dyMFQQgHIW",
    "msg":"success",
    "success":true,
    "traceId":"xxxxxxxxxxxxxx"
}

5.错误码

错误码 错误描述 解决方案
7005 主机配置类型与镜像类型不一致 确认主机配置类型与镜像类型是否一致
1037 未进行实名认证 请完成实名认证

6.Java请求示例

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main{
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://client.xuandashi.com/v1/pve/open/createquantity");
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        httpConn.setRequestMethod("POST");

        httpConn.setRequestProperty("Content-Type", "application/json");
        httpConn.setRequestProperty("Finovy-Access-Token", "3V41hUWEwlwKH44m7SpJOs");

        httpConn.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
        writer.write("{\"packageId\": \"teTapaSUFq\", \"imageId\": \"507\" }");
        writer.flush();
        writer.close();
        httpConn.getOutputStream().close();

        InputStream responseStream = httpConn.getResponseCode() / 100 == 2
                ? httpConn.getInputStream()
                : httpConn.getErrorStream();
        Scanner s = new Scanner(responseStream).useDelimiter("\\A");
        String response = s.hasNext() ? s.next() : "";
        System.out.println(response);
    }
}