public static void toJSON(OutputWriter outputWriter, EnvironmentConfig environmentViewModel) {
String envName = environmentViewModel.name().toString();
EnvironmentPipelinesConfig pipelines = environmentViewModel.getPipelines();
EnvironmentAgentsConfig agentsViewModel = environmentViewModel.getAgents();
EnvironmentVariablesConfig environmentVariableConfigs = environmentViewModel.getVariables();
outputWriter
.addLinks(linksWriter -> linksWriter
.addLink("self", Routes.Environments.name(envName))
.addAbsoluteLink("doc", Routes.Environments.DOC)
.addLink("find", Routes.Environments.find()))
.add("name", envName)
.addChildList("agents", agentListWriter ->
agentsViewModel.forEach(agent ->
agentListWriter.addChild(propertyWriter -> AgentRepresenter.toJSON(propertyWriter, agent))
)
)
.addChildList("pipelines", listWriter ->
pipelines.forEach(pipelineConfig ->
listWriter.addChild(propertyWriter -> PipelineRepresenter.toJSON(propertyWriter, pipelineConfig))))
.addChildList("environment_variables", environmentListWriter ->
environmentVariableConfigs.forEach(environmentVariable ->
environmentListWriter.addChild(propertyWriter -> EnvironmentVariableRepresenter.toJSON(propertyWriter, environmentVariable))
)
);
}