summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/abi-spec.json1
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java6
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java3
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java13
4 files changed, 23 insertions, 0 deletions
diff --git a/config-provisioning/abi-spec.json b/config-provisioning/abi-spec.json
index c758629e99d..36dc53ac87a 100644
--- a/config-provisioning/abi-spec.json
+++ b/config-provisioning/abi-spec.json
@@ -50,6 +50,7 @@
"public boolean equals(java.lang.Object)",
"public java.lang.String serializedForm()",
"public java.lang.String toShortString()",
+ "public java.lang.String toFullString()",
"public java.lang.String toString()",
"public com.yahoo.config.provision.TenantName tenant()",
"public com.yahoo.config.provision.ApplicationName application()",
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
index dbc57dd5abd..f175af3e2f1 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
@@ -68,11 +68,17 @@ public final class ApplicationId implements Comparable<ApplicationId> {
return "tenant '" + tenant + "', application '" + application + "', instance '" + instance + "'";
}
+ /** Returns "dotted" string (tenant.application.instance) with instance name omitted if it is "default" */
public String toShortString() {
return tenant().value() + "." + application().value() +
( instance().isDefault() ? "" : "." + instance().value() );
}
+ /** Returns "dotted" string (tenant.application.instance) with instance name always included */
+ public String toFullString() {
+ return tenant().value() + "." + application().value() + "." + instance().value();
+ }
+
private String toSerializedForm() {
return tenant + ":" + application + ":" + instance;
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
index fd76dc10bdb..08f9b81fec7 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
@@ -17,4 +17,7 @@ public interface ZoneApi {
default RegionName getRegionName() { return getId().region(); }
CloudName getCloudName();
+
+ /** Returns the region name within the cloud, e.g. 'us-east-1' in AWS */
+ String getCloudNativeRegionName();
}
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
index 93c01ccffcd..b331fa89d32 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
@@ -59,6 +59,19 @@ public class ApplicationIdTest {
}
@Test
+ public void require_string_formats_are_correct() {
+ ApplicationId id1 = applicationId("foo");
+ ApplicationId id2 = idFrom("bar", "baz", "default");
+ ApplicationId id3 = idFrom("tenant", "baz", "bim");
+ assertThat(id1.toShortString(), is("default.foo"));
+ assertThat(id1.toFullString(), is("default.foo.default"));
+ assertThat(id2.toShortString(), is("bar.baz"));
+ assertThat(id2.toFullString(), is("bar.baz.default"));
+ assertThat(id3.toShortString(), is("tenant.baz.bim"));
+ assertThat(id3.toFullString(), is("tenant.baz.bim"));
+ }
+
+ @Test
public void require_that_idstring_can_be_parsed() {
ApplicationId id = ApplicationId.fromSerializedForm("ten:foo:bim");
assertThat(id.tenant().value(), is("ten"));