aboutsummaryrefslogtreecommitdiffstats
path: root/hosted-api
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-07 09:15:33 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-07 09:15:33 +0200
commit399249ccfe9ca85de66644ca64ac6f6a2bcbde2f (patch)
treeea89eb62d3bf50881f9a2e6f4076ddbf4df30b64 /hosted-api
parentfb16b8f37bae65a8120a300600a7f430a8af1445 (diff)
Default instance name to user.name
Diffstat (limited to 'hosted-api')
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java b/hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java
index 68c8ba389d2..9c7380180f7 100644
--- a/hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java
+++ b/hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java
@@ -16,46 +16,62 @@ import java.util.Optional;
*/
public class Properties {
+ /**
+ * Returns the relevant application ID. This is the 'tenant', 'application' and 'instance' properties.
+ * The instance defaults to the user name of the current user, if not explicitly set.
+ */
public static ApplicationId application() {
return ApplicationId.from(requireNonBlankProperty("tenant"),
requireNonBlankProperty("application"),
- getNonBlankProperty("instance").orElse("default"));
+ getNonBlankProperty("instance").orElse(user()));
}
+ /** Returns the relevant environment, if this is set with the 'environment' property */
public static Optional<Environment> environment() {
return getNonBlankProperty("environment").map(Environment::from);
}
+ /** Returns the relevant region, if this is set with the 'region' property */
public static Optional<RegionName> region() {
return getNonBlankProperty("region").map(RegionName::from);
}
+ /** Returns the URL of the API endpoint of the Vespa cloud. This must be set with the 'endpoint' property. */
public static URI apiEndpoint() {
return URI.create(requireNonBlankProperty("endpoint"));
}
+ /** Returns the path of the API private key. This must be set with the 'privateKeyFile' property. */
public static Path apiPrivateKeyFile() {
return Paths.get(requireNonBlankProperty("privateKeyFile"));
}
+ /** Returns the path of the API certificate, if this is set with the 'certificateFile' property. */
public static Optional<Path> apiCertificateFile() {
return getNonBlankProperty("certificateFile").map(Paths::get);
}
+ /** Returns the path of the data plane certificate file, if this is set with the 'dataPlaneCertificateFile' property. */
public static Optional<Path> dataPlaneCertificateFile() {
return getNonBlankProperty("dataPlaneCertificateFile").map(Paths::get);
}
+ /** Returns the path of the data plane private key file, if this is set with the 'dataPlanePrivateKeyFile' property. */
public static Optional<Path> dataPlanePrivateKeyFile() {
return getNonBlankProperty("dataPlaneKeyFile").map(Paths::get);
}
+ /** Returns the user name of the current user. This is set with the 'user.name' property. */
+ public static String user() {
+ return System.getProperty("user.name");
+ }
+
/** Returns the system property with the given name if it is set, or empty. */
public static Optional<String> getNonBlankProperty(String name) {
return Optional.ofNullable(System.getProperty(name)).filter(value -> ! value.isBlank());
}
- /** Returns the system property with the given name if it is set, or throws. */
+ /** Returns the system property with the given name if it is set, or throws an IllegalStateException. */
public static String requireNonBlankProperty(String name) {
return getNonBlankProperty(name).orElseThrow(() -> new IllegalStateException("Missing required property '" + name + "'"));
}