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

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


The following commit(s) were added to refs/heads/main by this push:
     new f64f7b9d12a api: userdata api access (#7319)
f64f7b9d12a is described below

commit f64f7b9d12afc4c90142dc0eacbf4b3cfad4063b
Author: Abhishek Kumar <[email protected]>
AuthorDate: Fri Mar 10 21:31:12 2023 +0530

    api: userdata api access (#7319)
    
    Signed-off-by: Abhishek Kumar <[email protected]>
---
 .../command/user/userdata/DeleteUserDataCmd.java   | 18 ++++++++-------
 .../user/userdata/LinkUserDataToTemplateCmd.java   | 13 +++++++----
 .../api/command/user/userdata/ListUserDataCmd.java | 11 +++++----
 .../command/user/userdata/RegisterUserDataCmd.java | 27 ++++++++++++----------
 4 files changed, 39 insertions(+), 30 deletions(-)

diff --git 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteUserDataCmd.java
 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteUserDataCmd.java
index f527d575979..d27b90f07a1 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteUserDataCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteUserDataCmd.java
@@ -16,25 +16,27 @@
 // under the License.
 package org.apache.cloudstack.api.command.user.userdata;
 
-import com.cloud.user.Account;
-import com.cloud.user.UserData;
-import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.ServerApiException;
-import org.apache.cloudstack.api.response.UserDataResponse;
-import org.apache.log4j.Logger;
-
+import org.apache.cloudstack.acl.RoleType;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.ApiErrorCode;
 import org.apache.cloudstack.api.BaseCmd;
 import org.apache.cloudstack.api.Parameter;
+import org.apache.cloudstack.api.ServerApiException;
 import org.apache.cloudstack.api.response.DomainResponse;
 import org.apache.cloudstack.api.response.ProjectResponse;
 import org.apache.cloudstack.api.response.SuccessResponse;
+import org.apache.cloudstack.api.response.UserDataResponse;
 import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
+
+import com.cloud.user.Account;
+import com.cloud.user.UserData;
 
 
 @APICommand(name = "deleteUserData", description = "Deletes a userdata", 
responseObject = SuccessResponse.class, entityType = {UserData.class},
-        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18")
+        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18",
+        authorized = {RoleType.Admin, RoleType.ResourceAdmin, 
RoleType.DomainAdmin, RoleType.User})
 public class DeleteUserDataCmd extends BaseCmd {
 
     public static final Logger s_logger = 
Logger.getLogger(DeleteUserDataCmd.class.getName());
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/LinkUserDataToTemplateCmd.java
 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/LinkUserDataToTemplateCmd.java
index 80044e11c53..be1a95c3694 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/LinkUserDataToTemplateCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/LinkUserDataToTemplateCmd.java
@@ -17,10 +17,7 @@
 
 package org.apache.cloudstack.api.command.user.userdata;
 
-import com.cloud.template.VirtualMachineTemplate;
-import com.cloud.user.Account;
-import com.cloud.user.UserData;
-import com.cloud.utils.exception.CloudRuntimeException;
+import org.apache.cloudstack.acl.RoleType;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiConstants;
 import org.apache.cloudstack.api.ApiErrorCode;
@@ -33,8 +30,14 @@ import org.apache.cloudstack.api.response.TemplateResponse;
 import org.apache.cloudstack.api.response.UserDataResponse;
 import org.apache.log4j.Logger;
 
+import com.cloud.template.VirtualMachineTemplate;
+import com.cloud.user.Account;
+import com.cloud.user.UserData;
+import com.cloud.utils.exception.CloudRuntimeException;
+
 @APICommand(name = "linkUserDataToTemplate", description = "Link or unlink a 
userdata to a template.", responseObject = TemplateResponse.class, responseView 
= ResponseObject.ResponseView.Restricted,
-        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18.0")
+        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18.0",
+        authorized = {RoleType.Admin, RoleType.ResourceAdmin, 
RoleType.DomainAdmin, RoleType.User})
 public class LinkUserDataToTemplateCmd extends BaseCmd implements AdminCmd {
     public static final Logger s_logger = 
Logger.getLogger(LinkUserDataToTemplateCmd.class.getName());
 
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListUserDataCmd.java
 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListUserDataCmd.java
index a203043646e..aa30066c2a3 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListUserDataCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListUserDataCmd.java
@@ -19,20 +19,21 @@ package org.apache.cloudstack.api.command.user.userdata;
 import java.util.ArrayList;
 import java.util.List;
 
-import com.cloud.user.UserData;
-import org.apache.cloudstack.api.response.UserDataResponse;
-import org.apache.log4j.Logger;
-
+import org.apache.cloudstack.acl.RoleType;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiConstants;
 import org.apache.cloudstack.api.BaseListProjectAndAccountResourcesCmd;
 import org.apache.cloudstack.api.Parameter;
 import org.apache.cloudstack.api.response.ListResponse;
+import org.apache.cloudstack.api.response.UserDataResponse;
+import org.apache.log4j.Logger;
 
+import com.cloud.user.UserData;
 import com.cloud.utils.Pair;
 
 @APICommand(name = "listUserData", description = "List registered userdatas", 
responseObject = UserDataResponse.class, entityType = {UserData.class},
-        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18")
+        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, 
since = "4.18",
+        authorized = {RoleType.Admin, RoleType.ResourceAdmin, 
RoleType.DomainAdmin, RoleType.User})
 public class ListUserDataCmd extends BaseListProjectAndAccountResourcesCmd {
     public static final Logger s_logger = 
Logger.getLogger(ListUserDataCmd.class.getName());
 
diff --git 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterUserDataCmd.java
 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterUserDataCmd.java
index 3e513efeef6..a8a87c40725 100644
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterUserDataCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterUserDataCmd.java
@@ -16,14 +16,11 @@
 // under the License.
 package org.apache.cloudstack.api.command.user.userdata;
 
-import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InvalidParameterValueException;
-import com.cloud.exception.NetworkRuleConflictException;
-import com.cloud.exception.ResourceAllocationException;
-import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.NetworkModel;
-import com.cloud.user.UserData;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.cloudstack.acl.RoleType;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiConstants;
 import org.apache.cloudstack.api.BaseCmd;
@@ -37,16 +34,22 @@ import org.apache.cloudstack.context.CallContext;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.NetworkRuleConflictException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.NetworkModel;
+import com.cloud.user.UserData;
 
 @APICommand(name = "registerUserData",
         description = "Register a new userdata.",
         since = "4.18",
         responseObject = SuccessResponse.class,
         requestHasSensitiveInfo = false,
-        responseHasSensitiveInfo = false)
+        responseHasSensitiveInfo = false,
+        authorized = {RoleType.Admin, RoleType.ResourceAdmin, 
RoleType.DomainAdmin, RoleType.User})
 public class RegisterUserDataCmd extends BaseCmd {
 
     public static final Logger s_logger = 
Logger.getLogger(RegisterUserDataCmd.class.getName());

Reply via email to