diff options
author | jonmv <venstad@gmail.com> | 2022-10-31 11:27:03 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-10-31 11:27:03 +0100 |
commit | 373bf18a55ed4bb1bdf30e83d0643c8c48009e7c (patch) | |
tree | 043f4a96a694e7343f1ebc98b0acc56c1fa4b79a /config-model-api/src/main/java/com/yahoo | |
parent | 80cec9a4412e65a756f8819c648071e4f15ca595 (diff) |
Use root cloud account for undeclared instances
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo')
2 files changed, 9 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java index 2df55ffce95..c9ec9780fad 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java @@ -40,6 +40,7 @@ public class DeploymentSpec { Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), List.of(), "<deployment version='1.0'/>", List.of()); @@ -50,6 +51,7 @@ public class DeploymentSpec { private final Optional<Integer> majorVersion; private final Optional<AthenzDomain> athenzDomain; private final Optional<AthenzService> athenzService; + private final Optional<CloudAccount> cloudAccount; private final List<Endpoint> endpoints; private final List<DeprecatedElement> deprecatedElements; @@ -59,6 +61,7 @@ public class DeploymentSpec { Optional<Integer> majorVersion, Optional<AthenzDomain> athenzDomain, Optional<AthenzService> athenzService, + Optional<CloudAccount> cloudAccount, List<Endpoint> endpoints, String xmlForm, List<DeprecatedElement> deprecatedElements) { @@ -66,6 +69,7 @@ public class DeploymentSpec { this.majorVersion = Objects.requireNonNull(majorVersion); this.athenzDomain = Objects.requireNonNull(athenzDomain); this.athenzService = Objects.requireNonNull(athenzService); + this.cloudAccount = Objects.requireNonNull(cloudAccount); this.xmlForm = Objects.requireNonNull(xmlForm); this.endpoints = List.copyOf(Objects.requireNonNull(endpoints)); this.deprecatedElements = List.copyOf(Objects.requireNonNull(deprecatedElements)); @@ -166,7 +170,10 @@ public class DeploymentSpec { // b. for multi-instance specs the root tag may or may not have a service, and unknown instances also lead here; and // 3. any tester application deployment is always an unknown instance, and always gets here, but there should not be any reason // to have environment, instance or region variants on those. - public Optional<AthenzService> athenzService() { return this.athenzService; } + public Optional<AthenzService> athenzService() { return athenzService; } + + /** Cloud account set on the deployment root; see discussion for {@link #athenzService}. */ + public Optional<CloudAccount> cloudAccount() { return cloudAccount; } /** Returns the XML form of this spec, or null if it was not created by fromXml, nor is empty */ public String xmlForm() { return xmlForm; } 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 75949d2b6cd..82402afa3f3 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 @@ -148,6 +148,7 @@ public class DeploymentSpecXmlReader { optionalIntegerAttribute(majorVersionAttribute, root), stringAttribute(athenzDomainAttribute, root).map(AthenzDomain::from), stringAttribute(athenzServiceAttribute, root).map(AthenzService::from), + stringAttribute(cloudAccountAttribute, root).map(CloudAccount::new), applicationEndpoints, xmlForm, deprecatedElements); |