diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-04-08 13:27:51 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-04-08 13:27:51 +0200 |
commit | df8cf4a64723a469916f4307c52de6ad62b7f577 (patch) | |
tree | bc484b7a73287ceeb61b9d331848c4067d11cb3e /config-model-api | |
parent | 2f736a2961ccbe3977877c143e390668ae7de8bf (diff) |
Validate resource changes by the lower limit
Diffstat (limited to 'config-model-api')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java | 1 | ||||
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/model/api/Provisioned.java | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index c5477bf55b3..b8f03794301 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -27,6 +27,7 @@ public interface ModelContext { Optional<Model> previousModel(); Optional<ApplicationPackage> permanentApplicationPackage(); Optional<HostProvisioner> hostProvisioner(); + Provisioned provisioned(); DeployLogger deployLogger(); ConfigDefinitionRepo configDefinitionRepo(); FileRegistry getFileRegistry(); diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/Provisioned.java b/config-model-api/src/main/java/com/yahoo/config/model/api/Provisioned.java new file mode 100644 index 00000000000..e4201836e57 --- /dev/null +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/Provisioned.java @@ -0,0 +1,28 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.model.api; + +import com.yahoo.config.provision.Capacity; +import com.yahoo.config.provision.ClusterSpec; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +/** + * A recording of the capacity requests issued during a model build. + * Requests are only recorded here if provision requests are issued to the node repo. + * + * @author bratseth + */ +public class Provisioned { + + private final Map<ClusterSpec.Id, Capacity> provisioned = new HashMap<>(); + + public void add(ClusterSpec.Id id, Capacity capacity) { + provisioned.put(id, capacity); + } + + /** Returns an unmodifiable map of all the provision requests recorded during build of the model this belongs to */ + public Map<ClusterSpec.Id, Capacity> all() { return Collections.unmodifiableMap(provisioned); } + +} |