/** * Validates vCenter user credentials from create or update parameters. * * @param param either vCenter create or update param. * @param vcenter vCenter object. */ private void validateVcenterCredentials(VcenterParam param, Vcenter vcenter) { if (StringUtils.isBlank(param.getPassword()) && vcenter != null) { param.setPassword(StringUtils.trimToNull(vcenter.getPassword())); } if (StringUtils.isBlank(param.getUserName()) && vcenter != null) { param.setUserName(StringUtils.trimToNull(vcenter.getUsername())); } ArgValidator.checkFieldNotNull(param.getUserName(), "username"); ArgValidator.checkFieldNotNull(param.getPassword(), "password"); }
/** * Populate an instance of vcenter with the provided vcenter parameter * * @param vcenter the vcenter to be populated * @param param the parameter that contains the attributes. */ protected void populateVcenterData(Vcenter vcenter, VcenterParam param) { vcenter.setLabel(param.getName()); vcenter.setOsVersion(param.getOsVersion()); vcenter.setUsername(param.getUserName()); vcenter.setPassword(param.getPassword()); vcenter.setIpAddress(param.findIpAddress()); vcenter.setPortNumber(param.getPortNumber()); vcenter.setUseSSL(param.getUseSsl()); }
protected static String validateVCenterAPIConnection(String hostname, VcenterParam vcenterParam) { try { URL url = new URL("https", hostname, vcenterParam.getPortNumber(), "/sdk"); VCenterAPI vcenterAPI = new VCenterAPI(url); try { vcenterAPI.login(vcenterParam.getUserName(), vcenterParam.getPassword()); AboutInfo aboutInfo = vcenterAPI.getAboutInfo(); if (!StringUtils.equals(VCenterAPI.VCENTER_API_TYPE, aboutInfo.getApiType())) { throw APIException.badRequests.invalidNotAVCenter(hostname, aboutInfo.getFullName()); } log.info(String.format("vCenter version: %s", aboutInfo.getVersion())); } finally { vcenterAPI.logout(); } } catch (Exception e) { return getVcenterAPIMessage(e); } return null; }