aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon.hallingstad@gmail.com>2023-11-21 09:56:48 +0100
committerGitHub <noreply@github.com>2023-11-21 09:56:48 +0100
commitccc4d65ca958036b37a4fbbbcca443f2a873077f (patch)
tree90b096bf5b1229393fd285d917ff3fd2caf40c17
parent8f9be373aca924f1d146ceb668c7b9a8463c6da3 (diff)
parent885d166a929765dd0bdb41537a4b89ddb143fd0f (diff)
Merge pull request #29371 from vespa-engine/hakonhall/add-links-to-core-dump-ticketsv8.263.7
Methods to get InfrastructureApplication and NodeType from names
-rw-r--r--application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java11
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java8
2 files changed, 19 insertions, 0 deletions
diff --git a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java
index 560c3d169d3..72a278b248a 100644
--- a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java
+++ b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java
@@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.NodeType;
import java.util.List;
+import java.util.Optional;
import java.util.stream.Stream;
/**
@@ -37,6 +38,16 @@ public enum InfrastructureApplication {
.orElseThrow(() -> new IllegalArgumentException("No application associated with " + nodeType));
}
+ public static Optional<InfrastructureApplication> ofOptional(ApplicationId applicationId) {
+ for (var application : values()) {
+ if (application.id.equals(applicationId)) {
+ return Optional.of(application);
+ }
+ }
+
+ return Optional.empty();
+ }
+
InfrastructureApplication(String name, NodeType nodeType) {
this.id = ApplicationId.from(TenantId.HOSTED_VESPA.value(), name, "default");
this.nodeType = nodeType;
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
index 0eac568ec45..ff2cb26f250 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
@@ -2,6 +2,7 @@
package com.yahoo.config.provision;
import java.util.List;
+import java.util.Optional;
/**
* The possible types of nodes in the node repository
@@ -37,6 +38,13 @@ public enum NodeType {
private final String description;
private final List<NodeType> childNodeTypes;
+ public static Optional<NodeType> ofOptional(String name) {
+ for (var type : values()) {
+ if (type.name().equals(name)) return Optional.of(type);
+ }
+ return Optional.empty();
+ }
+
NodeType(String description, NodeType... childNodeTypes) {
this.childNodeTypes = List.of(childNodeTypes);
this.description = description;