summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-09-07 12:53:04 +0200
committerMartin Polden <mpolden@mpolden.no>2022-09-09 10:17:58 +0200
commitcd8f29e1762cfae3b7a5b7ac8ad262db560eb25a (patch)
treea372c35a2b1861595fe1300505bd53214c33b265 /config-model-api
parenteae8cb8f38a3672f43188da5b80444aaf5b17631 (diff)
Allow cloud-account attribute on prod element
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java2
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java6
2 files changed, 7 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index c98e429a52b..83fba75325e 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -440,7 +440,7 @@ public class DeploymentSpecXmlReader {
}
private Optional<CloudAccount> readCloudAccount(Element tag) {
- return stringAttribute(cloudAccountAttribute, tag).map(CloudAccount::new);
+ return mostSpecificAttribute(tag, cloudAccountAttribute).map(CloudAccount::new);
}
private Optional<String> readGlobalServiceId(Element environmentTag) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
index 6ffb4d2f1e0..6373e0e0232 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
@@ -1514,6 +1514,11 @@ public class DeploymentSpecTest {
public void cloudAccount() {
StringReader r = new StringReader(
"<deployment version='1.0' cloud-account='100000000000'>" +
+ " <instance id='alpha'>" +
+ " <prod cloud-account='800000000000'>" +
+ " <region>us-east-1</region>" +
+ " </prod>" +
+ " </instance>" +
" <instance id='beta' cloud-account='200000000000'>" +
" <staging cloud-account='600000000000'/>" +
" <perf cloud-account='700000000000'/>" +
@@ -1532,6 +1537,7 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
+ assertCloudAccount("800000000000", spec.requireInstance("alpha"), Environment.prod, "us-east-1");
assertCloudAccount("200000000000", spec.requireInstance("beta"), Environment.prod, "us-west-1");
assertCloudAccount("600000000000", spec.requireInstance("beta"), Environment.staging, "");
assertCloudAccount("700000000000", spec.requireInstance("beta"), Environment.perf, "");