public void setAccount(String deploymentName, String serviceIntegrationName, String accountName, AbstractCanaryAccount newAccount) { AbstractCanaryServiceIntegration serviceIntegration = getServiceIntegration(deploymentName, serviceIntegrationName); for (int i = 0; i < serviceIntegration.getAccounts().size(); i++) { AbstractCanaryAccount account = (AbstractCanaryAccount)serviceIntegration.getAccounts().get(i); if (account.getNodeName().equals(accountName)) { serviceIntegration.getAccounts().set(i, newAccount); return; } } throw new HalException(new ConfigProblemBuilder(Severity.FATAL, "Canary account \"" + accountName + "\" wasn't found").build()); }
public void setAccount(String deploymentName, String serviceIntegrationName, String accountName, AbstractCanaryAccount newAccount) { AbstractCanaryServiceIntegration serviceIntegration = getServiceIntegration(deploymentName, serviceIntegrationName); for (int i = 0; i < serviceIntegration.getAccounts().size(); i++) { AbstractCanaryAccount account = (AbstractCanaryAccount)serviceIntegration.getAccounts().get(i); if (account.getNodeName().equals(accountName)) { serviceIntegration.getAccounts().set(i, newAccount); return; } } throw new HalException(new ConfigProblemBuilder(Severity.FATAL, "Canary account \"" + accountName + "\" wasn't found").build()); }
@Override public void validate(ConfigProblemSetBuilder p, AbstractCanaryAccount n) { super.validate(p, n); PrometheusCanaryAccount canaryAccount = (PrometheusCanaryAccount)n; DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + PrometheusCanaryAccountValidator.class.getSimpleName()); String usernamePasswordFile = canaryAccount.getUsernamePasswordFile(); if (StringUtils.isNotEmpty(usernamePasswordFile)) { String usernamePassword = ValidatingFileReader.contents(p, usernamePasswordFile); if (Strings.isNullOrEmpty(usernamePassword)) { p.addProblem(ERROR, "The supplied username password file does not exist or is empty.") .setRemediation("Supply a valid username password file."); } else if (!usernamePassword.contains(":")) { p.addProblem(ERROR, "The supplied username password file does not contain a ':'.") .setRemediation("Supply a username password file containing \"username:password\"."); } } } }
public static String format(AbstractCanaryAccount account) { AnsiStoryBuilder resultBuilder = new AnsiStoryBuilder(); AnsiParagraphBuilder paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(account.getNodeName().toUpperCase()).addStyle(AnsiStyle.BOLD); resultBuilder.addNewline(); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(account.toString()); return resultBuilder.toString(); }
@Override public void validate(ConfigProblemSetBuilder p, AbstractCanaryAccount n) { super.validate(p, n); GoogleCanaryAccount canaryAccount = (GoogleCanaryAccount)n; DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + GoogleCanaryAccountValidator.class.getSimpleName()); GoogleNamedAccountCredentials credentials = canaryAccount.getNamedAccountCredentials(halyardVersion, p); if (credentials == null) { return; } try { Compute compute = credentials.getCompute(); compute.projects().get(canaryAccount.getProject()).execute(); } catch (IOException e) { p.addProblem(Severity.ERROR, "Failed to load project \"" + canaryAccount.getProject() + "\": " + e.getMessage() + "."); } } }
DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + GoogleCanaryAccountValidator.class.getSimpleName());