diff options
author | jonmv <venstad@gmail.com> | 2023-01-26 08:52:18 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-01-26 08:52:18 +0100 |
commit | 26b90b0ad94528d450a07a65f4e7ee456c3aae33 (patch) | |
tree | a6de1eec0efce419534f635628ca4cf4e4153427 /controller-api | |
parent | d01b7d1cc323149e65698c41c92a18437470b972 (diff) |
Let controller read whether zone endpoints are public
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java | 78 |
1 files changed, 17 insertions, 61 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 26330f11d65..0c81fbd3670 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 @@ -8,74 +8,30 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.ZoneEndpoint.AllowedUrn; import java.util.List; -import java.util.Objects; import java.util.Optional; +import static java.util.Objects.requireNonNull; + /** * Represents an exclusive load balancer, assigned to an application's cluster. * * @author mortent */ -public class LoadBalancer { - - private final String id; - private final ApplicationId application; - private final ClusterSpec.Id cluster; - private final Optional<DomainName> hostname; - private final Optional<String> ipAddress; - private final State state; - private final Optional<String> dnsZone; - private final Optional<CloudAccount> cloudAccount; - 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<CloudAccount> cloudAccount, 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"); - this.hostname = Objects.requireNonNull(hostname, "hostname must be non-null"); - 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.cloudAccount = Objects.requireNonNull(cloudAccount, "cloudAccount must be non-null"); - this.service = Objects.requireNonNull(service, "service must be non-null"); - } - - public String id() { - return id; - } - - public ApplicationId application() { - return application; - } - - public ClusterSpec.Id cluster() { - return cluster; - } - - public Optional<DomainName> hostname() { - return hostname; - } - - public Optional<String> ipAddress() { - return ipAddress; - } - - public Optional<String> dnsZone() { - return dnsZone; - } - - public State state() { - return state; - } - - public Optional<CloudAccount> cloudAccount() { - return cloudAccount; - } - - public Optional<PrivateServiceInfo> service() { - return service; +public record LoadBalancer(String id, ApplicationId application, ClusterSpec.Id cluster, + Optional<DomainName> hostname, Optional<String> ipAddress, + State state, Optional<String> dnsZone, Optional<CloudAccount> cloudAccount, + Optional<PrivateServiceInfo> service, boolean isPublic) { + + public LoadBalancer { + requireNonNull(id, "id must be non-null"); + requireNonNull(application, "application must be non-null"); + requireNonNull(cluster, "cluster must be non-null"); + requireNonNull(hostname, "hostname must be non-null"); + requireNonNull(ipAddress, "ipAddress must be non-null"); + requireNonNull(state, "state must be non-null"); + requireNonNull(dnsZone, "dnsZone must be non-null"); + requireNonNull(cloudAccount, "cloudAccount must be non-null"); + requireNonNull(service, "service must be non-null"); } public enum State { |