diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-09-07 12:53:04 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-09-09 10:17:58 +0200 |
commit | cd8f29e1762cfae3b7a5b7ac8ad262db560eb25a (patch) | |
tree | a372c35a2b1861595fe1300505bd53214c33b265 /config-model-api | |
parent | eae8cb8f38a3672f43188da5b80444aaf5b17631 (diff) |
Allow cloud-account attribute on prod element
Diffstat (limited to 'config-model-api')
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, ""); |