public void removeAgentFromAllEnvironments(String uuid) { for (EnvironmentConfig environmentConfig : this) { environmentConfig.removeAgent(uuid); } }
@Override public void removeAgent(String uuid) { for (EnvironmentConfig part : this) { if (part.hasAgent(uuid)) { if (isEditable(part)) part.removeAgent(uuid); else throw bomb("cannot remove agent defined in non-editable source"); } } }
public CruiseConfig update(CruiseConfig cruiseConfig) { AgentConfig agentConfig = cruiseConfig.agents().getAgentByUuid(uuid); bombIfNull(agentConfig, "Unable to set agent resources; Agent [" + uuid + "] not found."); EnvironmentConfig environmentConfig = cruiseConfig.getEnvironments().find(new CaseInsensitiveString(environmentName)); if (environmentConfig == null) { agentConfig.addError("environments", "Environment [" + environmentName + "] does not exist."); } else { if (action.equals(TriStateSelection.Action.add)) { environmentConfig.addAgentIfNew(uuid); } else if (action.equals(TriStateSelection.Action.remove)) { environmentConfig.removeAgent(uuid); } else if (action.equals(TriStateSelection.Action.nochange)) { //do nothing } else { bomb(String.format("unsupported action '%s'", action)); } } return cruiseConfig; } }
@Test public void shouldRemoveAgentFromEnvironment() throws Exception { environmentConfig.addAgent("uuid1"); environmentConfig.addAgent("uuid2"); assertThat(environmentConfig.getAgents().size(), is(2)); assertThat(environmentConfig.hasAgent("uuid1"), is(true)); assertThat(environmentConfig.hasAgent("uuid2"), is(true)); environmentConfig.removeAgent("uuid1"); assertThat(environmentConfig.getAgents().size(), is(1)); assertThat(environmentConfig.hasAgent("uuid1"), is(false)); assertThat(environmentConfig.hasAgent("uuid2"), is(true)); }
@Override public void update(CruiseConfig configForEdit) throws Exception { EnvironmentConfig environmentConfig = configForEdit.getEnvironments().named(this.environmentConfig.name()); for (String uuid : agentsToAdd) { environmentConfig.addAgent(uuid); } for (String uuid : agentsToRemove) { environmentConfig.removeAgent(uuid); } for (String pipelineName : pipelinesToAdd) { environmentConfig.addPipeline(new CaseInsensitiveString(pipelineName)); } for (String pipelineName : pipelinesToRemove) { environmentConfig.removePipeline(new CaseInsensitiveString(pipelineName)); } for (EnvironmentVariableConfig variableConfig : envVarsToAdd) { environmentConfig.addEnvironmentVariable(variableConfig); } for (String variableName : envVarsToRemove) { environmentConfig.getVariables().removeIfExists(variableName); } }
EnvironmentConfig environmentConfig = modifiedConfig.getEnvironments().find(new CaseInsensitiveString(environment)); if (environmentConfig != null) { environmentConfig.removeAgent(agentConfig.getUuid());