This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch 4.19
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.19 by this push:
     new de3537c98a3 Added domain path to all entities (#9540)
de3537c98a3 is described below

commit de3537c98a3d479ad6715255a80a391c08cef908
Author: Harikrishna <[email protected]>
AuthorDate: Mon Aug 26 14:34:00 2024 +0530

    Added domain path to all entities (#9540)
---
 .../org/apache/cloudstack/affinity/AffinityGroupResponse.java    | 9 +++++++++
 .../apache/cloudstack/api/command/user/vpn/AddVpnUserCmd.java    | 1 +
 .../apache/cloudstack/api/response/AcquireIPAddressResponse.java | 9 +++++++++
 .../cloudstack/api/response/ApplicationLoadBalancerResponse.java | 9 +++++++++
 .../apache/cloudstack/api/response/AutoScalePolicyResponse.java  | 9 +++++++++
 .../apache/cloudstack/api/response/AutoScaleVmGroupResponse.java | 9 +++++++++
 .../cloudstack/api/response/AutoScaleVmProfileResponse.java      | 8 ++++++++
 .../java/org/apache/cloudstack/api/response/BucketResponse.java  | 9 +++++++++
 .../org/apache/cloudstack/api/response/ConditionResponse.java    | 9 +++++++++
 .../apache/cloudstack/api/response/ControlledEntityResponse.java | 2 ++
 .../cloudstack/api/response/ControlledViewEntityResponse.java    | 2 ++
 .../org/apache/cloudstack/api/response/DomainRouterResponse.java | 8 ++++++++
 .../java/org/apache/cloudstack/api/response/EventResponse.java   | 9 +++++++++
 .../cloudstack/api/response/GlobalLoadBalancerResponse.java      | 9 +++++++++
 .../apache/cloudstack/api/response/GuestVlanRangeResponse.java   | 8 ++++++++
 .../org/apache/cloudstack/api/response/GuestVlanResponse.java    | 8 ++++++++
 .../org/apache/cloudstack/api/response/IPAddressResponse.java    | 8 ++++++++
 .../apache/cloudstack/api/response/InstanceGroupResponse.java    | 9 +++++++++
 .../org/apache/cloudstack/api/response/LoadBalancerResponse.java | 9 +++++++++
 .../java/org/apache/cloudstack/api/response/NetworkResponse.java | 1 +
 .../org/apache/cloudstack/api/response/OvsProviderResponse.java  | 8 ++++++++
 .../apache/cloudstack/api/response/PrivateGatewayResponse.java   | 8 ++++++++
 .../apache/cloudstack/api/response/ProjectAccountResponse.java   | 9 +++++++++
 .../cloudstack/api/response/ProjectInvitationResponse.java       | 9 +++++++++
 .../apache/cloudstack/api/response/RemoteAccessVpnResponse.java  | 8 ++++++++
 .../apache/cloudstack/api/response/ResourceCountResponse.java    | 9 +++++++++
 .../apache/cloudstack/api/response/ResourceLimitResponse.java    | 8 ++++++++
 .../org/apache/cloudstack/api/response/ResourceTagResponse.java  | 9 +++++++++
 .../apache/cloudstack/api/response/SecurityGroupResponse.java    | 9 +++++++++
 .../api/response/Site2SiteCustomerGatewayResponse.java           | 9 +++++++++
 .../cloudstack/api/response/Site2SiteVpnConnectionResponse.java  | 9 +++++++++
 .../cloudstack/api/response/Site2SiteVpnGatewayResponse.java     | 8 ++++++++
 .../org/apache/cloudstack/api/response/SnapshotResponse.java     | 9 +++++++++
 .../org/apache/cloudstack/api/response/StaticRouteResponse.java  | 8 ++++++++
 .../org/apache/cloudstack/api/response/TemplateResponse.java     | 9 +++++++++
 .../org/apache/cloudstack/api/response/UsageRecordResponse.java  | 8 ++++++++
 .../org/apache/cloudstack/api/response/UserDataResponse.java     | 9 +++++++++
 .../java/org/apache/cloudstack/api/response/UserVmResponse.java  | 8 ++++++++
 .../org/apache/cloudstack/api/response/VMSnapshotResponse.java   | 9 +++++++++
 .../cloudstack/api/response/VirtualRouterProviderResponse.java   | 8 ++++++++
 .../org/apache/cloudstack/api/response/VlanIpRangeResponse.java  | 9 +++++++++
 .../java/org/apache/cloudstack/api/response/VolumeResponse.java  | 9 +++++++++
 .../java/org/apache/cloudstack/api/response/VpcResponse.java     | 9 +++++++++
 .../org/apache/cloudstack/api/response/VpnUsersResponse.java     | 9 +++++++++
 .../cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java   | 1 +
 .../cloudstack/api/response/KubernetesClusterResponse.java       | 8 ++++++++
 .../network/contrail/api/response/ServiceInstanceResponse.java   | 8 ++++++++
 server/src/main/java/com/cloud/api/ApiResponseHelper.java        | 9 +++++++++
 .../java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java    | 1 +
 .../java/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java  | 1 +
 .../com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java    | 1 +
 .../java/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java     | 1 +
 .../main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java   | 3 +++
 .../src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 1 +
 54 files changed, 386 insertions(+)

diff --git 
a/api/src/main/java/org/apache/cloudstack/affinity/AffinityGroupResponse.java 
b/api/src/main/java/org/apache/cloudstack/affinity/AffinityGroupResponse.java
index 22842b834fe..6cda8d07bd8 100644
--- 
a/api/src/main/java/org/apache/cloudstack/affinity/AffinityGroupResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/affinity/AffinityGroupResponse.java
@@ -56,6 +56,10 @@ public class AffinityGroupResponse extends BaseResponse 
implements ControlledVie
     @Param(description = "the domain name of the affinity group")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the affinity group belongs to", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.PROJECT_ID)
     @Param(description = "the project ID of the affinity group")
     private String projectId;
@@ -115,6 +119,11 @@ public class AffinityGroupResponse extends BaseResponse 
implements ControlledVie
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/command/user/vpn/AddVpnUserCmd.java
 
b/api/src/main/java/org/apache/cloudstack/api/command/user/vpn/AddVpnUserCmd.java
index f3b452008c9..8f0fb7bc096 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/user/vpn/AddVpnUserCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/user/vpn/AddVpnUserCmd.java
@@ -133,6 +133,7 @@ public class AddVpnUserCmd extends BaseAsyncCreateCmd {
         if (domain != null) {
             vpnResponse.setDomainId(domain.getUuid());
             vpnResponse.setDomainName(domain.getName());
+            vpnResponse.setDomainPath(domain.getPath());
         }
 
         vpnResponse.setResponseName(getCommandName());
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/AcquireIPAddressResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/AcquireIPAddressResponse.java
index 7270fa949c8..06351a40d9d 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/AcquireIPAddressResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/AcquireIPAddressResponse.java
@@ -75,6 +75,10 @@ public class AcquireIPAddressResponse  extends BaseResponse 
implements Controlle
  @Param(description = "the domain the public IP address is associated with")
  private String domainName;
 
+ @SerializedName(ApiConstants.DOMAIN_PATH)
+ @Param(description = "path of the domain to which the public IP address 
belongs", since = "4.19.2.0")
+ private String domainPath;
+
  @SerializedName(ApiConstants.FOR_VIRTUAL_NETWORK)
  @Param(description = "the virtual network for the IP address")
  private Boolean forVirtualNetwork;
@@ -190,6 +194,11 @@ public class AcquireIPAddressResponse  extends 
BaseResponse implements Controlle
      this.domainName = domainName;
  }
 
+ @Override
+ public void setDomainPath(String domainPath) {
+  this.domainPath = domainPath;
+ }
+
  public void setForVirtualNetwork(Boolean forVirtualNetwork) {
      this.forVirtualNetwork = forVirtualNetwork;
  }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ApplicationLoadBalancerResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ApplicationLoadBalancerResponse.java
index 53e3f868a3b..0b6485bfc14 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ApplicationLoadBalancerResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ApplicationLoadBalancerResponse.java
@@ -76,6 +76,10 @@ public class ApplicationLoadBalancerResponse extends 
BaseResponse implements Con
     @Param(description = "the domain of the Load Balancer")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the Load Balancer 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName("loadbalancerrule")
     @Param(description = "the list of rules associated with the Load 
Balancer", responseObject = ApplicationLoadBalancerRuleResponse.class)
     private List<ApplicationLoadBalancerRuleResponse> lbRules;
@@ -107,6 +111,11 @@ public class ApplicationLoadBalancerResponse extends 
BaseResponse implements Con
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScalePolicyResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScalePolicyResponse.java
index ae3462f1fec..e3f9902dec6 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScalePolicyResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScalePolicyResponse.java
@@ -74,6 +74,10 @@ public class AutoScalePolicyResponse extends BaseResponse 
implements ControlledE
     @Param(description = "the domain name of the autoscale policy")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the autoscale policy 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @Override
     public String getObjectId() {
         return this.id;
@@ -118,6 +122,11 @@ public class AutoScalePolicyResponse extends BaseResponse 
implements ControlledE
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmGroupResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmGroupResponse.java
index 656a62ddda3..b1389acdecb 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmGroupResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmGroupResponse.java
@@ -123,6 +123,10 @@ public class AutoScaleVmGroupResponse extends 
BaseResponseWithAnnotations implem
     @Param(description = "the domain name of the vm group")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the vm group belongs", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.FOR_DISPLAY)
     @Param(description = "is group for display to the regular user", since = 
"4.4", authorized = {RoleType.Admin})
     private Boolean forDisplay;
@@ -227,6 +231,11 @@ public class AutoScaleVmGroupResponse extends 
BaseResponseWithAnnotations implem
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmProfileResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmProfileResponse.java
index 678c4fcaaca..22e4eb2288b 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmProfileResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/AutoScaleVmProfileResponse.java
@@ -114,6 +114,10 @@ public class AutoScaleVmProfileResponse extends 
BaseResponse implements Controll
     @Param(description = "the domain name of the vm profile")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the vm profile belongs", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.FOR_DISPLAY)
     @Param(description = "is profile for display to the regular user", since = 
"4.4", authorized = {RoleType.Admin})
     private Boolean forDisplay;
@@ -196,6 +200,10 @@ public class AutoScaleVmProfileResponse extends 
BaseResponse implements Controll
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/BucketResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/BucketResponse.java
index b75f3604324..c66629c8e13 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/BucketResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/BucketResponse.java
@@ -54,6 +54,10 @@ public class BucketResponse extends 
BaseResponseWithTagInformation implements Co
     @SerializedName(ApiConstants.DOMAIN)
     @Param(description = "the domain associated with the bucket")
     private String domainName;
+
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the bucket belongs", 
since = "4.19.2.0")
+    private String domainPath;
     @SerializedName(ApiConstants.OBJECT_STORAGE_ID)
     @Param(description = "id of the object storage hosting the Bucket; 
returned to admin user only")
     private String objectStoragePoolId;
@@ -146,6 +150,11 @@ public class BucketResponse extends 
BaseResponseWithTagInformation implements Co
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ConditionResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/ConditionResponse.java
index 15671430bf1..1038177cb86 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ConditionResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ConditionResponse.java
@@ -61,6 +61,10 @@ public class ConditionResponse extends BaseResponse 
implements ControlledEntityR
     @Param(description = "the domain name of the owner.")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the Condition owner 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.ZONE_ID)
     @Param(description = "zone id of counter")
     private String zoneId;
@@ -138,4 +142,9 @@ public class ConditionResponse extends BaseResponse 
implements ControlledEntityR
     public void setDomainName(String domainName) {
         this.domain = domainName;
     }
+
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
 }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ControlledEntityResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ControlledEntityResponse.java
index 598ef082253..dc021705d78 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ControlledEntityResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ControlledEntityResponse.java
@@ -27,4 +27,6 @@ public interface ControlledEntityResponse {
     public void setDomainId(String domainId);
 
     public void setDomainName(String domainName);
+
+    public void setDomainPath(String domainPath);
 }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ControlledViewEntityResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ControlledViewEntityResponse.java
index abe4dd77143..730c2c38fc5 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ControlledViewEntityResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ControlledViewEntityResponse.java
@@ -27,4 +27,6 @@ public interface ControlledViewEntityResponse {
     public void setDomainId(String domainId);
 
     public void setDomainName(String domainName);
+
+    public void setDomainPath(String domainPath);
 }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/DomainRouterResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/DomainRouterResponse.java
index 99e5f6ccdfa..b23d0f4b527 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/DomainRouterResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/DomainRouterResponse.java
@@ -185,6 +185,10 @@ public class DomainRouterResponse extends 
BaseResponseWithAnnotations implements
     @Param(description = "the domain associated with the router")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the router belongs to", since = 
"4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.SERVICE_OFFERING_ID)
     @Param(description = "the ID of the service offering of the virtual 
machine")
     private String serviceOfferingId;
@@ -381,6 +385,10 @@ public class DomainRouterResponse extends 
BaseResponseWithAnnotations implements
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setPublicNetworkId(String publicNetworkId) {
         this.publicNetworkId = publicNetworkId;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/EventResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/EventResponse.java
index 8f65492cb70..751d00922f1 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/EventResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/EventResponse.java
@@ -69,6 +69,10 @@ public class EventResponse extends BaseResponse implements 
ControlledViewEntityR
     @Param(description = "the name of the account's domain")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the account's domain belongs to", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.RESOURCE_ID)
     @Param(description = "the id of the resource", since = "4.17.0")
     private String resourceId;
@@ -132,6 +136,11 @@ public class EventResponse extends BaseResponse implements 
ControlledViewEntityR
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setResourceId(String resourceId) {
         this.resourceId = resourceId;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/GlobalLoadBalancerResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/GlobalLoadBalancerResponse.java
index aac7e29a173..d41e4d2ab34 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/GlobalLoadBalancerResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/GlobalLoadBalancerResponse.java
@@ -82,6 +82,10 @@ public class GlobalLoadBalancerResponse extends BaseResponse 
implements Controll
     @Param(description = "the domain of the load balancer rule")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the load balancer rule 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.LOAD_BALANCER_RULE)
     @Param(description = "List of load balancer rules that are part of GSLB 
rule", responseObject = LoadBalancerResponse.class)
     private List<LoadBalancerResponse> siteLoadBalancers;
@@ -143,6 +147,11 @@ public class GlobalLoadBalancerResponse extends 
BaseResponse implements Controll
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setSiteLoadBalancers(List<LoadBalancerResponse> 
siteLoadBalancers) {
         this.siteLoadBalancers = siteLoadBalancers;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanRangeResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanRangeResponse.java
index fab2a2cb4ce..133338d27ae 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanRangeResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanRangeResponse.java
@@ -44,6 +44,10 @@ public class GuestVlanRangeResponse extends BaseResponse 
implements ControlledEn
     @Param(description = "the domain name of the guest VLAN range")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the guest VLAN range 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.GUEST_VLAN_RANGE)
     @Param(description = "the guest VLAN range")
     private String guestVlanRange;
@@ -83,6 +87,10 @@ public class GuestVlanRangeResponse extends BaseResponse 
implements ControlledEn
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setGuestVlanRange(String guestVlanRange) {
         this.guestVlanRange = guestVlanRange;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanResponse.java
index 6bcc1d35cb1..6716911ab82 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/GuestVlanResponse.java
@@ -49,6 +49,10 @@ public class GuestVlanResponse extends BaseResponse 
implements ControlledEntityR
     @Param(description = "the domain name of the guest VLAN range")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the guest VLAN range 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.PROJECT_ID)
     @Param(description = "the project id of the guest VLAN range")
     private String projectId;
@@ -108,6 +112,10 @@ public class GuestVlanResponse extends BaseResponse 
implements ControlledEntityR
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/IPAddressResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/IPAddressResponse.java
index e2bf6ef5c60..fe7a6c14d73 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/IPAddressResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/IPAddressResponse.java
@@ -75,6 +75,10 @@ public class IPAddressResponse extends 
BaseResponseWithAnnotations implements Co
     @Param(description = "the domain the public IP address is associated with")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the public IP address 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.FOR_VIRTUAL_NETWORK)
     @Param(description = "the virtual network for the IP address")
     private Boolean forVirtualNetwork;
@@ -207,6 +211,10 @@ public class IPAddressResponse extends 
BaseResponseWithAnnotations implements Co
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setForVirtualNetwork(Boolean forVirtualNetwork) {
         this.forVirtualNetwork = forVirtualNetwork;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/InstanceGroupResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/InstanceGroupResponse.java
index e1241cc19bc..9c7a4fc09a1 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/InstanceGroupResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/InstanceGroupResponse.java
@@ -63,6 +63,10 @@ public class InstanceGroupResponse extends 
BaseResponseWithAnnotations implement
     @Param(description = "the domain name of the instance group")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the instance group belongs to", 
since = "4.19.2.0")
+    private String domainPath;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -90,6 +94,11 @@ public class InstanceGroupResponse extends 
BaseResponseWithAnnotations implement
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/LoadBalancerResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/LoadBalancerResponse.java
index 32748269587..e520dec09e7 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/LoadBalancerResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/LoadBalancerResponse.java
@@ -87,6 +87,10 @@ public class LoadBalancerResponse extends BaseResponse 
implements ControlledEnti
     @Param(description = "the domain of the load balancer rule")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the load balancer rule 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.STATE)
     @Param(description = "the state of the rule")
     private String state;
@@ -158,6 +162,11 @@ public class LoadBalancerResponse extends BaseResponse 
implements ControlledEnti
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setState(String state) {
         this.state = state;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
index d34f949372a..1049740bf55 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
@@ -424,6 +424,7 @@ public class NetworkResponse extends 
BaseResponseWithAssociatedNetwork implement
         this.domain = domain;
     }
 
+    @Override
     public void setDomainPath(String domainPath) {
         this.domainPath = domainPath;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/OvsProviderResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/OvsProviderResponse.java
index ac5b9e309c8..2b67e1618dc 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/OvsProviderResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/OvsProviderResponse.java
@@ -54,6 +54,10 @@ public class OvsProviderResponse extends BaseResponse 
implements
     @Param(description = "the domain associated with the provider")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the provider belongs", 
since = "4.19.2.0")
+    private String domainPath;
+
     @Override
     public void setAccountName(String accountName) {
         this.accountName = accountName;
@@ -73,6 +77,10 @@ public class OvsProviderResponse extends BaseResponse 
implements
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/PrivateGatewayResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/PrivateGatewayResponse.java
index 65401eb2a02..414aed94bad 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/PrivateGatewayResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/PrivateGatewayResponse.java
@@ -89,6 +89,10 @@ public class PrivateGatewayResponse extends 
BaseResponseWithAssociatedNetwork im
     @Param(description = "the domain associated with the private gateway")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the private gateway 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.STATE)
     @Param(description = "State of the gateway, can be Creating, Ready, 
Deleting")
     private String state;
@@ -165,6 +169,10 @@ public class PrivateGatewayResponse extends 
BaseResponseWithAssociatedNetwork im
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java
index aab03074155..d035622f65f 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java
@@ -73,6 +73,10 @@ public class ProjectAccountResponse extends BaseResponse 
implements ControlledVi
     @Param(description = "name of the Domain the account belongs too")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the account belongs to", since = 
"4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.USER)
     @Param(description = "the list of users associated with account", 
responseObject = UserResponse.class)
     private List<UserResponse> users;
@@ -110,6 +114,11 @@ public class ProjectAccountResponse extends BaseResponse 
implements ControlledVi
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setUserId(String userId) { this.userId = userId; }
 
     public void setProjectRoleId(String projectRoleId) {
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ProjectInvitationResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ProjectInvitationResponse.java
index 4462ea91568..ad3f99f6b3f 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ProjectInvitationResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ProjectInvitationResponse.java
@@ -51,6 +51,10 @@ public class ProjectInvitationResponse extends BaseResponse 
implements Controlle
     @Param(description = "the domain name where the project belongs to")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the project belongs to", since = 
"4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.ACCOUNT)
     @Param(description = "the account name of the project's owner")
     private String accountName;
@@ -87,6 +91,11 @@ public class ProjectInvitationResponse extends BaseResponse 
implements Controlle
         this.domainName = domain;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setAccountName(String accountName) {
         this.accountName = accountName;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
index 0e078bea5bd..54164e3ac34 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
@@ -65,6 +65,10 @@ public class RemoteAccessVpnResponse extends BaseResponse 
implements ControlledE
     @Param(description = "the domain name of the account of the remote access 
vpn")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the remote access vpn 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.STATE)
     @Param(description = "the state of the rule")
     private String state;
@@ -104,6 +108,10 @@ public class RemoteAccessVpnResponse extends BaseResponse 
implements ControlledE
         this.domainName = name;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setState(String state) {
         this.state = state;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceCountResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceCountResponse.java
index d0a4982f872..d7081884daf 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceCountResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceCountResponse.java
@@ -46,6 +46,10 @@ public class ResourceCountResponse extends BaseResponse 
implements ControlledEnt
     @Param(description = "the domain name for which resource count's are 
updated")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the resource counts are 
updated", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.RESOURCE_TYPE)
     @Param(description = "resource type. Values include 0, 1, 2, 3, 4, 5, 6, 
7, 8, 9, 10, 11. See the resourceType parameter for more information on these 
values.")
     private String resourceType;
@@ -73,6 +77,11 @@ public class ResourceCountResponse extends BaseResponse 
implements ControlledEnt
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setResourceType(Resource.ResourceType resourceType) {
         this.resourceType = 
Integer.valueOf(resourceType.getOrdinal()).toString();
         this.resourceTypeName = resourceType.getName();
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceLimitResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceLimitResponse.java
index 13e1198177d..7780d46f7f6 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceLimitResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceLimitResponse.java
@@ -41,6 +41,10 @@ public class ResourceLimitResponse extends BaseResponse 
implements ControlledEnt
     @Param(description = "the domain name of the resource limit")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the resource limit 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.RESOURCE_TYPE)
     @Param(description = "resource type. Values include 0, 1, 2, 3, 4, 6, 7, 
8, 9, 10, 11. See the resourceType parameter for more information on these 
values.")
     private String resourceType;
@@ -81,6 +85,10 @@ public class ResourceLimitResponse extends BaseResponse 
implements ControlledEnt
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setResourceType(Resource.ResourceType resourceType) {
         this.resourceType = 
Integer.valueOf(resourceType.getOrdinal()).toString();
         this.resourceTypeName = resourceType.getName();
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceTagResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceTagResponse.java
index 44325560534..26e4d19cdba 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/ResourceTagResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/ResourceTagResponse.java
@@ -61,6 +61,10 @@ public class ResourceTagResponse extends BaseResponse 
implements ControlledViewE
     @Param(description = "the domain associated with the tag")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain associated with the tag", since = 
"4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.CUSTOMER)
     @Param(description = "customer associated with the tag")
     private String customer;
@@ -96,6 +100,11 @@ public class ResourceTagResponse extends BaseResponse 
implements ControlledViewE
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/SecurityGroupResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/SecurityGroupResponse.java
index c96421b0a40..de486b5a374 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/SecurityGroupResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/SecurityGroupResponse.java
@@ -63,6 +63,10 @@ public class SecurityGroupResponse extends BaseResponse 
implements ControlledVie
     @Param(description = "the domain name of the security group")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the security group belongs to", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName("ingressrule")
     @Param(description = "the list of ingress rules associated with the 
security group", responseObject = SecurityGroupRuleResponse.class)
     private Set<SecurityGroupRuleResponse> ingressRules;
@@ -126,6 +130,11 @@ public class SecurityGroupResponse extends BaseResponse 
implements ControlledVie
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setSecurityGroupIngressRules(Set<SecurityGroupRuleResponse> 
securityGroupRules) {
         this.ingressRules = securityGroupRules;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
index babc9bf4432..4ae140ec573 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
@@ -98,6 +98,10 @@ public class Site2SiteCustomerGatewayResponse extends 
BaseResponseWithAnnotation
     @Param(description = "the domain name of the owner")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "the domain path of the owner", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.REMOVED)
     @Param(description = "the date and time the host was removed")
     private Date removed;
@@ -193,4 +197,9 @@ public class Site2SiteCustomerGatewayResponse extends 
BaseResponseWithAnnotation
         this.domain = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
 }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
index 1f7509239d1..a9fd0f9703c 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
@@ -120,6 +120,10 @@ public class Site2SiteVpnConnectionResponse extends 
BaseResponse implements Cont
     @Param(description = "the domain name of the owner")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "the domain path of the owner", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.CREATED)
     @Param(description = "the date and time the host was created")
     private Date created;
@@ -241,6 +245,11 @@ public class Site2SiteVpnConnectionResponse extends 
BaseResponse implements Cont
         this.domain = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setForDisplay(Boolean forDisplay) {
         this.forDisplay = forDisplay;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
index cdd8e4f3d87..1e63ba896c7 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
@@ -66,6 +66,10 @@ public class Site2SiteVpnGatewayResponse extends 
BaseResponse implements Control
     @Param(description = "the domain name of the owner")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "the domain path of the owner", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.REMOVED)
     @Param(description = "the date and time the host was removed")
     private Date removed;
@@ -119,6 +123,10 @@ public class Site2SiteVpnGatewayResponse extends 
BaseResponse implements Control
         this.domain = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setForDisplay(Boolean forDisplay) {
         this.forDisplay = forDisplay;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/SnapshotResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/SnapshotResponse.java
index 02132416b8a..9f7a7f42dec 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/SnapshotResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/SnapshotResponse.java
@@ -47,6 +47,10 @@ public class SnapshotResponse extends 
BaseResponseWithTagInformation implements
     @Param(description = "the domain name of the snapshot's account")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the snapshot's account belongs 
to", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.PROJECT_ID)
     @Param(description = "the project id of the snapshot")
     private String projectId;
@@ -187,6 +191,11 @@ public class SnapshotResponse extends 
BaseResponseWithTagInformation implements
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setSnapshotType(String snapshotType) {
         this.snapshotType = snapshotType;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/StaticRouteResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/StaticRouteResponse.java
index 79c7f9040a1..51f8a130383 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/StaticRouteResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/StaticRouteResponse.java
@@ -70,6 +70,10 @@ public class StaticRouteResponse extends BaseResponse 
implements ControlledEntit
     @Param(description = "the domain associated with the static route")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "the domain path associated with the static route", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.TAGS)
     @Param(description = "the list of resource tags associated with static 
route", responseObject = ResourceTagResponse.class)
     private List<ResourceTagResponse> tags;
@@ -114,6 +118,10 @@ public class StaticRouteResponse extends BaseResponse 
implements ControlledEntit
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/TemplateResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/TemplateResponse.java
index 3abd44941d9..604c9f0955f 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/TemplateResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/TemplateResponse.java
@@ -135,6 +135,10 @@ public class TemplateResponse extends 
BaseResponseWithTagInformation implements
     @Param(description = "the name of the domain to which the template 
belongs")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the template belongs to", since = 
"4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.DOMAIN_ID)
     @Param(description = "the ID of the domain to which the template belongs")
     private String domainId;
@@ -354,6 +358,11 @@ public class TemplateResponse extends 
BaseResponseWithTagInformation implements
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     @Override
     public void setDomainId(String domainId) {
         this.domainId = domainId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java
index 7bcb1afd2d2..25382f3aaf9 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/UsageRecordResponse.java
@@ -51,6 +51,10 @@ public class UsageRecordResponse extends 
BaseResponseWithTagInformation implemen
     @Param(description = "the domain the resource is associated with")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the usage reocrd 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.ZONE_ID)
     @Param(description = "the zone ID")
     private String zoneId;
@@ -276,6 +280,10 @@ public class UsageRecordResponse extends 
BaseResponseWithTagInformation implemen
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setNetworkId(String networkId) {
         this.networkId = networkId;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/UserDataResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/UserDataResponse.java
index e69094c8f80..2dfc66fa7d5 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/UserDataResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/UserDataResponse.java
@@ -54,6 +54,10 @@ public class UserDataResponse extends 
BaseResponseWithAnnotations implements Con
     @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name 
of the userdata owner")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the userdata owner 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.USER_DATA) @Param(description="base64 encoded 
userdata content")
     private String userData;
 
@@ -143,4 +147,9 @@ public class UserDataResponse extends 
BaseResponseWithAnnotations implements Con
     public void setDomainName(String domain) {
         this.domain = domain;
     }
+
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
 }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java
index 8a259225578..a9e4587169c 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java
@@ -82,6 +82,10 @@ public class UserVmResponse extends 
BaseResponseWithTagInformation implements Co
     @Param(description = "the name of the domain in which the virtual machine 
exists")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain in which the virtual machine 
exists", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.CREATED)
     @Param(description = "the date when this virtual machine was created")
     private Date created;
@@ -703,6 +707,10 @@ public class UserVmResponse extends 
BaseResponseWithTagInformation implements Co
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public void setCreated(Date created) {
         this.created = created;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VMSnapshotResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/VMSnapshotResponse.java
index 9b553ed0744..703f27b537c 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/VMSnapshotResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/VMSnapshotResponse.java
@@ -108,6 +108,10 @@ public class VMSnapshotResponse extends 
BaseResponseWithTagInformation implement
     @Param(description = "the domain associated with the disk volume")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the disk volume 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.HYPERVISOR)
     @Param(description = "the type of hypervisor on which snapshot is stored")
     private String hypervisor;
@@ -261,6 +265,11 @@ public class VMSnapshotResponse extends 
BaseResponseWithTagInformation implement
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setTags(Set<ResourceTagResponse> tags) {
         this.tags = tags;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VirtualRouterProviderResponse.java
 
b/api/src/main/java/org/apache/cloudstack/api/response/VirtualRouterProviderResponse.java
index c3b46710f6f..b9d18e23810 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/VirtualRouterProviderResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/VirtualRouterProviderResponse.java
@@ -60,6 +60,10 @@ public class VirtualRouterProviderResponse extends 
BaseResponse implements Contr
     @Param(description = "the domain associated with the provider")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the provider belongs", 
since = "4.19.2.0")
+    private String domainPath;
+
     @Override
     public void setAccountName(String accountName) {
         this.accountName = accountName;
@@ -79,6 +83,10 @@ public class VirtualRouterProviderResponse extends 
BaseResponse implements Contr
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VlanIpRangeResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/VlanIpRangeResponse.java
index a22e2eb7024..5f5af69f6a9 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/response/VlanIpRangeResponse.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/response/VlanIpRangeResponse.java
@@ -55,6 +55,10 @@ public class VlanIpRangeResponse extends BaseResponse 
implements ControlledEntit
     @Param(description = "the domain name of the VLAN IP range")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the VLAN IP range 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.POD_ID)
     @Param(description = "the Pod ID for the VLAN IP range")
     private String podId;
@@ -162,6 +166,11 @@ public class VlanIpRangeResponse extends BaseResponse 
implements ControlledEntit
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setPodId(String podId) {
         this.podId = podId;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VolumeResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/VolumeResponse.java
index f3683473e45..623499822cb 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/VolumeResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/VolumeResponse.java
@@ -145,6 +145,10 @@ public class VolumeResponse extends 
BaseResponseWithTagInformation implements Co
     @Param(description = "the domain associated with the disk volume")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain the disk volume belongs to", 
since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName("storagetype")
     @Param(description = "shared or local storage")
     private String storageType;
@@ -409,6 +413,11 @@ public class VolumeResponse extends 
BaseResponseWithTagInformation implements Co
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
     public void setStorageType(String storageType) {
         this.storageType = storageType;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VpcResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/VpcResponse.java
index 610416d7b0e..6f91da7d2d7 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/VpcResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/VpcResponse.java
@@ -96,6 +96,10 @@ public class VpcResponse extends BaseResponseWithAnnotations 
implements Controll
     @Param(description = "the domain name of the owner")
     private String domain;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "the domain path of the owner", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.NETWORK)
     @Param(description = "the list of networks belongign to the VPC", 
responseObject = NetworkResponse.class)
     private List<NetworkResponse> networks;
@@ -209,6 +213,11 @@ public class VpcResponse extends 
BaseResponseWithAnnotations implements Controll
         domain = domainName;
     }
 
+    @Override
+    public void setDomainPath(String path) {
+        this.domainPath = path;
+    }
+
     public void setZoneId(final String zoneId) {
         this.zoneId = zoneId;
     }
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/response/VpnUsersResponse.java 
b/api/src/main/java/org/apache/cloudstack/api/response/VpnUsersResponse.java
index d3e4d941678..3247f534133 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/VpnUsersResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/VpnUsersResponse.java
@@ -48,6 +48,10 @@ public class VpnUsersResponse extends BaseResponse 
implements ControlledEntityRe
     @Param(description = "the domain name of the account of the remote access 
vpn")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the remote access vpn 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.PROJECT_ID)
     @Param(description = "the project id of the vpn")
     private String projectId;
@@ -83,6 +87,11 @@ public class VpnUsersResponse extends BaseResponse 
implements ControlledEntityRe
         this.domainName = name;
     }
 
+    @Override
+    public void setDomainPath(String path) {
+        this.domainPath = path;
+    }
+
     @Override
     public void setProjectId(String projectId) {
         this.projectId = projectId;
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java
index 2e65c980437..b0e44316190 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java
@@ -581,6 +581,7 @@ public class KubernetesClusterManagerImpl extends 
ManagerBase implements Kuberne
         Domain domain = 
ApiDBUtils.findDomainById(kubernetesCluster.getDomainId());
         response.setDomainId(domain.getUuid());
         response.setDomainName(domain.getName());
+        response.setDomainPath(domain.getPath());
         response.setKeypair(kubernetesCluster.getKeyPair());
         response.setState(kubernetesCluster.getState().toString());
         response.setCores(String.valueOf(kubernetesCluster.getCores()));
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/response/KubernetesClusterResponse.java
 
b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/response/KubernetesClusterResponse.java
index 168dfaf6091..8074aef9eff 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/response/KubernetesClusterResponse.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/response/KubernetesClusterResponse.java
@@ -98,6 +98,10 @@ public class KubernetesClusterResponse extends 
BaseResponseWithAnnotations imple
     @Param(description = "the name of the domain in which the Kubernetes 
cluster exists")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the domain to which the Kubernetes cluster 
belongs", since = "4.19.2.0")
+    private String domainPath;
+
     @SerializedName(ApiConstants.SSH_KEYPAIR)
     @Param(description = "keypair details")
     private String keypair;
@@ -279,6 +283,10 @@ public class KubernetesClusterResponse extends 
BaseResponseWithAnnotations imple
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
     public String getKeypair() {
         return keypair;
     }
diff --git 
a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/api/response/ServiceInstanceResponse.java
 
b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/api/response/ServiceInstanceResponse.java
index 00eb7f3098b..a4fa713ee00 100644
--- 
a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/api/response/ServiceInstanceResponse.java
+++ 
b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/api/response/ServiceInstanceResponse.java
@@ -59,6 +59,10 @@ public class ServiceInstanceResponse extends BaseResponse 
implements ControlledE
     @Param(description = "the name of the domain in which the virtual machine 
exists")
     private String domainName;
 
+    @SerializedName(ApiConstants.DOMAIN_PATH)
+    @Param(description = "path of the Domain in which the virtual machine 
exists", since = "4.19.2.0")
+    private String domainPath;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -88,4 +92,8 @@ public class ServiceInstanceResponse extends BaseResponse 
implements ControlledE
         this.domainName = domainName;
     }
 
+    @Override
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
 }
diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java 
b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
index 732df581bff..68761f6eed5 100644
--- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
@@ -786,6 +786,7 @@ public class ApiResponseHelper implements ResponseGenerator 
{
         if (domain != null) {
             vmSnapshotResponse.setDomainId(domain.getUuid());
             vmSnapshotResponse.setDomainName(domain.getName());
+            vmSnapshotResponse.setDomainPath(domain.getPath());
         }
 
         List<? extends ResourceTag> tags = 
_resourceTagDao.listBy(vmSnapshot.getId(), ResourceObjectType.VMSnapshot);
@@ -2220,6 +2221,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
 
             response.setDomainId(securityGroup.getDomainUuid());
             response.setDomainName(securityGroup.getDomainName());
+            response.setDomainPath(securityGroup.getDomainPath());
 
             for (SecurityRule securityRule : securityRules) {
                 SecurityGroupRuleResponse securityGroupData = new 
SecurityGroupRuleResponse();
@@ -2622,6 +2624,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
             if (domain != null) {
                 response.setDomainId(domain.getUuid());
                 response.setDomainName(domain.getName());
+                response.setDomainPath(domain.getPath());
             }
 
         }
@@ -2870,6 +2873,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
         Domain domain = ApiDBUtils.findDomainById(object.getDomainId());
         response.setDomainId(domain.getUuid());
         response.setDomainName(domain.getName());
+        response.setDomainPath(domain.getPath());
     }
 
     private void populateOwner(ControlledViewEntityResponse response, 
ControlledEntity object) {
@@ -2887,6 +2891,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
         Domain domain = ApiDBUtils.findDomainById(object.getDomainId());
         response.setDomainId(domain.getUuid());
         response.setDomainName(domain.getName());
+        response.setDomainPath(domain.getPath());
     }
 
     public static void populateOwner(ControlledViewEntityResponse response, 
ControlledViewEntity object) {
@@ -2900,6 +2905,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
 
         response.setDomainId(object.getDomainUuid());
         response.setDomainName(object.getDomainName());
+        response.setDomainPath(object.getDomainPath());
     }
 
     private void populateAccount(ControlledEntityResponse response, long 
accountId) {
@@ -2926,6 +2932,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
 
         response.setDomainId(domain.getUuid());
         response.setDomainName(domain.getName());
+        response.setDomainPath(domain.getPath());
     }
 
     @Override
@@ -3864,6 +3871,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
         if (domain != null) {
             usageRecResponse.setDomainId(domain.getUuid());
             usageRecResponse.setDomainName(domain.getName());
+            usageRecResponse.setDomainPath(domain.getPath());
         }
 
         if (usageRecord.getZoneId() != null) {
@@ -4661,6 +4669,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
         if (domain != null) {
             response.setDomainId(domain.getUuid());
             response.setDomainName(domain.getName());
+            response.setDomainPath(domain.getPath());
         }
 
         response.setObjectName("affinitygroup");
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
index e3011bc4d66..4609d30e4a4 100644
--- a/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
@@ -210,6 +210,7 @@ public class DomainRouterJoinDaoImpl extends 
GenericDaoBase<DomainRouterJoinVO,
 
         routerResponse.setDomainId(router.getDomainUuid());
         routerResponse.setDomainName(router.getDomainName());
+        routerResponse.setDomainPath(router.getDomainPath());
 
         routerResponse.setZoneName(router.getDataCenterName());
         routerResponse.setDns1(router.getDns1());
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
index bc650b3d8d3..8169036d602 100644
--- 
a/server/src/main/java/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
+++ 
b/server/src/main/java/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java
@@ -61,6 +61,7 @@ public class ProjectAccountJoinDaoImpl extends 
GenericDaoBase<ProjectAccountJoin
         projectAccountResponse.setRole(proj.getAccountRole().toString());
         projectAccountResponse.setDomainId(proj.getDomainUuid());
         projectAccountResponse.setDomainName(proj.getDomainName());
+        projectAccountResponse.setDomainPath(proj.getDomainPath());
 
         projectAccountResponse.setObjectName("projectaccount");
 
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
 
b/server/src/main/java/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
index 8e155da31b6..284025f2e93 100644
--- 
a/server/src/main/java/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
+++ 
b/server/src/main/java/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java
@@ -67,6 +67,7 @@ public class ProjectInvitationJoinDaoImpl extends 
GenericDaoBase<ProjectInvitati
 
         response.setDomainId(invite.getDomainUuid());
         response.setDomainName(invite.getDomainName());
+        response.setDomainPath(invite.getDomainPath());
 
         response.setObjectName("projectinvitation");
         return response;
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java
index e1f6c659269..04611d8898d 100644
--- a/server/src/main/java/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java
@@ -82,6 +82,7 @@ public class ResourceTagJoinDaoImpl extends 
GenericDaoBase<ResourceTagJoinVO, Lo
 
             response.setDomainId(resourceTag.getDomainUuid());
             response.setDomainName(resourceTag.getDomainName());
+            response.setDomainPath(resourceTag.getDomainPath());
 
             response.setCustomer(resourceTag.getCustomer());
         }
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
index 5a0c19955bd..063766761db 100644
--- a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
@@ -276,6 +276,7 @@ public class TemplateJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<Templa
         // populate domain
         templateResponse.setDomainId(template.getDomainUuid());
         templateResponse.setDomainName(template.getDomainName());
+        templateResponse.setDomainPath(template.getDomainPath());
 
         // If the user is an 'Admin' or 'the owner of template' or template 
belongs to a project, add the template download status
         if (view == ResponseView.Full ||
@@ -415,6 +416,7 @@ public class TemplateJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<Templa
         // populate domain
         response.setDomainId(result.getDomainUuid());
         response.setDomainName(result.getDomainName());
+        response.setDomainPath(result.getDomainPath());
 
         // set details map
         if (result.getDetailName() != null) {
@@ -501,6 +503,7 @@ public class TemplateJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<Templa
         // populate domain
         isoResponse.setDomainId(iso.getDomainUuid());
         isoResponse.setDomainName(iso.getDomainName());
+        isoResponse.setDomainPath(iso.getDomainPath());
 
         Account caller = CallContext.current().getCallingAccount();
         boolean isAdmin = false;
diff --git 
a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
index 828cafd7d50..954b0f60da8 100644
--- a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
@@ -168,6 +168,7 @@ public class UserVmJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<UserVmJo
         }
         userVmResponse.setDomainId(userVm.getDomainUuid());
         userVmResponse.setDomainName(userVm.getDomainName());
+        userVmResponse.setDomainPath(userVm.getDomainPath());
 
         userVmResponse.setCreated(userVm.getCreated());
         userVmResponse.setLastUpdated(userVm.getLastUpdated());

Reply via email to