diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-01-23 12:16:06 +0100 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-01-23 12:16:06 +0100 |
commit | 53740801d5a99e0516de55dc47a6ec1689345934 (patch) | |
tree | d15e82f3c837d15f01ab33d5017613092368dc0a /controller-api | |
parent | 63d188b40214ae9df9977eba92a62af5e8e3ce5e (diff) |
Disallow digit at beginning, and max 20 characters
Diffstat (limited to 'controller-api')
3 files changed, 7 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/ApplicationId.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/ApplicationId.java index 0a5f2809780..fceecedb9fe 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/ApplicationId.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/ApplicationId.java @@ -22,7 +22,7 @@ public class ApplicationId extends NonDefaultIdentifier { public static void validate(String id) { if (!isLegal(id)) { - throwInvalidId(id, "Must match pattern " + strictPattern, "application"); + throwInvalidId(id, strictPatternExplanation); } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Identifier.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Identifier.java index a7ac1882159..2fd75e25498 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Identifier.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Identifier.java @@ -12,7 +12,11 @@ import java.util.regex.Pattern; */ public abstract class Identifier { - protected static final Pattern strictPattern = Pattern.compile("^(?=.{1,28}$)[a-z0-9](-?[a-z0-9]+)*$"); + protected static final String strictPatternExplanation = + "New tenant or application names must start with a letter, may contain no more than 20 " + + "characters, and may only contain lowercase letters, digits or dashes, but no double-dashes."; + // TODO: Use this also for instances, if they ever get proper support. + protected static final Pattern strictPattern = Pattern.compile("^(?=.{1,20}$)[a-z](-?[a-z0-9]+)*$"); private static final Pattern serializedIdentifierPattern = Pattern.compile("[a-zA-Z0-9_-]+"); private static final Pattern serializedPattern = Pattern.compile("[a-zA-Z0-9_.-]+"); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/TenantId.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/TenantId.java index 82cd6d80ec8..2c619fb58ef 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/TenantId.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/TenantId.java @@ -22,7 +22,7 @@ public class TenantId extends NonDefaultIdentifier { public static void validate(String id) { if (!strictPattern.matcher(id).matches()) { - throwInvalidId(id, "Must match pattern " + strictPattern, "tenant"); + throwInvalidId(id, strictPatternExplanation); } } |