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());