[
https://issues.apache.org/jira/browse/CLOUDSTACK-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15241777#comment-15241777
]
ASF GitHub Bot commented on CLOUDSTACK-8562:
--------------------------------------------
Github user pdube commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1489#discussion_r59777518
--- Diff: api/src/org/apache/cloudstack/acl/RoleType.java ---
@@ -16,18 +16,90 @@
// under the License.
package org.apache.cloudstack.acl;
+import com.cloud.user.Account;
+import com.google.common.base.Enums;
+import com.google.common.base.Strings;
+
// Enum for default roles in CloudStack
public enum RoleType {
- Admin(1), ResourceAdmin(2), DomainAdmin(4), User(8), Unknown(0);
+ Admin(1L, Account.ACCOUNT_TYPE_ADMIN, 1),
+ ResourceAdmin(2L, Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN, 2),
+ DomainAdmin(3L, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, 4),
+ User(4L, Account.ACCOUNT_TYPE_NORMAL, 8),
+ Unknown(-1L, (short) -1, 0);
+ private long id;
+ private short accountType;
private int mask;
- private RoleType(int mask) {
+ RoleType(final long id, final short accountType, final int mask) {
+ this.id = id;
+ this.accountType = accountType;
this.mask = mask;
}
- public int getValue() {
+ public long getId() {
+ return id;
+ }
+
+ public short getAccountType() {
+ return accountType;
+ }
+
+ public int getMask() {
return mask;
}
-}
+ public static RoleType fromString(final String name) {
+ if (!Strings.isNullOrEmpty(name)
+ && Enums.getIfPresent(RoleType.class, name).isPresent()) {
+ return RoleType.valueOf(name);
+ }
+ return null;
+ }
+
+ public static RoleType fromMask(int mask) {
+ for (RoleType roleType : RoleType.values()) {
+ if (roleType.getMask() == mask) {
+ return roleType;
+ }
+ }
+ return Unknown;
+ }
+
+ public static RoleType getByAccountType(final short accountType) {
+ RoleType roleType = RoleType.Unknown;
+ switch (accountType) {
+ case Account.ACCOUNT_TYPE_ADMIN:
+ roleType = RoleType.Admin;
+ break;
+ case Account.ACCOUNT_TYPE_DOMAIN_ADMIN:
+ roleType = RoleType.DomainAdmin;
+ break;
+ case Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN:
+ roleType = RoleType.ResourceAdmin;
--- End diff --
I meant the ResourceAdmin specifically. What is this role? Is there any
documentation on it?
> User Definable Roles
> --------------------
>
> Key: CLOUDSTACK-8562
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8562
> Project: CloudStack
> Issue Type: New Feature
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Management Server
> Reporter: Paul Angus
> Assignee: Rohit Yadav
>
> Static command.properties moved to database and made user definable
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)