@Override
    public void render(OutputStream stream) throws IOException {
        Slime slime = new Slime();
        Cursor root = slime.setObject();

        Cursor versionsObject = root.setObject("versions");
        infrastructureVersions.getTargetVersions().forEach((nodeType, version) -> versionsObject.setString(nodeType.name(), version.toFullString()));

        Cursor osVersionsObject = root.setObject("osVersions");
        osVersions.readChange().targets().forEach((nodeType, target) -> osVersionsObject.setString(nodeType.name(), target.version().toFullString()));

        root.setObject("dockerImages"); // Unused, but present to avoid breaking API

        new JsonFormat(true).encode(stream, slime);
    }
A response containing targets for infrastructure Vespa version and OS version.

@author freva
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/UpgradeResponse.java