diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java index 5db88dbd0db..5619e99308d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/UrlConfigValidator.java @@ -1,8 +1,8 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.application.validation; -import com.yahoo.config.model.deploy.DeployState; import com.yahoo.vespa.model.VespaModel; +import com.yahoo.vespa.model.application.validation.Validation.Context; import com.yahoo.vespa.model.container.ApplicationContainerCluster; /** @@ -10,15 +10,15 @@ import com.yahoo.vespa.model.container.ApplicationContainerCluster; * * @author hmusum */ -public class UrlConfigValidator extends Validator { +public class UrlConfigValidator implements Validator { @Override - public void validate(VespaModel model, DeployState state) { - if (! state.isHostedTenantApplication(model.getAdmin().getApplicationType())) return; + public void validate(Context context) { + if (! context.deployState().isHostedTenantApplication(context.model().getAdmin().getApplicationType())) return; - model.getContainerClusters().forEach((__, cluster) -> { - var isExclusive = hasExclusiveNodes(model, cluster); - validateS3UlsInConfig(state, cluster, isExclusive); + context.model().getContainerClusters().forEach((__, cluster) -> { + var isExclusive = hasExclusiveNodes(context.model(), cluster); + validateS3UlsInConfig(context, cluster, isExclusive); }); } @@ -30,15 +30,15 @@ public class UrlConfigValidator extends Validator { .anyMatch(membership -> membership.cluster().isExclusive()); } - private static void validateS3UlsInConfig(DeployState state, ApplicationContainerCluster cluster, boolean isExclusive) { + private static void validateS3UlsInConfig(Context context, ApplicationContainerCluster cluster, boolean isExclusive) { if (hasS3UrlInConfig(cluster)) { // TODO: Would be even better if we could add which config/field the url is set for in the error message String message = "Found s3:// urls in config for container cluster " + cluster.getName(); - if ( ! state.zone().system().isPublic()) - throw new IllegalArgumentException(message + ". This is only supported in public systems"); + if ( ! context.deployState().zone().system().isPublic()) + context.illegal(message + ". This is only supported in public systems"); else if ( ! isExclusive) - throw new IllegalArgumentException(message + ". Nodes in the cluster need to be 'exclusive'," + - " see https://cloud.vespa.ai/en/reference/services#nodes"); + context.illegal(message + ". Nodes in the cluster need to be 'exclusive'," + + " see https://cloud.vespa.ai/en/reference/services#nodes"); } } |