aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java78
1 files changed, 61 insertions, 17 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 0c81fbd3670..26330f11d65 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,30 +8,74 @@ 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 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 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 enum State {