Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
package org.zstack.sdk.zwatch.liverecovery.api;

import java.util.HashMap;
import java.util.Map;
import org.zstack.sdk.*;

public class PushLiveRecoveryAlertEventAction extends AbstractAction {

private static final HashMap<String, Parameter> parameterMap = new HashMap<>();

private static final HashMap<String, Parameter> nonAPIParameterMap = new HashMap<>();

public static class Result {
public ErrorCode error;
public org.zstack.sdk.zwatch.liverecovery.api.PushLiveRecoveryAlertResult value;

public Result throwExceptionIfError() {
if (error != null) {
throw new ApiException(
String.format("error[code: %s, description: %s, details: %s]", error.code, error.description, error.details)
);
}

return this;
}
}

@Param(required = true, maxLength = 64, nonempty = false, nullElements = false, emptyString = true, noTrim = false)
public java.lang.String sourceUuid;

@Param(required = true, maxLength = 65535, nonempty = false, nullElements = false, emptyString = true, noTrim = false)
public java.lang.String payloadJson;

@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.zwatch.liverecovery.api.PushLiveRecoveryAlertResult value = res.getResult(org.zstack.sdk.zwatch.liverecovery.api.PushLiveRecoveryAlertResult.class);
ret.value = value == null ? new org.zstack.sdk.zwatch.liverecovery.api.PushLiveRecoveryAlertResult() : value;

return ret;
}

public Result call() {
ApiResult res = ZSClient.call(this);
return makeResult(res);
}

public void call(final Completion<Result> completion) {
ZSClient.call(this, new InternalCompletion() {
@Override
public void complete(ApiResult res) {
completion.complete(makeResult(res));
}
});
}

protected Map<String, Parameter> getParameterMap() {
return parameterMap;
}

protected Map<String, Parameter> getNonAPIParameterMap() {
return nonAPIParameterMap;
}

protected RestInfo getRestInfo() {
RestInfo info = new RestInfo();
info.httpMethod = "POST";
info.path = "/zwatch/live-recovery/alert-events";
info.needSession = true;
info.needPoll = true;
info.parameterName = "params";
return info;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.zstack.sdk.zwatch.liverecovery.api;



public class PushLiveRecoveryAlertResult {
public java.lang.String remoteEventId;
public void setRemoteEventId(java.lang.String remoteEventId) {
this.remoteEventId = remoteEventId;
}
public java.lang.String getRemoteEventId() {
return this.remoteEventId;
}

public java.lang.String remoteAlertId;
public void setRemoteAlertId(java.lang.String remoteAlertId) {
this.remoteAlertId = remoteAlertId;
}
public java.lang.String getRemoteAlertId() {
return this.remoteAlertId;
}

}
27 changes: 27 additions & 0 deletions testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -42640,6 +42640,33 @@ abstract class ApiHelper {
}


def pushLiveRecoveryAlertEvent(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.zwatch.liverecovery.api.PushLiveRecoveryAlertEventAction.class) Closure c) {
def a = new org.zstack.sdk.zwatch.liverecovery.api.PushLiveRecoveryAlertEventAction()
a.sessionId = Test.currentEnvSpec?.session?.uuid
c.resolveStrategy = Closure.OWNER_FIRST
c.delegate = a
c()


if (System.getProperty("apipath") != null) {
if (a.apiId == null) {
a.apiId = Platform.uuid
}

def tracker = new ApiPathTracker(a.apiId)
def out = errorOut(a.call())
def path = tracker.getApiPath()
if (!path.isEmpty()) {
Test.apiPaths[a.class.name] = path.join(" --->\n")
}

return out
} else {
return errorOut(a.call())
}
}


def addThirdpartyPlatform(@DelegatesTo(strategy = Closure.OWNER_FIRST, value = org.zstack.sdk.zwatch.thirdparty.api.AddThirdpartyPlatformAction.class) Closure c) {
def a = new org.zstack.sdk.zwatch.thirdparty.api.AddThirdpartyPlatformAction()
a.sessionId = Test.currentEnvSpec?.session?.uuid
Expand Down