/** * @param cmd * @param owner * @throws InvalidParameterValueException */ protected void checkForKeyByName(final RegisterSSHKeyPairCmd cmd, final Account owner) throws InvalidParameterValueException { final SSHKeyPairVO existingPair = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), cmd.getName()); if (existingPair != null) { throw new InvalidParameterValueException("A key pair with name '" + cmd.getName() + "' already exists for this account."); } }
public static String getKeyPairName(String sshPublicKey) { SSHKeyPairVO sshKeyPair = s_sshKeyPairDao.findByPublicKey(sshPublicKey); //key might be removed prior to this point if (sshKeyPair != null) { return sshKeyPair.getName(); } return null; }
final SSHKeyPairVO s = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), cmd.getName()); if (s == null) { final InvalidParameterValueException ex = new InvalidParameterValueException( return _sshKeyPairDao.deleteByName(owner.getAccountId(), owner.getDomainId(), cmd.getName());
List<SSHKeyPairVO> sshkeypairs = _sshKeyPairDao.listKeyPairs(accountId, account.getDomainId()); for (SSHKeyPairVO keypair : sshkeypairs) { _sshKeyPairDao.remove(keypair.getId());
@Override public Pair<List<? extends SSHKeyPair>, Integer> listSSHKeyPairs(final ListSSHKeyPairsCmd cmd) { final String name = cmd.getName(); final String fingerPrint = cmd.getFingerprint(); final String keyword = cmd.getKeyword(); final Account caller = getCaller(); final List<Long> permittedAccounts = new ArrayList<Long>(); final Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean, ListProjectResourcesCriteria>(cmd.getDomainId(), cmd.isRecursive(), null); _accountMgr.buildACLSearchParameters(caller, null, cmd.getAccountName(), cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, cmd.listAll(), false); final Long domainId = domainIdRecursiveListProject.first(); final Boolean isRecursive = domainIdRecursiveListProject.second(); final ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third(); final SearchBuilder<SSHKeyPairVO> sb = _sshKeyPairDao.createSearchBuilder(); _accountMgr.buildACLSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria); final Filter searchFilter = new Filter(SSHKeyPairVO.class, "id", false, cmd.getStartIndex(), cmd.getPageSizeVal()); final SearchCriteria<SSHKeyPairVO> sc = sb.create(); _accountMgr.buildACLSearchCriteria(sc, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria); if (name != null) { sc.addAnd("name", SearchCriteria.Op.EQ, name); } if (fingerPrint != null) { sc.addAnd("fingerprint", SearchCriteria.Op.EQ, fingerPrint); } if (keyword != null) { sc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); sc.addOr("fingerprint", SearchCriteria.Op.LIKE, "%" + keyword + "%"); } final Pair<List<SSHKeyPairVO>, Integer> result = _sshKeyPairDao.searchAndCount(sc, searchFilter); return new Pair<List<? extends SSHKeyPair>, Integer>(result.first(), result.second()); }
private SSHKeyPair createAndSaveSSHKeyPair(final String name, final String fingerprint, final String publicKey, final String privateKey, final Account owner) { final SSHKeyPairVO newPair = new SSHKeyPairVO(); newPair.setAccountId(owner.getAccountId()); newPair.setDomainId(owner.getDomainId()); newPair.setName(name); newPair.setFingerprint(fingerprint); newPair.setPublicKey(publicKey); newPair.setPrivateKey(privateKey); // transient; not saved. _sshKeyPairDao.persist(newPair); return newPair; }
@Override public SSHKeyPair createSSHKeyPair(final CreateSSHKeyPairCmd cmd) { final Account caller = getCaller(); final String accountName = cmd.getAccountName(); final Long domainId = cmd.getDomainId(); final Long projectId = cmd.getProjectId(); final Account owner = _accountMgr.finalizeOwner(caller, accountName, domainId, projectId); final SSHKeyPairVO s = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), cmd.getName()); if (s != null) { throw new InvalidParameterValueException("A key pair with name '" + cmd.getName() + "' already exists."); } final SSHKeysHelper keys = new SSHKeysHelper(sshKeyLength.value()); final String name = cmd.getName(); final String publicKey = keys.getPublicKey(); final String fingerprint = keys.getPublicKeyFingerPrint(); final String privateKey = keys.getPrivateKey(); return createAndSaveSSHKeyPair(name, fingerprint, publicKey, privateKey, owner); }
/** * @param cmd * @param owner * @throws InvalidParameterValueException */ private void checkForKeyByPublicKey(final RegisterSSHKeyPairCmd cmd, final Account owner) throws InvalidParameterValueException { final SSHKeyPairVO existingPair = _sshKeyPairDao.findByPublicKey(owner.getAccountId(), owner.getDomainId(), getPublicKeyFromKeyKeyMaterial(cmd.getPublicKey())); if (existingPair != null) { throw new InvalidParameterValueException("A key pair with key '" + cmd.getPublicKey() + "' already exists for this account."); } }
SSHKeyPairVO s = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), cmd.getName()); if (s == null) { throw new InvalidParameterValueException("A key pair with name '" + cmd.getName() + "' does not exist for account " + owner.getAccountName()
SSHKeyPair pair = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(), sshKeyPair); if (pair == null) { throw new InvalidParameterValueException("A key pair with name '" + sshKeyPair + "' was not found.");