diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/CreateImageTransferCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/CreateImageTransferCmd.java index 8948d1a0d5f..eeb63b985d5 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/CreateImageTransferCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/CreateImageTransferCmd.java @@ -81,7 +81,7 @@ public class CreateImageTransferCmd extends BaseCmd implements AdminCmd { } public ImageTransfer.Format getFormat() { - return EnumUtils.fromString(ImageTransfer.Format.class, format); + return EnumUtils.getEnum(ImageTransfer.Format.class, format); } @Override diff --git a/plugins/integrations/veeam-control-service/pom.xml b/plugins/integrations/veeam-control-service/pom.xml index cc0349b75d6..4b1b1f4501a 100644 --- a/plugins/integrations/veeam-control-service/pom.xml +++ b/plugins/integrations/veeam-control-service/pom.xml @@ -24,7 +24,7 @@ org.apache.cloudstack cloudstack-plugins - 4.22.1.0-SNAPSHOT + 4.23.0.0-SNAPSHOT ../../pom.xml diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java index 48332b702d1..3990b1e129a 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java @@ -1447,11 +1447,11 @@ public class ServerAdapter extends ManagerBase { } accountService.checkAccess(CallContext.current().getCallingAccount(), null, false, volumeVO); - Direction direction = EnumUtils.fromString(Direction.class, request.getDirection()); + Direction direction = EnumUtils.getEnum(Direction.class, request.getDirection()); if (direction == null) { throw new InvalidParameterValueException("Invalid or missing direction"); } - Format format = EnumUtils.fromString(Format.class, request.getFormat()); + Format format = EnumUtils.getEnum(Format.class, request.getFormat()); Long backupId = null; if (request.getBackup() != null && StringUtils.isNotBlank(request.getBackup().getId())) { BackupVO backupVO = backupDao.findByUuid(request.getBackup().getId()); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java index 9607e794998..1d557d186f0 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java @@ -348,7 +348,7 @@ public final class Vm extends BaseDto { @JsonIgnore public int getTypeOrdinal() { - Type enumType = EnumUtils.fromString(Type.class, type, Type.q35_sea_bios); + Type enumType = EnumUtils.getEnum(Type.class, type, Type.q35_sea_bios); return enumType.ordinal(); } diff --git a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java index ab7662f4430..4ec96636235 100644 --- a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java +++ b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java @@ -597,6 +597,10 @@ public class MockAccountManager extends ManagerBase implements AccountManager { public void checkApiAccess(Account account, String command, String apiKey) throws PermissionDeniedException { } + @Override + public void checkApiAccess(Account caller, String command) throws PermissionDeniedException { + } + @Override public UserAccount clearUserTwoFactorAuthenticationInSetupStateOnLogin(UserAccount user) { return null; diff --git a/server/src/main/java/com/cloud/user/AccountManager.java b/server/src/main/java/com/cloud/user/AccountManager.java index 98d2419e048..eca1a571dd8 100644 --- a/server/src/main/java/com/cloud/user/AccountManager.java +++ b/server/src/main/java/com/cloud/user/AccountManager.java @@ -204,6 +204,8 @@ public interface AccountManager extends AccountService, Configurable { void checkApiAccess(Account caller, String command, String apiKey); + void checkApiAccess(Account caller, String command); + UserAccount clearUserTwoFactorAuthenticationInSetupStateOnLogin(UserAccount user); void verifyCallerPrivilegeForUserOrAccountOperations(Account userAccount); diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java b/server/src/main/java/com/cloud/user/AccountManagerImpl.java index c9f4feea8e9..9c7c8141f8e 100644 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@ -1535,6 +1535,12 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M checkApiAccess(apiCheckers, caller, command, keyPairPermissions.toArray(new ApiKeyPairPermission[0])); } + @Override + public void checkApiAccess(Account caller, String command) { + List apiCheckers = getEnabledApiCheckers(); + checkApiAccess(apiCheckers, caller, command); + } + @NotNull private List getEnabledApiCheckers() { // we are really only interested in the dynamic access checker