Skip to content

Commit f64f7b9

Browse files
authored
api: userdata api access (apache#7319)
Signed-off-by: Abhishek Kumar <[email protected]>
1 parent 39d19dd commit f64f7b9

File tree

4 files changed

+39
-30
lines changed

4 files changed

+39
-30
lines changed

api/src/main/java/org/apache/cloudstack/api/command/user/userdata/DeleteUserDataCmd.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,27 @@
1616
// under the License.
1717
package org.apache.cloudstack.api.command.user.userdata;
1818

19-
import com.cloud.user.Account;
20-
import com.cloud.user.UserData;
21-
import org.apache.cloudstack.api.ApiErrorCode;
22-
import org.apache.cloudstack.api.ServerApiException;
23-
import org.apache.cloudstack.api.response.UserDataResponse;
24-
import org.apache.log4j.Logger;
25-
19+
import org.apache.cloudstack.acl.RoleType;
2620
import org.apache.cloudstack.api.APICommand;
2721
import org.apache.cloudstack.api.ApiConstants;
22+
import org.apache.cloudstack.api.ApiErrorCode;
2823
import org.apache.cloudstack.api.BaseCmd;
2924
import org.apache.cloudstack.api.Parameter;
25+
import org.apache.cloudstack.api.ServerApiException;
3026
import org.apache.cloudstack.api.response.DomainResponse;
3127
import org.apache.cloudstack.api.response.ProjectResponse;
3228
import org.apache.cloudstack.api.response.SuccessResponse;
29+
import org.apache.cloudstack.api.response.UserDataResponse;
3330
import org.apache.cloudstack.context.CallContext;
31+
import org.apache.log4j.Logger;
32+
33+
import com.cloud.user.Account;
34+
import com.cloud.user.UserData;
3435

3536

3637
@APICommand(name = "deleteUserData", description = "Deletes a userdata", responseObject = SuccessResponse.class, entityType = {UserData.class},
37-
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18")
38+
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18",
39+
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
3840
public class DeleteUserDataCmd extends BaseCmd {
3941

4042
public static final Logger s_logger = Logger.getLogger(DeleteUserDataCmd.class.getName());

api/src/main/java/org/apache/cloudstack/api/command/user/userdata/LinkUserDataToTemplateCmd.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@
1717

1818
package org.apache.cloudstack.api.command.user.userdata;
1919

20-
import com.cloud.template.VirtualMachineTemplate;
21-
import com.cloud.user.Account;
22-
import com.cloud.user.UserData;
23-
import com.cloud.utils.exception.CloudRuntimeException;
20+
import org.apache.cloudstack.acl.RoleType;
2421
import org.apache.cloudstack.api.APICommand;
2522
import org.apache.cloudstack.api.ApiConstants;
2623
import org.apache.cloudstack.api.ApiErrorCode;
@@ -33,8 +30,14 @@
3330
import org.apache.cloudstack.api.response.UserDataResponse;
3431
import org.apache.log4j.Logger;
3532

33+
import com.cloud.template.VirtualMachineTemplate;
34+
import com.cloud.user.Account;
35+
import com.cloud.user.UserData;
36+
import com.cloud.utils.exception.CloudRuntimeException;
37+
3638
@APICommand(name = "linkUserDataToTemplate", description = "Link or unlink a userdata to a template.", responseObject = TemplateResponse.class, responseView = ResponseObject.ResponseView.Restricted,
37-
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18.0")
39+
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18.0",
40+
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
3841
public class LinkUserDataToTemplateCmd extends BaseCmd implements AdminCmd {
3942
public static final Logger s_logger = Logger.getLogger(LinkUserDataToTemplateCmd.class.getName());
4043

api/src/main/java/org/apache/cloudstack/api/command/user/userdata/ListUserDataCmd.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,21 @@
1919
import java.util.ArrayList;
2020
import java.util.List;
2121

22-
import com.cloud.user.UserData;
23-
import org.apache.cloudstack.api.response.UserDataResponse;
24-
import org.apache.log4j.Logger;
25-
22+
import org.apache.cloudstack.acl.RoleType;
2623
import org.apache.cloudstack.api.APICommand;
2724
import org.apache.cloudstack.api.ApiConstants;
2825
import org.apache.cloudstack.api.BaseListProjectAndAccountResourcesCmd;
2926
import org.apache.cloudstack.api.Parameter;
3027
import org.apache.cloudstack.api.response.ListResponse;
28+
import org.apache.cloudstack.api.response.UserDataResponse;
29+
import org.apache.log4j.Logger;
3130

31+
import com.cloud.user.UserData;
3232
import com.cloud.utils.Pair;
3333

3434
@APICommand(name = "listUserData", description = "List registered userdatas", responseObject = UserDataResponse.class, entityType = {UserData.class},
35-
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18")
35+
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.18",
36+
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
3637
public class ListUserDataCmd extends BaseListProjectAndAccountResourcesCmd {
3738
public static final Logger s_logger = Logger.getLogger(ListUserDataCmd.class.getName());
3839

api/src/main/java/org/apache/cloudstack/api/command/user/userdata/RegisterUserDataCmd.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@
1616
// under the License.
1717
package org.apache.cloudstack.api.command.user.userdata;
1818

19-
import com.cloud.exception.ConcurrentOperationException;
20-
import com.cloud.exception.InsufficientCapacityException;
21-
import com.cloud.exception.InvalidParameterValueException;
22-
import com.cloud.exception.NetworkRuleConflictException;
23-
import com.cloud.exception.ResourceAllocationException;
24-
import com.cloud.exception.ResourceUnavailableException;
25-
import com.cloud.network.NetworkModel;
26-
import com.cloud.user.UserData;
19+
import java.util.ArrayList;
20+
import java.util.Arrays;
21+
import java.util.List;
22+
23+
import org.apache.cloudstack.acl.RoleType;
2724
import org.apache.cloudstack.api.APICommand;
2825
import org.apache.cloudstack.api.ApiConstants;
2926
import org.apache.cloudstack.api.BaseCmd;
@@ -37,16 +34,22 @@
3734
import org.apache.commons.lang3.StringUtils;
3835
import org.apache.log4j.Logger;
3936

40-
import java.util.ArrayList;
41-
import java.util.Arrays;
42-
import java.util.List;
37+
import com.cloud.exception.ConcurrentOperationException;
38+
import com.cloud.exception.InsufficientCapacityException;
39+
import com.cloud.exception.InvalidParameterValueException;
40+
import com.cloud.exception.NetworkRuleConflictException;
41+
import com.cloud.exception.ResourceAllocationException;
42+
import com.cloud.exception.ResourceUnavailableException;
43+
import com.cloud.network.NetworkModel;
44+
import com.cloud.user.UserData;
4345

4446
@APICommand(name = "registerUserData",
4547
description = "Register a new userdata.",
4648
since = "4.18",
4749
responseObject = SuccessResponse.class,
4850
requestHasSensitiveInfo = false,
49-
responseHasSensitiveInfo = false)
51+
responseHasSensitiveInfo = false,
52+
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
5053
public class RegisterUserDataCmd extends BaseCmd {
5154

5255
public static final Logger s_logger = Logger.getLogger(RegisterUserDataCmd.class.getName());

0 commit comments

Comments
 (0)