aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-01-23 12:16:06 +0100
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-01-23 12:16:06 +0100
commit53740801d5a99e0516de55dc47a6ec1689345934 (patch)
treed15e82f3c837d15f01ab33d5017613092368dc0a /controller-api
parent63d188b40214ae9df9977eba92a62af5e8e3ce5e (diff)
Disallow digit at beginning, and max 20 characters
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/ApplicationId.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Identifier.java6
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/TenantId.java2
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);
}
}