@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { validateInfraAccess(request, "update"); return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { Object instance = objectManager.loadResource(type, id); if (instance == null || !(instance instanceof Instance)) { return super.update(type, id, request, next); } validateInfraAccess(instance, "update"); return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { long accountId = Long.valueOf(id); Account anAdminAccount = accountDao.getAdminAccountExclude(accountId); if (anAdminAccount == null) { Account accountToEdit = accountDao.getAccountById(accountId); Map<String, Object> requestObject = CollectionUtils.toMap(request.getRequestObject()); boolean hasAdmin = requestObject.containsKey("kind"); if (AccountConstants.ADMIN_KIND.equalsIgnoreCase(accountToEdit.getKind()) && hasAdmin && !AccountConstants.ADMIN_KIND.equalsIgnoreCase(String.valueOf(requestObject.get("kind")))) { throw new ClientVisibleException(ResponseCodes.METHOD_NOT_ALLOWED, AccountConstants.LAST_ADMIN_ACCOUNT, "Cannot change the last admin account to not be admin.", AccountConstants.ADMIN_REQUIRED_MESSAGE); } } return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { String cert = DataUtils.getFieldFromRequest(request, "cert", String.class); Certificate certificate = request.proxyRequestObject(Certificate.class); setCertificateFields(cert, certificate); return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { Stack stack = objMgr.loadResource(Stack.class, id); validateInfraAccess(request, stack, "update"); Map<String, Object> data = CollectionUtils.toMap(request.getRequestObject()); Object newName = data.get("name"); if(newName != null) { String stackName = newName.toString(); if(!stackName.equalsIgnoreCase(stack.getName())) { validateStackName(type, request, stackName); } } return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { validateInfraAccess(request, "update"); Map<String, Object> data = CollectionUtils.toMap(request.getRequestObject()); String extracted = DataAccessor.fromMap(data).withKey(MachineConstants.EXTRACTED_CONFIG_FIELD).as(String.class); if (extracted != null) { try { extracted = secretsService.encrypt(ApiUtils.getPolicy().getAccountId(), extracted); } catch (IOException e) { log.error("Failed to encrypt machine secrets", e); throw new ClientVisibleException(ResponseCodes.INTERNAL_SERVER_ERROR, "FailedEncryption"); } data.put(MachineConstants.EXTRACTED_CONFIG_FIELD, extracted); } return super.update(type, id, request, next); }
@Override public Object update(String type, String id, ApiRequest request, ResourceManager next) { Service service = objectManager.loadResource(Service.class, id); Stack stack = objectManager.loadResource(Stack.class, service.getStackId()); validateInfraAccess(request, "update", stack, service); validateLaunchConfigs(service, request); validateSelector(request); validateLbConfig(request, type); validateScalePolicy(service, request, true); validatePorts(service, type, request); return super.update(type, id, request, next); }