diff --git a/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefAction.java b/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefAction.java new file mode 100644 index 0000000000..8def583403 --- /dev/null +++ b/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefAction.java @@ -0,0 +1,107 @@ +package org.zstack.sdk; + +import java.util.HashMap; +import java.util.Map; +import org.zstack.sdk.*; + +public class UpdateVmInstancePciDeviceSpecRefAction extends AbstractAction { + + private static final HashMap parameterMap = new HashMap<>(); + + private static final HashMap nonAPIParameterMap = new HashMap<>(); + + public static class Result { + public ErrorCode error; + public org.zstack.sdk.UpdateVmInstancePciDeviceSpecRefResult value; + + public Result throwExceptionIfError() { + if (error != null) { + throw new ApiException( + String.format("error[code: %s, description: %s, details: %s, globalErrorCode: %s]", error.code, error.description, error.details, error.globalErrorCode) + ); + } + + return this; + } + } + + @Param(required = true, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String pciSpecUuid; + + @Param(required = true, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String vmInstanceUuid; + + @Param(required = true, nonempty = false, nullElements = false, emptyString = true, numberRange = {1L,100L}, noTrim = false) + public int pciDeviceNumber = 0; + + @Param(required = false) + public java.util.List systemTags; + + @Param(required = false) + public java.util.List userTags; + + @Param(required = false) + public String sessionId; + + @Param(required = false) + public String accessKeyId; + + @Param(required = false) + public String accessKeySecret; + + @Param(required = false) + public String requestIp; + + @NonAPIParam + public long timeout = -1; + + @NonAPIParam + public long pollingInterval = -1; + + + private Result makeResult(ApiResult res) { + Result ret = new Result(); + if (res.error != null) { + ret.error = res.error; + return ret; + } + + org.zstack.sdk.UpdateVmInstancePciDeviceSpecRefResult value = res.getResult(org.zstack.sdk.UpdateVmInstancePciDeviceSpecRefResult.class); + ret.value = value == null ? new org.zstack.sdk.UpdateVmInstancePciDeviceSpecRefResult() : value; + + return ret; + } + + public Result call() { + ApiResult res = ZSClient.call(this); + return makeResult(res); + } + + public void call(final Completion completion) { + ZSClient.call(this, new InternalCompletion() { + @Override + public void complete(ApiResult res) { + completion.complete(makeResult(res)); + } + }); + } + + protected Map getParameterMap() { + return parameterMap; + } + + protected Map getNonAPIParameterMap() { + return nonAPIParameterMap; + } + + protected RestInfo getRestInfo() { + RestInfo info = new RestInfo(); + info.httpMethod = "PUT"; + info.path = "/pci-device-specs/{pciSpecUuid}/vm-instances/{vmInstanceUuid}"; + info.needSession = true; + info.needPoll = true; + info.parameterName = "params"; + return info; + } + +} diff --git a/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefResult.java b/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefResult.java new file mode 100644 index 0000000000..cb771fa0a7 --- /dev/null +++ b/sdk/src/main/java/org/zstack/sdk/UpdateVmInstancePciDeviceSpecRefResult.java @@ -0,0 +1,14 @@ +package org.zstack.sdk; + +import org.zstack.sdk.VmInstancePciDeviceSpecRefInventory; + +public class UpdateVmInstancePciDeviceSpecRefResult { + public VmInstancePciDeviceSpecRefInventory inventory; + public void setInventory(VmInstancePciDeviceSpecRefInventory inventory) { + this.inventory = inventory; + } + public VmInstancePciDeviceSpecRefInventory getInventory() { + return this.inventory; + } + +}