summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/application
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-10-31 11:27:03 +0100
committerjonmv <venstad@gmail.com>2022-10-31 11:27:03 +0100
commit373bf18a55ed4bb1bdf30e83d0643c8c48009e7c (patch)
tree043f4a96a694e7343f1ebc98b0acc56c1fa4b79a /config-model-api/src/main/java/com/yahoo/config/application
parent80cec9a4412e65a756f8819c648071e4f15ca595 (diff)
Use root cloud account for undeclared instances
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/application')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java9
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java1
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);