@Override public void validate(ConfigProblemSetBuilder p, Provider n) { if (n.isEnabled()) { if (n.getAccounts() == null || n.getAccounts().isEmpty()) { p.addProblem(Problem.Severity.WARNING, "Provider " + n.getNodeName() + " is enabled, but no accounts have been configured."); } } } }
@Override public void validate(ConfigProblemSetBuilder p, Provider n) { if (n.isEnabled()) { if (n.getAccounts() == null || n.getAccounts().isEmpty()) { p.addProblem(Problem.Severity.WARNING, "Provider " + n.getNodeName() + " is enabled, but no accounts have been configured."); } } } }
private void augmentProvidersBaseImages(Providers providers, Providers otherProviders) { NodeIterator iterator = providers.getChildren(); Provider child = (Provider) iterator.getNext(); while (child != null) { if (child instanceof HasImageProvider) { NodeIterator otherIterator = otherProviders.getChildren(); NodeFilter providerFilter = new NodeFilter().setProvider(child.getNodeName()); HasImageProvider otherChild = (HasImageProvider) otherIterator.getNext(providerFilter); if (otherChild == null) { log.warn("images.yml has no images stored for " + child.getNodeName()); } else { log.info("Adding default images for " + child.getNodeName()); ((HasImageProvider) child).getBakeryDefaults().addDefaultImages(otherChild.getBakeryDefaults().getBaseImages()); } } child = (Provider) iterator.getNext(); } } }
private void augmentProvidersBaseImages(Providers providers, Providers otherProviders) { NodeIterator iterator = providers.getChildren(); Provider child = (Provider) iterator.getNext(); while (child != null) { if (child instanceof HasImageProvider) { NodeIterator otherIterator = otherProviders.getChildren(); NodeFilter providerFilter = new NodeFilter().setProvider(child.getNodeName()); HasImageProvider otherChild = (HasImageProvider) otherIterator.getNext(providerFilter); if (otherChild == null) { log.warn("images.yml has no images stored for " + child.getNodeName()); } else { log.info("Adding default images for " + child.getNodeName()); ((HasImageProvider) child).getBakeryDefaults().addDefaultImages(otherChild.getBakeryDefaults().getBaseImages()); } } child = (Provider) iterator.getNext(); } } }
@Override public void validate(ConfigProblemSetBuilder p, Providers n) { Set<String> accounts = new HashSet<>(); NodeIterator nodeIterator = n.getChildren(); Node child = nodeIterator.getNext(); while (child != null) { Provider provider = (Provider) child; for (Account account : (List<Account>) provider.getAccounts()) { if (accounts.contains(account.getName())) { p.addProblem(Severity.FATAL, "Account \"" + account.getName() + "\" appears more than once") .setRemediation("Change the name of the account in " + provider.getNodeName()); } else { accounts.add(account.getName()); } } child = nodeIterator.getNext(); } } }
@Override public void validate(ConfigProblemSetBuilder p, Providers n) { Set<String> accounts = new HashSet<>(); NodeIterator nodeIterator = n.getChildren(); Node child = nodeIterator.getNext(); while (child != null) { Provider provider = (Provider) child; for (Account account : (List<Account>) provider.getAccounts()) { if (accounts.contains(account.getName())) { p.addProblem(Severity.FATAL, "Account \"" + account.getName() + "\" appears more than once") .setRemediation("Change the name of the account in " + provider.getNodeName()); } else { accounts.add(account.getName()); } } child = nodeIterator.getNext(); } } }
@Override protected void setProfile(Profile profile, DeploymentConfiguration deploymentConfiguration, SpinnakerRuntimeSettings endpoints) { super.setProfile(profile, deploymentConfiguration, endpoints); Providers providers = deploymentConfiguration.getProviders(); Providers otherProviders = getImageProviders(profile.getVersion(), deploymentConfiguration.getName()); augmentProvidersBaseImages(providers, otherProviders); List<String> files = backupRequiredFiles(providers, deploymentConfiguration.getName()); Map imageProviders = new TreeMap(); NodeIterator iterator = providers.getChildren(); Provider child = (Provider) iterator.getNext(); while (child != null) { if (child instanceof HasImageProvider && child.isEnabled()) { imageProviders.put(child.getNodeName(), strictObjectMapper.convertValue(child, Map.class)); } child = (Provider) iterator.getNext(); } if (!imageProviders.isEmpty()) { profile.appendContents(yamlParser.dump(imageProviders)); } profile.appendContents(profile.getBaseContents()) .setRequiredFiles(files); }
public static <A extends Account> String format(Provider<A> provider) { AnsiStoryBuilder resultBuilder = new AnsiStoryBuilder(); AnsiParagraphBuilder paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(provider.getNodeName().toUpperCase()).addStyle(AnsiStyle.BOLD); paragraph.addSnippet(" provider"); resultBuilder.addNewline(); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet("enabled: " + provider.isEnabled()); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet("accounts: "); List<A> accounts = provider.getAccounts(); if (accounts == null || accounts.isEmpty()) { paragraph.addSnippet("[]"); } else { accounts.forEach(account -> { AnsiParagraphBuilder list = resultBuilder.addParagraph().setIndentFirstLine(true).setIndentWidth(1); list.addSnippet("- "); list.addSnippet(account.getName()); }); } return resultBuilder.toString(); }
public static String format(Provider provider) { AnsiStoryBuilder resultBuilder = new AnsiStoryBuilder(); AnsiParagraphBuilder paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(provider.getNodeName().toUpperCase()).addStyle(AnsiStyle.BOLD); paragraph.addSnippet(" provider"); resultBuilder.addNewline(); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet("enabled: " + provider.isEnabled()); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet("accounts: "); List<Account> accounts = provider.getAccounts(); if (accounts == null || accounts.isEmpty()) { paragraph.addSnippet("[]"); } else { accounts.forEach(account -> { AnsiParagraphBuilder list = resultBuilder.addParagraph().setIndentFirstLine(true).setIndentWidth(1); list.addSnippet("- "); list.addSnippet(account.getName()); }); } return resultBuilder.toString(); }