diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-10-07 09:15:33 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-10-07 09:15:33 +0200 |
commit | 399249ccfe9ca85de66644ca64ac6f6a2bcbde2f (patch) | |
tree | ea89eb62d3bf50881f9a2e6f4076ddbf4df30b64 /hosted-api/src | |
parent | fb16b8f37bae65a8120a300600a7f430a8af1445 (diff) |
Default instance name to user.name
Diffstat (limited to 'hosted-api/src')
-rw-r--r-- | hosted-api/src/main/java/ai/vespa/hosted/api/Properties.java | 20 |
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 + "'")); } |