云硬盘创建

该接口通过鉴权接口颁发的token作为访问令牌,需保证实名验证通过的才能进行云硬盘创建,同一区域硬盘创建不能超过1000G ,每次创建硬盘大小不得小于20G。需确认余额充足必须满足扣费一小时。如创建硬盘并且同时需要挂载,需要从我的主机列表中取得主机ID。目前云硬盘订购类型仅支持’按量’ useType=0。挂载的主机必须是关机。主机从未开过机不支持挂载。挂载提交后为挂载中,待后台处理完成后扭转为使用中。每台主机挂载云硬盘的上限30。

1.接口描述

接口请求地址:POST v1/PveMachineHardDisk/open/create

2.输入参数

参数名称 描述 是否必选 类型 Location
Finovy-Access-Token 令牌-口令 yes string header
pveId 挂载的主机实例ID (主机'area'须跟上传'area'的保持一致) no string body
area 云硬盘区域 (0华南、1华西、2国际)(云硬盘'area'跟主机'area'须保持一致) yes int body
memory 内存,单位/G yes int body
isMount 是否挂载到主机(0:否、1:是) 选择挂载到主机 主机实例ID 必填 yes int body

3.输出参数

参数名称 描述 类型
data 云硬盘ID string

4.示例

示例1:请求成功示例

输入示例

GET https://client.xuandashi.com/v1/PveMachineHardDisk/open/create
Finovy-Access-Token: 4vL4rcNGNcgx5v0RLCcFew
<公共请求参数>
{
  "pveId":"teTapaSUFq",
  "area":1,
  "memory": 32,
  "isMount": 0
}

输出示例

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

5.错误码

错误码 错误描述 解决方案
1021 机器不存在 确认主机实例ID是否正确 ,请联系客服处理
1037 未进行实名认证 请完成实名认证
6003 钱包余额不足一小时 确保钱包余额充足
220009 主机未关机 先执行开机,开机关机后再进行挂载
220010 主机挂载硬盘限制 主机挂载硬盘限制超限,可以先卸载再进行挂载
220012 主机未开机 先执行开机,开机关机后再进行挂载
220013 云硬盘内存小于20G 创建云硬盘容量需要大于20G以上
220014 云硬盘内存大于最大限制 创建云硬盘容量需要小于20480G
220015 主机实例ID未传参 传入正确的主机实例ID
220016 主机实例不存在 从我的主机列表中取主机,没有主机先创建主机
220017 主机实例订购类型不是按量类型 选择正确的主机类型
220018 云硬盘和主机实例不在同一地区 确定主机区域与云硬盘区域,须保持一致
220020 创建云硬盘的购买数量参数错误 创建云硬盘的是否挂载主机参数错误
220025 创建硬盘请求超时 请求太过频繁,请稍后再试

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/PveMachineHardDisk/open/create");
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        httpConn.setRequestMethod("GET");

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

        httpConn.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
        writer.write("{ \"pveId\": \"teTapaSUFq\", \"area\": \"1\"\"memory\": 32}");
        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);
    }
}