From 6766cc7c91be05300db72bb09ab41a2467a9ad04 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Wed, 19 Aug 2020 03:39:03 -0300 Subject: [PATCH 1/3] ListAllIncludingProjectResources if ADMIN && listAll --- server/src/main/java/com/cloud/user/AccountManagerImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java b/server/src/main/java/com/cloud/user/AccountManagerImpl.java index 88cd217698a3..3dac08bae50b 100644 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@ -2696,6 +2696,8 @@ public void buildACLSearchParameters(Account caller, Long id, String accountName permittedAccounts.add(project.getProjectAccountId()); } } + } else if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN && listAll) { + domainIdRecursiveListProject.third(ListProjectResourcesCriteria.ListAllIncludingProjectResources); } else { if (id == null) { domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.SkipProjectResources); From 60d364ba55bc9e1ea21ad47e7e294c3c91794132 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 7 Oct 2021 14:19:39 -0300 Subject: [PATCH 2/3] Revert "ListAllIncludingProjectResources if ADMIN && listAll" This reverts commit 6766cc7c91be05300db72bb09ab41a2467a9ad04. --- server/src/main/java/com/cloud/user/AccountManagerImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java b/server/src/main/java/com/cloud/user/AccountManagerImpl.java index 3dac08bae50b..88cd217698a3 100644 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@ -2696,8 +2696,6 @@ public void buildACLSearchParameters(Account caller, Long id, String accountName permittedAccounts.add(project.getProjectAccountId()); } } - } else if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN && listAll) { - domainIdRecursiveListProject.third(ListProjectResourcesCriteria.ListAllIncludingProjectResources); } else { if (id == null) { domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.SkipProjectResources); From fb9083d2586f41b5dddc50a4f11572abf390ba34 Mon Sep 17 00:00:00 2001 From: gabriel Date: Thu, 7 Oct 2021 14:43:09 -0300 Subject: [PATCH 3/3] Enhance API list commands documentation for "listAll" and "projectid" parameters --- .../org/apache/cloudstack/api/BaseListDomainResourcesCmd.java | 2 +- .../cloudstack/api/BaseListProjectAndAccountResourcesCmd.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/BaseListDomainResourcesCmd.java b/api/src/main/java/org/apache/cloudstack/api/BaseListDomainResourcesCmd.java index c402a3c91850..7a8cee337705 100644 --- a/api/src/main/java/org/apache/cloudstack/api/BaseListDomainResourcesCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/BaseListDomainResourcesCmd.java @@ -21,7 +21,7 @@ public abstract class BaseListDomainResourcesCmd extends BaseListCmd implements IBaseListDomainResourcesCmd { @Parameter(name = ApiConstants.LIST_ALL, type = CommandType.BOOLEAN, description = "If set to false, " - + "list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false") + + "list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false. Resources dedicated to a project are listed only if using the projectid parameter.") private Boolean listAll; @Parameter(name = ApiConstants.DOMAIN_ID, diff --git a/api/src/main/java/org/apache/cloudstack/api/BaseListProjectAndAccountResourcesCmd.java b/api/src/main/java/org/apache/cloudstack/api/BaseListProjectAndAccountResourcesCmd.java index 46d09b279272..0bcfba15ea6e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/BaseListProjectAndAccountResourcesCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/BaseListProjectAndAccountResourcesCmd.java @@ -20,7 +20,7 @@ public abstract class BaseListProjectAndAccountResourcesCmd extends BaseListAccountResourcesCmd implements IBaseListProjectAndAccountResourcesCmd { - @Parameter(name = ApiConstants.PROJECT_ID, type = CommandType.UUID, entityType = ProjectResponse.class, description = "list objects by project") + @Parameter(name = ApiConstants.PROJECT_ID, type = CommandType.UUID, entityType = ProjectResponse.class, description = "list objects by project; if projectid=-1 lists All VMs") private Long projectId; @Override