diff options
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java index ba7a3c2f06b..a046df1ac9a 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java @@ -29,6 +29,8 @@ public class HostSpec implements Comparable<HostSpec> { private final Optional<NetworkPorts> networkPorts; + private Optional<NodeResources> requestedResources; + public HostSpec(String hostname, Optional<ClusterMembership> membership) { this(hostname, new ArrayList<>(), Optional.empty(), membership); } @@ -61,15 +63,22 @@ public class HostSpec implements Comparable<HostSpec> { public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor, Optional<ClusterMembership> membership, Optional<com.yahoo.component.Version> version, Optional<NetworkPorts> networkPorts) { + this(hostname, aliases, flavor, membership, version, networkPorts, Optional.empty()); + } + + public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor, + Optional<ClusterMembership> membership, Optional<com.yahoo.component.Version> version, + Optional<NetworkPorts> networkPorts, Optional<NodeResources> requestedResources) { if (hostname == null || hostname.isEmpty()) throw new IllegalArgumentException("Hostname must be specified"); - Objects.requireNonNull(version, "Version cannot be null but can be empty"); - Objects.requireNonNull(networkPorts, "Network ports cannot be null but can be empty"); + + this.hostname = hostname; this.aliases = List.copyOf(aliases); this.flavor = flavor; this.membership = membership; - this.version = version; - this.networkPorts = networkPorts; + this.version = Objects.requireNonNull(version, "Version cannot be null but can be empty");; + this.networkPorts = Objects.requireNonNull(networkPorts, "Network ports cannot be null but can be empty");; + this.requestedResources = Objects.requireNonNull(requestedResources, "RequestedResources cannot be null"); } /** Returns the name identifying this host */ @@ -89,6 +98,9 @@ public class HostSpec implements Comparable<HostSpec> { /** Returns the network port allocations on this host, or empty if not present */ public Optional<NetworkPorts> networkPorts() { return networkPorts; } + /** Returns the requested resources leading to this host being provisioned, or empty if not known */ + public Optional<NodeResources> requestedResources() { return requestedResources; } + @Override public String toString() { return hostname + |