summaryrefslogtreecommitdiffstats
path: root/node-repository/src
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-12-05 15:25:24 +0100
committerjonmv <venstad@gmail.com>2022-12-05 15:25:24 +0100
commitf04f6d4eb106e435a3a233aba6498294896ac44c (patch)
tree1846692017f8713c316d1dfac26060166579d72c /node-repository/src
parentbd9f4f3f3cab33596aad75d4fb37ad29799277ce (diff)
Add new java file
Diffstat (limited to 'node-repository/src')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/PrivateServiceId.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/PrivateServiceId.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/PrivateServiceId.java
new file mode 100644
index 00000000000..53c53d5a254
--- /dev/null
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/PrivateServiceId.java
@@ -0,0 +1,24 @@
+package com.yahoo.vespa.hosted.provision.lb;
+
+import ai.vespa.validation.PatternedStringWrapper;
+
+import java.util.regex.Pattern;
+
+/**
+ * ID of a private endpoint service, such as AWS's PrivateLink, or GCP's Private Service Connect.
+ *
+ * @author jonmv
+ */
+public class PrivateServiceId extends PatternedStringWrapper<PrivateServiceId> {
+
+ static final Pattern pattern = Pattern.compile("[a-z0-9._-]{1,63}");
+
+ private PrivateServiceId(String value) {
+ super(value, pattern, "Private service ID");
+ }
+
+ public static PrivateServiceId of(String value) {
+ return new PrivateServiceId(value);
+ }
+
+}