diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java index b1bfcfbf6f5..73de7ff0a55 100755 --- a/api/src/org/apache/cloudstack/api/ApiConstants.java +++ b/api/src/org/apache/cloudstack/api/ApiConstants.java @@ -79,6 +79,7 @@ public class ApiConstants { public static final String END_IP = "endip"; public static final String END_IPV6 = "endipv6"; public static final String END_PORT = "endport"; + public static final String ENTITY = "entity"; public static final String ENTRY_TIME = "entrytime"; public static final String FETCH_LATEST = "fetchlatest"; public static final String FIRSTNAME = "firstname"; diff --git a/plugins/api/discovery/src/org/apache/cloudstack/api/response/ApiDiscoveryResponse.java b/plugins/api/discovery/src/org/apache/cloudstack/api/response/ApiDiscoveryResponse.java index ce7eb498be9..42615fb9240 100644 --- a/plugins/api/discovery/src/org/apache/cloudstack/api/response/ApiDiscoveryResponse.java +++ b/plugins/api/discovery/src/org/apache/cloudstack/api/response/ApiDiscoveryResponse.java @@ -50,6 +50,9 @@ public class ApiDiscoveryResponse extends BaseResponse { @SerializedName(ApiConstants.TYPE) @Param(description="response field type") private String type; + @SerializedName(ApiConstants.ENTITY) @Param(description="the entity/resource the API operates on") + private String entity; + public ApiDiscoveryResponse(){ params = new HashSet(); apiResponse = new HashSet(); @@ -84,7 +87,6 @@ public class ApiDiscoveryResponse extends BaseResponse { this.isAsync = isAsync; } - public boolean getAsync() { return isAsync; } @@ -112,4 +114,12 @@ public class ApiDiscoveryResponse extends BaseResponse { public void addApiResponse(ApiResponseResponse apiResponse) { this.apiResponse.add(apiResponse); } + + public String getEntity() { + return entity; + } + + public void setEntity(String entity) { + this.entity = entity; + } } diff --git a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java index 5be109e533b..83cc8c2006c 100755 --- a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java +++ b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java @@ -110,7 +110,8 @@ public class ApiDiscoveryServiceImpl extends ComponentLifecycleBase implements A responseApiNameListMap.get(responseName).add(apiName); } response.setRelated(responseName); - + String entity = apiCmdAnnotation.responseObject().getSimpleName(); + response.setEntity(entity.replaceAll("Response", "")); Field[] responseFields = apiCmdAnnotation.responseObject().getDeclaredFields(); for(Field responseField: responseFields) {