diff --git a/api/src/com/cloud/api/response/AccountResponse.java b/api/src/com/cloud/api/response/AccountResponse.java
index ae85734d9e0..1d9de5c4229 100755
--- a/api/src/com/cloud/api/response/AccountResponse.java
+++ b/api/src/com/cloud/api/response/AccountResponse.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/AlertResponse.java b/api/src/com/cloud/api/response/AlertResponse.java
index f5cc39ba0f1..52c56b9abab 100644
--- a/api/src/com/cloud/api/response/AlertResponse.java
+++ b/api/src/com/cloud/api/response/AlertResponse.java
@@ -21,7 +21,7 @@ import java.util.Date;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/AsyncJobResponse.java b/api/src/com/cloud/api/response/AsyncJobResponse.java
index 466c3dc42eb..beecea198f4 100644
--- a/api/src/com/cloud/api/response/AsyncJobResponse.java
+++ b/api/src/com/cloud/api/response/AsyncJobResponse.java
@@ -22,7 +22,7 @@ import java.util.Date;
import org.apache.log4j.Logger;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.ResponseObject;
import com.cloud.async.AsyncJob;
import com.cloud.serializer.Param;
diff --git a/api/src/com/cloud/api/response/BaseResponse.java b/api/src/com/cloud/api/response/BaseResponse.java
index 94908f0330e..a696aafa551 100755
--- a/api/src/com/cloud/api/response/BaseResponse.java
+++ b/api/src/com/cloud/api/response/BaseResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.ResponseObject;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/CapacityResponse.java b/api/src/com/cloud/api/response/CapacityResponse.java
index d2a14bfb8c2..776c7b23ba4 100755
--- a/api/src/com/cloud/api/response/CapacityResponse.java
+++ b/api/src/com/cloud/api/response/CapacityResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/CloudIdentifierResponse.java b/api/src/com/cloud/api/response/CloudIdentifierResponse.java
index 62b1e6903e3..c3b84a2d86c 100644
--- a/api/src/com/cloud/api/response/CloudIdentifierResponse.java
+++ b/api/src/com/cloud/api/response/CloudIdentifierResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ClusterResponse.java b/api/src/com/cloud/api/response/ClusterResponse.java
index 3aab11ed918..7f33e9c564b 100755
--- a/api/src/com/cloud/api/response/ClusterResponse.java
+++ b/api/src/com/cloud/api/response/ClusterResponse.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.Parameter;
import com.cloud.api.BaseCmd.CommandType;
import com.cloud.serializer.Param;
diff --git a/api/src/com/cloud/api/response/CreateCmdResponse.java b/api/src/com/cloud/api/response/CreateCmdResponse.java
index fbc4d898eb0..6c30297c456 100644
--- a/api/src/com/cloud/api/response/CreateCmdResponse.java
+++ b/api/src/com/cloud/api/response/CreateCmdResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.google.gson.annotations.SerializedName;
public class CreateCmdResponse extends BaseResponse {
diff --git a/api/src/com/cloud/api/response/DiskOfferingResponse.java b/api/src/com/cloud/api/response/DiskOfferingResponse.java
index 43f1a2214fd..7f605936818 100644
--- a/api/src/com/cloud/api/response/DiskOfferingResponse.java
+++ b/api/src/com/cloud/api/response/DiskOfferingResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/DomainResponse.java b/api/src/com/cloud/api/response/DomainResponse.java
index 87a3e87f485..b5998496a4d 100644
--- a/api/src/com/cloud/api/response/DomainResponse.java
+++ b/api/src/com/cloud/api/response/DomainResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/DomainRouterResponse.java b/api/src/com/cloud/api/response/DomainRouterResponse.java
index 80f55b3e9b4..0bb2b55fcbd 100644
--- a/api/src/com/cloud/api/response/DomainRouterResponse.java
+++ b/api/src/com/cloud/api/response/DomainRouterResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.cloud.vm.VirtualMachine.State;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/EventResponse.java b/api/src/com/cloud/api/response/EventResponse.java
index 0f02d4bf899..7e5e9f6a761 100644
--- a/api/src/com/cloud/api/response/EventResponse.java
+++ b/api/src/com/cloud/api/response/EventResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.event.Event;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ExtractResponse.java b/api/src/com/cloud/api/response/ExtractResponse.java
index 34d026fb57c..3bf148deca8 100755
--- a/api/src/com/cloud/api/response/ExtractResponse.java
+++ b/api/src/com/cloud/api/response/ExtractResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/F5LoadBalancerResponse.java b/api/src/com/cloud/api/response/F5LoadBalancerResponse.java
index 47e9b97e7f5..6b4e8b20924 100644
--- a/api/src/com/cloud/api/response/F5LoadBalancerResponse.java
+++ b/api/src/com/cloud/api/response/F5LoadBalancerResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/FirewallResponse.java b/api/src/com/cloud/api/response/FirewallResponse.java
index 9d4a5848941..f9e64f5dd0e 100644
--- a/api/src/com/cloud/api/response/FirewallResponse.java
+++ b/api/src/com/cloud/api/response/FirewallResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/FirewallRuleResponse.java b/api/src/com/cloud/api/response/FirewallRuleResponse.java
index c3dd438e5c3..b6fa7aedcd6 100644
--- a/api/src/com/cloud/api/response/FirewallRuleResponse.java
+++ b/api/src/com/cloud/api/response/FirewallRuleResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/GuestOSCategoryResponse.java b/api/src/com/cloud/api/response/GuestOSCategoryResponse.java
index e15d6f81702..c2b562b5954 100644
--- a/api/src/com/cloud/api/response/GuestOSCategoryResponse.java
+++ b/api/src/com/cloud/api/response/GuestOSCategoryResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/GuestOSResponse.java b/api/src/com/cloud/api/response/GuestOSResponse.java
index c142a297f57..2c801d85f59 100644
--- a/api/src/com/cloud/api/response/GuestOSResponse.java
+++ b/api/src/com/cloud/api/response/GuestOSResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/HostResponse.java b/api/src/com/cloud/api/response/HostResponse.java
index 3c6bcdcccf2..3aceaa866c9 100755
--- a/api/src/com/cloud/api/response/HostResponse.java
+++ b/api/src/com/cloud/api/response/HostResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.host.Host;
import com.cloud.host.Status;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
diff --git a/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java b/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java
index 7bef42f4e8b..c1cbc5de760 100644
--- a/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java
+++ b/api/src/com/cloud/api/response/HypervisorCapabilitiesResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/IPAddressResponse.java b/api/src/com/cloud/api/response/IPAddressResponse.java
index b78c16ead2d..bb1d68aa12c 100644
--- a/api/src/com/cloud/api/response/IPAddressResponse.java
+++ b/api/src/com/cloud/api/response/IPAddressResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/InstanceGroupResponse.java b/api/src/com/cloud/api/response/InstanceGroupResponse.java
index bdacd0940f8..ba1e2d6357c 100644
--- a/api/src/com/cloud/api/response/InstanceGroupResponse.java
+++ b/api/src/com/cloud/api/response/InstanceGroupResponse.java
@@ -21,7 +21,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/IpForwardingRuleResponse.java b/api/src/com/cloud/api/response/IpForwardingRuleResponse.java
index b4d7444ad7e..aba9f53a004 100644
--- a/api/src/com/cloud/api/response/IpForwardingRuleResponse.java
+++ b/api/src/com/cloud/api/response/IpForwardingRuleResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/IsoVmResponse.java b/api/src/com/cloud/api/response/IsoVmResponse.java
new file mode 100755
index 00000000000..809358c3be5
--- /dev/null
+++ b/api/src/com/cloud/api/response/IsoVmResponse.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
+ *
+ * This software is licensed under the GNU General Public License v3 or later.
+ *
+ * It is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+package com.cloud.api.response;
+
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+
+public class IsoVmResponse extends BaseResponse {
+ @SerializedName("id") @Param(description="the ISO ID")
+ private IdentityProxy id = new IdentityProxy("vm_template");
+
+ @SerializedName("name") @Param(description="the ISO name")
+ private String name;
+
+ @SerializedName("displaytext") @Param(description="the ISO display text")
+ private String displayText;
+
+ @SerializedName("bootable") @Param(description="true if the ISO is bootable, false otherwise")
+ private Boolean bootable;
+
+ @SerializedName("isfeatured") @Param(description="true if this template is a featured template, false otherwise")
+ private Boolean featured;
+
+ @SerializedName("ostypeid") @Param(description="the ID of the OS type for this template.")
+ private IdentityProxy osTypeId = new IdentityProxy("guest_os");
+
+ @SerializedName("ostypename") @Param(description="the name of the OS type for this template.")
+ private String osTypeName;
+
+ @SerializedName("virtualmachineid") @Param(description="id of the virtual machine")
+ private IdentityProxy virtualMachineId = new IdentityProxy("vm_instance");
+
+ @SerializedName("vmname") @Param(description="name of the virtual machine")
+ private String virtualMachineName;
+
+ @SerializedName("vmdisplayname") @Param(description="display name of the virtual machine")
+ private String virtualMachineDisplayName;
+
+ @SerializedName("vmstate") @Param(description="state of the virtual machine")
+ private String virtualMachineState;
+
+
+ public Long getOsTypeId() {
+ return osTypeId.getValue();
+ }
+
+ public void setOsTypeId(Long osTypeId) {
+ this.osTypeId.setValue(osTypeId);
+ }
+
+ public String getOsTypeName() {
+ return osTypeName;
+ }
+
+ public void setOsTypeName(String osTypeName) {
+ this.osTypeName = osTypeName;
+ }
+
+ public Long getId() {
+ return id.getValue();
+ }
+
+ public void setId(Long id) {
+ this.id.setValue(id);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDisplayText() {
+ return displayText;
+ }
+
+ public void setDisplayText(String displayText) {
+ this.displayText = displayText;
+ }
+
+ public Boolean isBootable() {
+ return bootable;
+ }
+
+ public void setBootable(Boolean bootable) {
+ this.bootable = bootable;
+ }
+
+ public Boolean isFeatured() {
+ return featured;
+ }
+
+ public void setFeatured(Boolean featured) {
+ this.featured = featured;
+ }
+
+ public Long getVirtualMachineId() {
+ return virtualMachineId.getValue();
+ }
+
+ public void setVirtualMachineId(Long virtualMachineId) {
+ this.virtualMachineId.setValue(virtualMachineId);
+ }
+
+ public String getVirtualMachineName() {
+ return virtualMachineName;
+ }
+
+ public void setVirtualMachineName(String virtualMachineName) {
+ this.virtualMachineName = virtualMachineName;
+ }
+
+ public String getVirtualMachineDisplayName() {
+ return virtualMachineDisplayName;
+ }
+
+ public void setVirtualMachineDisplayName(String virtualMachineDisplayName) {
+ this.virtualMachineDisplayName = virtualMachineDisplayName;
+ }
+
+ public String getVirtualMachineState() {
+ return virtualMachineState;
+ }
+
+ public void setVirtualMachineState(String virtualMachineState) {
+ this.virtualMachineState = virtualMachineState;
+ }
+}
diff --git a/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java b/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java
index 94030f47fae..431d27c0b1b 100644
--- a/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java
+++ b/api/src/com/cloud/api/response/LBStickinessPolicyResponse.java
@@ -17,7 +17,7 @@
*/
package com.cloud.api.response;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.network.rules.StickinessPolicy;
import com.cloud.serializer.Param;
import com.cloud.utils.Pair;
diff --git a/api/src/com/cloud/api/response/LBStickinessResponse.java b/api/src/com/cloud/api/response/LBStickinessResponse.java
index 0d9943fc10e..18e8ca90d1d 100644
--- a/api/src/com/cloud/api/response/LBStickinessResponse.java
+++ b/api/src/com/cloud/api/response/LBStickinessResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/LoadBalancerResponse.java b/api/src/com/cloud/api/response/LoadBalancerResponse.java
index 7323f024e18..40bce06f35c 100644
--- a/api/src/com/cloud/api/response/LoadBalancerResponse.java
+++ b/api/src/com/cloud/api/response/LoadBalancerResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java b/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
index dc1cc0454ef..299ffe310db 100644
--- a/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
+++ b/api/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/NetworkOfferingResponse.java b/api/src/com/cloud/api/response/NetworkOfferingResponse.java
index 2a2be209e8e..01c1267839d 100644
--- a/api/src/com/cloud/api/response/NetworkOfferingResponse.java
+++ b/api/src/com/cloud/api/response/NetworkOfferingResponse.java
@@ -22,7 +22,7 @@ import java.util.Date;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/NetworkResponse.java b/api/src/com/cloud/api/response/NetworkResponse.java
index 329f1d2ef67..ca49e9b915b 100644
--- a/api/src/com/cloud/api/response/NetworkResponse.java
+++ b/api/src/com/cloud/api/response/NetworkResponse.java
@@ -21,7 +21,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/NicResponse.java b/api/src/com/cloud/api/response/NicResponse.java
index c9524cc164d..b93b9982847 100755
--- a/api/src/com/cloud/api/response/NicResponse.java
+++ b/api/src/com/cloud/api/response/NicResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/PhysicalNetworkResponse.java b/api/src/com/cloud/api/response/PhysicalNetworkResponse.java
index 65ab22985e5..30f6975e086 100644
--- a/api/src/com/cloud/api/response/PhysicalNetworkResponse.java
+++ b/api/src/com/cloud/api/response/PhysicalNetworkResponse.java
@@ -21,7 +21,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/PodResponse.java b/api/src/com/cloud/api/response/PodResponse.java
index c25e0ea1f95..a5a88cfab0a 100755
--- a/api/src/com/cloud/api/response/PodResponse.java
+++ b/api/src/com/cloud/api/response/PodResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ProjectAccountResponse.java b/api/src/com/cloud/api/response/ProjectAccountResponse.java
index 374b99df2bb..14827feaf21 100644
--- a/api/src/com/cloud/api/response/ProjectAccountResponse.java
+++ b/api/src/com/cloud/api/response/ProjectAccountResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ProjectInvitationResponse.java b/api/src/com/cloud/api/response/ProjectInvitationResponse.java
index 15655f98501..e2725086847 100644
--- a/api/src/com/cloud/api/response/ProjectInvitationResponse.java
+++ b/api/src/com/cloud/api/response/ProjectInvitationResponse.java
@@ -1,7 +1,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ProjectResponse.java b/api/src/com/cloud/api/response/ProjectResponse.java
index 4459cad0555..d7a621f23b7 100644
--- a/api/src/com/cloud/api/response/ProjectResponse.java
+++ b/api/src/com/cloud/api/response/ProjectResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ProviderResponse.java b/api/src/com/cloud/api/response/ProviderResponse.java
index b94d9ab3971..5703b0faee1 100644
--- a/api/src/com/cloud/api/response/ProviderResponse.java
+++ b/api/src/com/cloud/api/response/ProviderResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java b/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java
index 0d03cf87313..e18096b5f17 100644
--- a/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java
+++ b/api/src/com/cloud/api/response/RemoteAccessVpnResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ResourceCountResponse.java b/api/src/com/cloud/api/response/ResourceCountResponse.java
index 2948a5c36b5..40c850e8bac 100644
--- a/api/src/com/cloud/api/response/ResourceCountResponse.java
+++ b/api/src/com/cloud/api/response/ResourceCountResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ResourceLimitResponse.java b/api/src/com/cloud/api/response/ResourceLimitResponse.java
index 96aaa8a707a..0ee9585a78d 100644
--- a/api/src/com/cloud/api/response/ResourceLimitResponse.java
+++ b/api/src/com/cloud/api/response/ResourceLimitResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SecurityGroupResponse.java b/api/src/com/cloud/api/response/SecurityGroupResponse.java
index b7e00617813..e7a8617694f 100644
--- a/api/src/com/cloud/api/response/SecurityGroupResponse.java
+++ b/api/src/com/cloud/api/response/SecurityGroupResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java b/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java
index 319a4b561c8..106ec617071 100644
--- a/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java
+++ b/api/src/com/cloud/api/response/SecurityGroupRuleResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ServiceOfferingResponse.java b/api/src/com/cloud/api/response/ServiceOfferingResponse.java
index 3f5b8ec456e..d44d1ed4c97 100644
--- a/api/src/com/cloud/api/response/ServiceOfferingResponse.java
+++ b/api/src/com/cloud/api/response/ServiceOfferingResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SnapshotPolicyResponse.java b/api/src/com/cloud/api/response/SnapshotPolicyResponse.java
index af6ff04b473..49b0c6de370 100644
--- a/api/src/com/cloud/api/response/SnapshotPolicyResponse.java
+++ b/api/src/com/cloud/api/response/SnapshotPolicyResponse.java
@@ -17,7 +17,7 @@
*/
package com.cloud.api.response;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SnapshotResponse.java b/api/src/com/cloud/api/response/SnapshotResponse.java
index c38b426913f..3506f9a6802 100644
--- a/api/src/com/cloud/api/response/SnapshotResponse.java
+++ b/api/src/com/cloud/api/response/SnapshotResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.cloud.storage.Snapshot;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SnapshotScheduleResponse.java b/api/src/com/cloud/api/response/SnapshotScheduleResponse.java
index 15679cde62c..d19327e5dbe 100644
--- a/api/src/com/cloud/api/response/SnapshotScheduleResponse.java
+++ b/api/src/com/cloud/api/response/SnapshotScheduleResponse.java
@@ -19,7 +19,7 @@ package com.cloud.api.response;
import java.util.Date;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SrxFirewallResponse.java b/api/src/com/cloud/api/response/SrxFirewallResponse.java
index b39160aa3ca..3cbba2d1657 100644
--- a/api/src/com/cloud/api/response/SrxFirewallResponse.java
+++ b/api/src/com/cloud/api/response/SrxFirewallResponse.java
@@ -19,7 +19,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java
index db8dfe123ef..a8fdfb9ceb9 100755
--- a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java
+++ b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java
@@ -1,7 +1,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/StoragePoolResponse.java b/api/src/com/cloud/api/response/StoragePoolResponse.java
index a75888665de..494befbda60 100755
--- a/api/src/com/cloud/api/response/StoragePoolResponse.java
+++ b/api/src/com/cloud/api/response/StoragePoolResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.cloud.storage.StoragePoolStatus;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SwiftResponse.java b/api/src/com/cloud/api/response/SwiftResponse.java
index d5bbbd0a890..b7973b63347 100755
--- a/api/src/com/cloud/api/response/SwiftResponse.java
+++ b/api/src/com/cloud/api/response/SwiftResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SystemVmInstanceResponse.java b/api/src/com/cloud/api/response/SystemVmInstanceResponse.java
index b308380d42e..54327daf614 100644
--- a/api/src/com/cloud/api/response/SystemVmInstanceResponse.java
+++ b/api/src/com/cloud/api/response/SystemVmInstanceResponse.java
@@ -17,7 +17,7 @@
*/
package com.cloud.api.response;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/SystemVmResponse.java b/api/src/com/cloud/api/response/SystemVmResponse.java
index 84900902795..db68c371bc1 100644
--- a/api/src/com/cloud/api/response/SystemVmResponse.java
+++ b/api/src/com/cloud/api/response/SystemVmResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/TemplatePermissionsResponse.java b/api/src/com/cloud/api/response/TemplatePermissionsResponse.java
index d0789c9a574..1365a07fb64 100644
--- a/api/src/com/cloud/api/response/TemplatePermissionsResponse.java
+++ b/api/src/com/cloud/api/response/TemplatePermissionsResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/TemplateResponse.java b/api/src/com/cloud/api/response/TemplateResponse.java
index 2bb77ff3b08..11f5730157b 100755
--- a/api/src/com/cloud/api/response/TemplateResponse.java
+++ b/api/src/com/cloud/api/response/TemplateResponse.java
@@ -21,7 +21,7 @@ import java.util.Date;
import java.util.Map;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.cloud.storage.Storage.ImageFormat;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/TrafficTypeResponse.java b/api/src/com/cloud/api/response/TrafficTypeResponse.java
index 53867cef694..d0b1adfbf01 100644
--- a/api/src/com/cloud/api/response/TrafficTypeResponse.java
+++ b/api/src/com/cloud/api/response/TrafficTypeResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/UpgradeVmResponse.java b/api/src/com/cloud/api/response/UpgradeVmResponse.java
index 29e298d08a5..62dd1bcaadb 100644
--- a/api/src/com/cloud/api/response/UpgradeVmResponse.java
+++ b/api/src/com/cloud/api/response/UpgradeVmResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/UserResponse.java b/api/src/com/cloud/api/response/UserResponse.java
index 5be473ae676..ce023566c69 100644
--- a/api/src/com/cloud/api/response/UserResponse.java
+++ b/api/src/com/cloud/api/response/UserResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/UserVmResponse.java b/api/src/com/cloud/api/response/UserVmResponse.java
index a7eef6215f5..a415e552b78 100755
--- a/api/src/com/cloud/api/response/UserVmResponse.java
+++ b/api/src/com/cloud/api/response/UserVmResponse.java
@@ -21,7 +21,7 @@ import java.util.Date;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java b/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java
index 034559c0379..0b3caa4804c 100644
--- a/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java
+++ b/api/src/com/cloud/api/response/VirtualRouterProviderResponse.java
@@ -1,7 +1,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/VlanIpRangeResponse.java b/api/src/com/cloud/api/response/VlanIpRangeResponse.java
index e6708393fc7..c3eea8e0063 100644
--- a/api/src/com/cloud/api/response/VlanIpRangeResponse.java
+++ b/api/src/com/cloud/api/response/VlanIpRangeResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/VolumeResponse.java b/api/src/com/cloud/api/response/VolumeResponse.java
index 30fb2e4a821..171f9a1599d 100755
--- a/api/src/com/cloud/api/response/VolumeResponse.java
+++ b/api/src/com/cloud/api/response/VolumeResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.Date;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/VpnUsersResponse.java b/api/src/com/cloud/api/response/VpnUsersResponse.java
index 18b12c9d011..32da9c474a4 100644
--- a/api/src/com/cloud/api/response/VpnUsersResponse.java
+++ b/api/src/com/cloud/api/response/VpnUsersResponse.java
@@ -18,7 +18,7 @@
package com.cloud.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/api/response/ZoneResponse.java b/api/src/com/cloud/api/response/ZoneResponse.java
index d8f8a6fbb31..474a3f40842 100755
--- a/api/src/com/cloud/api/response/ZoneResponse.java
+++ b/api/src/com/cloud/api/response/ZoneResponse.java
@@ -20,7 +20,7 @@ package com.cloud.api.response;
import java.util.List;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/api/src/com/cloud/exception/CloudException.java b/api/src/com/cloud/exception/CloudException.java
new file mode 100644
index 00000000000..f0b3114329c
--- /dev/null
+++ b/api/src/com/cloud/exception/CloudException.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (C) 2011 Citrix Systems, Inc. All rights reserved
+ *
+ * This software is licensed under the GNU General Public License v3 or later.
+ *
+ * It is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+package com.cloud.exception;
+
+import com.cloud.utils.IdentityProxy;
+
+/**
+ * CloudException is a generic exception class that has an IdentityProxy
+ * object in it to enable on the fly conversion of database ids to uuids
+ * by the API response serializer. Any exceptions that are thrown by
+ * command invocations must extend this class, or the RuntimeCloudException
+ * class, which extends RuntimeException instead of Exception like this
+ * class does.
+ */
+
+public class CloudException extends Exception {
+
+ IdentityProxy id;
+
+ public CloudException(String table_name, Long id) {
+ this.id = new IdentityProxy();
+ this.id.setTableName(table_name);
+ this.id.setValue(id);
+ }
+
+ public CloudException(String message) {
+ super(message);
+ }
+
+ public CloudException() {
+ //this.id = new IdentityProxy(); ??
+ //this.id = NULL; ??
+ }
+
+}
diff --git a/api/src/com/cloud/exception/RuntimeCloudException.java b/api/src/com/cloud/exception/RuntimeCloudException.java
new file mode 100644
index 00000000000..79761637157
--- /dev/null
+++ b/api/src/com/cloud/exception/RuntimeCloudException.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (C) 2011 Citrix Systems, Inc. All rights reserved
+ *
+ * This software is licensed under the GNU General Public License v3 or later.
+ *
+ * It is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+package com.cloud.exception;
+
+import com.cloud.utils.IdentityProxy;
+
+/**
+ * CloudException is a generic exception class that has an IdentityProxy
+ * object in it to enable on the fly conversion of database ids to uuids
+ * by the API response serializer. Any exceptions that are thrown by
+ * command invocations must extend this class, or the RuntimeCloudException
+ * class, which extends RuntimeException instead of Exception like this
+ * class does.
+ */
+
+public class RuntimeCloudException extends RuntimeException {
+
+ IdentityProxy id;
+
+ public RuntimeCloudException(String table_name, Long id) {
+ this.id = new IdentityProxy();
+ this.id.setTableName(table_name);
+ this.id.setValue(id);
+ }
+
+ public RuntimeCloudException(String message) {
+ super(message);
+ }
+
+ public RuntimeCloudException() {
+ //this.id = new IdentityProxy(); ??
+ //this.id = NULL; ??
+ }
+
+}
diff --git a/server/src/com/cloud/api/ApiGsonHelper.java b/server/src/com/cloud/api/ApiGsonHelper.java
index a52dcfcbe39..80eaf474b2d 100644
--- a/server/src/com/cloud/api/ApiGsonHelper.java
+++ b/server/src/com/cloud/api/ApiGsonHelper.java
@@ -18,7 +18,8 @@
package com.cloud.api;
-import com.google.gson.GsonBuilder;
+import com.google.gson.GsonBuilder;
+import com.cloud.utils.IdentityProxy;
public class ApiGsonHelper {
private static final GsonBuilder s_gBuilder;
diff --git a/server/src/com/cloud/api/ApiResponseGsonHelper.java b/server/src/com/cloud/api/ApiResponseGsonHelper.java
index 10c3a762fed..e92b4d1e2f6 100644
--- a/server/src/com/cloud/api/ApiResponseGsonHelper.java
+++ b/server/src/com/cloud/api/ApiResponseGsonHelper.java
@@ -25,6 +25,7 @@
package com.cloud.api;
import com.google.gson.GsonBuilder;
+import com.cloud.utils.IdentityProxy;
public class ApiResponseGsonHelper {
private static final GsonBuilder s_gBuilder;
diff --git a/server/src/com/cloud/api/IdentityTypeAdapter.java b/server/src/com/cloud/api/IdentityTypeAdapter.java
index e66ce984f83..34d632a12e1 100644
--- a/server/src/com/cloud/api/IdentityTypeAdapter.java
+++ b/server/src/com/cloud/api/IdentityTypeAdapter.java
@@ -30,6 +30,8 @@ import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
+import com.cloud.utils.IdentityProxy;
+
public class IdentityTypeAdapter implements JsonSerializer, JsonDeserializer {
diff --git a/server/src/com/cloud/api/response/ApiResponseSerializer.java b/server/src/com/cloud/api/response/ApiResponseSerializer.java
index 1c8473eb37b..920ce58799f 100644
--- a/server/src/com/cloud/api/response/ApiResponseSerializer.java
+++ b/server/src/com/cloud/api/response/ApiResponseSerializer.java
@@ -35,7 +35,7 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.ApiResponseGsonHelper;
import com.cloud.api.ApiServer;
import com.cloud.api.BaseCmd;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.ResponseObject;
import com.cloud.utils.encoding.URLEncoder;
import com.cloud.utils.exception.CloudRuntimeException;
diff --git a/server/src/com/cloud/baremetal/DhcpServerResponse.java b/server/src/com/cloud/baremetal/DhcpServerResponse.java
index 0dec6e79641..71ffc6a8041 100644
--- a/server/src/com/cloud/baremetal/DhcpServerResponse.java
+++ b/server/src/com/cloud/baremetal/DhcpServerResponse.java
@@ -20,7 +20,7 @@
package com.cloud.baremetal;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/baremetal/PxeServerResponse.java b/server/src/com/cloud/baremetal/PxeServerResponse.java
index 65c4dbe97ed..35ca0d159e1 100644
--- a/server/src/com/cloud/baremetal/PxeServerResponse.java
+++ b/server/src/com/cloud/baremetal/PxeServerResponse.java
@@ -20,7 +20,7 @@
package com.cloud.baremetal;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java b/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java
index 51f8f7dd1ee..064ba81a441 100644
--- a/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java
+++ b/server/src/com/cloud/server/api/response/BaremetalTemplateResponse.java
@@ -1,6 +1,6 @@
package com.cloud.server.api.response;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java b/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java
index 297a84be780..59712b5132a 100644
--- a/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java
+++ b/server/src/com/cloud/server/api/response/ExternalFirewallResponse.java
@@ -20,7 +20,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java b/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java
index 623bb85973d..20bbe89b2ec 100644
--- a/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java
+++ b/server/src/com/cloud/server/api/response/ExternalLoadBalancerResponse.java
@@ -20,7 +20,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java b/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java
index 11947897e33..a4497a5297b 100644
--- a/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java
+++ b/server/src/com/cloud/server/api/response/NetworkDeviceResponse.java
@@ -1,7 +1,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java b/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java
index 90e4dc04101..f03a1ccee6f 100644
--- a/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java
+++ b/server/src/com/cloud/server/api/response/NwDevicePxeServerResponse.java
@@ -1,7 +1,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java b/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java
index e1bd53302bc..ad5e28b8c6d 100644
--- a/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java
+++ b/server/src/com/cloud/server/api/response/TrafficMonitorResponse.java
@@ -20,7 +20,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.serializer.Param;
import com.google.gson.annotations.SerializedName;
diff --git a/server/src/com/cloud/server/api/response/UsageRecordResponse.java b/server/src/com/cloud/server/api/response/UsageRecordResponse.java
index 9ad62ba624d..f6d1d7e836d 100644
--- a/server/src/com/cloud/server/api/response/UsageRecordResponse.java
+++ b/server/src/com/cloud/server/api/response/UsageRecordResponse.java
@@ -20,7 +20,7 @@
package com.cloud.server.api.response;
import com.cloud.api.ApiConstants;
-import com.cloud.api.IdentityProxy;
+import com.cloud.utils.IdentityProxy;
import com.cloud.api.response.BaseResponse;
import com.cloud.api.response.ControlledEntityResponse;
import com.cloud.serializer.Param;
diff --git a/api/src/com/cloud/api/IdentityProxy.java b/utils/src/com/cloud/utils/IdentityProxy.java
similarity index 94%
rename from api/src/com/cloud/api/IdentityProxy.java
rename to utils/src/com/cloud/utils/IdentityProxy.java
index 11f0e79ba4c..77b0b58a9ff 100644
--- a/api/src/com/cloud/api/IdentityProxy.java
+++ b/utils/src/com/cloud/utils/IdentityProxy.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*
*/
-package com.cloud.api;
+package com.cloud.utils;
public class IdentityProxy {
private String _tableName;