本文介绍了如何通过无影云桌面Java SDK调用ModifyDesktopSpec变更一台按量付费云桌面的桌面规格。

前提条件

变更云桌面规格时,必须满足以下条件:
  • 如果待变更桌面是按量付费云桌面,则按量付费云桌面不能处于欠费状态。
  • 如果待变更桌面是包年包月云桌面,则包年包月云桌面不能处于过期状态。
  • 待变更云桌面状态必须处于已停止(Stopped)。

变更按量付费云桌面规格

以下代码适用于在中国杭州地域下,通过调用ModifyDesktopSpec将一台无影云桌面的实例规格变更为eds.enterprise_office.4c4g (企业办公型-4核4 G内存),系统盘变更为100 G,数据盘变更为100 G。

import com.aliyun.tea.*;
import com.aliyun.ecd20200930.*;
import com.aliyun.ecd20200930.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;
import com.aliyun.teautil.*;
import com.aliyun.teautil.models.*;

public class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.ecd20200930.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config()
                // 您的 AccessKey ID
                .setAccessKeyId(accessKeyId)
                // 您的 AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "ecd.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.ecd20200930.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        com.aliyun.ecd20200930.Client client = Sample.createClient("accessKeyId", "accessKeySecret");
        ModifyDesktopSpecRequest modifyDesktopSpecRequest = new ModifyDesktopSpecRequest()
                .setRegionId("cn-hangzhou")
                .setDesktopId("ecd-jc31jdxfcyv74****")
                .setDesktopType("eds.enterprise_office.4c4g")
                .setRootDiskSizeGib(100)
                .setUserDiskSizeGib(100);
        RuntimeOptions runtime = new RuntimeOptions();
        try {
            // 复制代码运行请自行打印 API 的返回值
            client.modifyDesktopSpecWithOptions(modifyDesktopSpecRequest, runtime);
        } catch (TeaException error) {
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 如有需要,请打印 error
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}
            

执行结果

返回结果如下所示:
{
  "RequestId": "3730271F-0C64-513E-9F6C-8A19143DB1D0"
}