diff options
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java new file mode 100644 index 00000000000..1499d5c1b79 --- /dev/null +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java @@ -0,0 +1,35 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.api.integration.configserver; + +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.ClusterSpec; + +import java.util.Collection; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * The client-side version of the node repository's view of applications + * + * @author bratseth + */ +public class Application { + + private ApplicationId id; + private Map<ClusterSpec.Id, Cluster> clusters; + + public Application(ApplicationId id, Collection<Cluster> clusters) { + this.id = id; + this.clusters = clusters.stream().collect(Collectors.toUnmodifiableMap(c -> c.id(), c -> c)); + } + + public ApplicationId id() { return id; } + + public Map<ClusterSpec.Id, Cluster> clusters() { return clusters; } + + @Override + public String toString() { + return "application '" + id + "'"; + } + +} |