aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2022-12-05 16:05:38 +0100
committerGitHub <noreply@github.com>2022-12-05 16:05:38 +0100
commit87bb10ce865023969e89692896a6e0236e4fdc73 (patch)
treec7e455b68e326a686d378582a2bc0b91f64f872f /controller-api
parentec21bf916babb35971af12451fb7b64a2a89dd5f (diff)
parent1af3121223de1e1bd2e25c1822fc71208f8aee50 (diff)
Merge pull request #25098 from vespa-engine/jonmv/store-and-share-vpc-service-names
Store and share private service names
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java11
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java1
2 files changed, 11 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
index 8b0b674d682..01a5f9d60bb 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
@@ -5,6 +5,7 @@ import ai.vespa.http.DomainName;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
+import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -22,9 +23,10 @@ public class LoadBalancer {
private final Optional<String> ipAddress;
private final State state;
private final Optional<String> dnsZone;
+ private final Optional<PrivateServiceInfo> service;
public LoadBalancer(String id, ApplicationId application, ClusterSpec.Id cluster, Optional<DomainName> hostname,
- Optional<String> ipAddress, State state, Optional<String> dnsZone) {
+ Optional<String> ipAddress, State state, Optional<String> dnsZone, Optional<PrivateServiceInfo> service) {
this.id = Objects.requireNonNull(id, "id must be non-null");
this.application = Objects.requireNonNull(application, "application must be non-null");
this.cluster = Objects.requireNonNull(cluster, "cluster must be non-null");
@@ -32,6 +34,7 @@ public class LoadBalancer {
this.ipAddress = Objects.requireNonNull(ipAddress, "ipAddress must be non-null");
this.state = Objects.requireNonNull(state, "state must be non-null");
this.dnsZone = Objects.requireNonNull(dnsZone, "dnsZone must be non-null");
+ this.service = Objects.requireNonNull(service, "service must be non-null");
}
public String id() {
@@ -62,6 +65,10 @@ public class LoadBalancer {
return state;
}
+ public Optional<PrivateServiceInfo> service() {
+ return service;
+ }
+
public enum State {
active,
inactive,
@@ -69,4 +76,6 @@ public class LoadBalancer {
unknown
}
+ public record PrivateServiceInfo(String id, List<String> allowedUrns) { }
+
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
index ff0a698bc48..20847c2013f 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java
@@ -135,6 +135,7 @@ enum PathGroup {
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/clusters",
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/logs",
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/metrics",
+ "/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/private-service",
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/suspended",
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/service/{*}",
"/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{ignored}/global-rotation/{*}",