public void addAccount(String deploymentName, String providerName, Account newAccount) { Provider provider = providerService.getProvider(deploymentName, providerName); provider.getAccounts().add(newAccount); }
public void addAccount(String deploymentName, String providerName, Account newAccount) { Provider provider = providerService.getProvider(deploymentName, providerName); provider.getAccounts().add(newAccount); }
@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."); } } } }
public void setAccount(String deploymentName, String providerName, String accountName, Account newAccount) { Provider provider = providerService.getProvider(deploymentName, providerName); for (int i = 0; i < provider.getAccounts().size(); i++) { Account account = (Account) provider.getAccounts().get(i); if (account.getNodeName().equals(accountName)) { provider.getAccounts().set(i, newAccount); return; } } throw new HalException(new ConfigProblemBuilder(Severity.FATAL, "Account \"" + accountName + "\" wasn't found").build()); }
public void setAccount(String deploymentName, String providerName, String accountName, Account newAccount) { Provider provider = providerService.getProvider(deploymentName, providerName); for (int i = 0; i < provider.getAccounts().size(); i++) { Account account = (Account) provider.getAccounts().get(i); if (account.getNodeName().equals(accountName)) { provider.getAccounts().set(i, newAccount); return; } } throw new HalException(new ConfigProblemBuilder(Severity.FATAL, "Account \"" + accountName + "\" wasn't found").build()); }
@SuppressWarnings("unchecked") DockerRegistryAccountReverseIndex(Providers providers) { super(); NodeIterator providerNodes = providers.getChildren(); Provider provider; while ((provider = (Provider) providerNodes.getNext()) != null) { for (Account a : (List<? extends Account>) provider.getAccounts()) { if (a instanceof ContainerAccount) { ContainerAccount account = (ContainerAccount) a; List<DockerRegistryReference> registries = account.getDockerRegistries(); registries.forEach(reg -> this.computeIfAbsent(reg.getAccountName(), ignored -> new HashSet<>()).add(account)); } } } } }
@SuppressWarnings("unchecked") DockerRegistryAccountReverseIndex(Providers providers) { super(); NodeIterator providerNodes = providers.getChildren(); Provider provider; while ((provider = (Provider) providerNodes.getNext()) != null) { for (Account a : (List<? extends Account>) provider.getAccounts()) { if (a instanceof ContainerAccount) { ContainerAccount account = (ContainerAccount) a; List<DockerRegistryReference> registries = account.getDockerRegistries(); registries.forEach(reg -> this.computeIfAbsent(reg.getAccountName(), ignored -> new HashSet<>()).add(account)); } } } } }
public void deleteAccount(String deploymentName, String providerName, String accountName) { Provider provider = providerService.getProvider(deploymentName, providerName); boolean removed = provider.getAccounts().removeIf(account -> ((Account) account).getName().equals(accountName)); if (!removed) { throw new HalException( new ConfigProblemBuilder(Severity.FATAL, "Account \"" + accountName + "\" wasn't found") .build()); } }
public void deleteAccount(String deploymentName, String providerName, String accountName) { Provider provider = providerService.getProvider(deploymentName, providerName); boolean removed = provider.getAccounts().removeIf(account -> ((Account) account).getName().equals(accountName)); if (!removed) { throw new HalException( new ConfigProblemBuilder(Severity.FATAL, "Account \"" + accountName + "\" wasn't found") .build()); } }
@Override protected void executeThis() { Provider provider = getProvider(); List<Account> accounts = provider.getAccounts(); if (accounts.isEmpty()) { AnsiUi.success("No configured accounts for " + getProviderName() + "."); } else { AnsiUi.success("Accounts for " + getProviderName() + ":"); accounts.forEach(account -> AnsiUi.listItem(account.getName())); } } }
@Override protected void executeThis() { Provider provider = getProvider(); List<Account> accounts = provider.getAccounts(); if (accounts.isEmpty()) { AnsiUi.success("No configured accounts for " + getProviderName() + "."); } else { AnsiUi.success("Accounts for " + getProviderName() + ":"); accounts.forEach(account -> AnsiUi.listItem(account.getName())); } } }
@SuppressWarnings("unchecked") private void removeBootstrapOnlyAccount(Providers providers, String deploymentName, String bootstrapAccountName) { Account bootstrapAccount = accountService.getAnyProviderAccount(deploymentName, bootstrapAccountName); Provider bootstrapProvider = ((Provider) bootstrapAccount.getParent()); bootstrapProvider.getAccounts().remove(bootstrapAccount); if (bootstrapProvider.getAccounts().isEmpty()) { bootstrapProvider.setEnabled(false); if (bootstrapAccount instanceof ContainerAccount) { ContainerAccount containerAccount = (ContainerAccount) bootstrapAccount; DockerRegistryAccountReverseIndex revIndex = new DockerRegistryAccountReverseIndex(providers); containerAccount.getDockerRegistries().forEach(reg -> { Set<Account> dependentAccounts = revIndex.get(reg.getAccountName()); if (dependentAccounts == null || dependentAccounts.isEmpty()) { DockerRegistryAccount regAcct = (DockerRegistryAccount) accountService.getAnyProviderAccount(deploymentName, reg.getAccountName()); ((DockerRegistryProvider) regAcct.getParent()).getAccounts().remove(regAcct); } }); if (providers.getDockerRegistry().getAccounts().isEmpty()) { providers.getDockerRegistry().setEnabled(false); } } } }
@SuppressWarnings("unchecked") private void removeBootstrapOnlyAccount(Providers providers, String deploymentName, String bootstrapAccountName) { Account bootstrapAccount = accountService.getAnyProviderAccount(deploymentName, bootstrapAccountName); Provider bootstrapProvider = ((Provider) bootstrapAccount.getParent()); bootstrapProvider.getAccounts().remove(bootstrapAccount); if (bootstrapProvider.getAccounts().isEmpty()) { bootstrapProvider.setEnabled(false); if (bootstrapAccount instanceof ContainerAccount) { ContainerAccount containerAccount = (ContainerAccount) bootstrapAccount; DockerRegistryAccountReverseIndex revIndex = new DockerRegistryAccountReverseIndex(providers); containerAccount.getDockerRegistries().forEach(reg -> { Set<Account> dependentAccounts = revIndex.get(reg.getAccountName()); if (dependentAccounts == null || dependentAccounts.isEmpty()) { DockerRegistryAccount regAcct = (DockerRegistryAccount) accountService.getAnyProviderAccount(deploymentName, reg.getAccountName()); ((DockerRegistryProvider) regAcct.getParent()).getAccounts().remove(regAcct); } }); if (providers.getDockerRegistry().getAccounts().isEmpty()) { providers.getDockerRegistry().setEnabled(false); } } } }
@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(); } } }
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(); }
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(); }