卸载/销毁云硬盘

1.该接口通过鉴权接口颁发的token作为访问令牌。2.卸载云硬盘-云硬盘必须是使用中状态才能卸载,云硬盘所挂载的云主机必须是关机状态下才能进行卸载。3.销毁云硬盘-云硬盘必须是待挂载状态才能销毁,云硬盘所挂载的云主机必须是关机状态下才能进行销毁。该接口的返回值不代表卸载/销毁成功,需要根据云硬盘列表接口查询云硬盘状态判断是否成功。

1.接口描述

接口请求地址:PUT v1/PveMachineHardDisk/open/updateStatus

2.输入参数

参数名称 描述 是否必选 类型 Location
Finovy-Access-Token 令牌-口令 yes string header
id 云硬盘ID yes string body
status 0:卸载云硬盘,5:销毁云硬盘 yes string body

3.输出参数

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

4.示例

示例1:请求成功示例

输入示例

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

{
  "id":"SDJFHZb125863",
  "status":"0"
}

输出示例

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

5.错误码

错误码 错误描述 解决方案
220001 云硬盘不存在 确保云硬盘ID正确
220006 硬盘已卸载 硬盘已卸载
220007 卸载失败 卸载失败,请重试,重试多次不成功,请联系客服处理
220009 主机未关机 操作云硬盘需要提前先关机
220016 主机实例不存在 确保主机正确
220022 云盘状态为待挂载才可以销毁退还 需要将该硬盘的状态扭转待挂载

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/updateStatus");
        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("{\"id\": \"SDJFHZb125863\", \"status\": \"0\" }");
        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);
    }
}