summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/application/api/xml
diff options
context:
space:
mode:
authorMorten Tokle <mortent@oath.com>2017-11-20 14:12:53 +0100
committerMorten Tokle <mortent@oath.com>2017-11-21 14:04:51 +0100
commit28f6fb192d3ba9d019fa9265b2770cc4325d5240 (patch)
tree5a39cb23602499ece36cb240b443f59e28aa8ed9 /config-model-api/src/main/java/com/yahoo/config/application/api/xml
parentef6ad29be045374dbd5a885d036fe12a95c5dc9c (diff)
Move identity configuration services.xml -> deployment.xml
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/application/api/xml')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java20
1 files changed, 15 insertions, 5 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 5599b257b16..1a970e53713 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
@@ -72,6 +72,7 @@ public class DeploymentSpecXmlReader {
if (environment == Environment.prod) {
for (Element stepTag : XML.getChildren(environmentTag)) {
+ Optional<String> athenzService = stringAttribute("athenz-service", environmentTag);
if (stepTag.getTagName().equals("delay")) {
steps.add(new Delay(Duration.ofSeconds(longAttribute("hours", stepTag) * 60 * 60 +
longAttribute("minutes", stepTag) * 60 +
@@ -79,11 +80,11 @@ public class DeploymentSpecXmlReader {
} else if (stepTag.getTagName().equals("parallel")) {
List<DeclaredZone> zones = new ArrayList<>();
for (Element regionTag : XML.getChildren(stepTag)) {
- zones.add(readDeclaredZone(environment, regionTag));
+ zones.add(readDeclaredZone(environment, athenzService, regionTag));
}
steps.add(new ParallelZones(zones));
} else { // a region: deploy step
- steps.add(readDeclaredZone(environment, stepTag));
+ steps.add(readDeclaredZone(environment, athenzService, stepTag));
}
}
} else {
@@ -94,8 +95,11 @@ public class DeploymentSpecXmlReader {
globalServiceId = readGlobalServiceId(environmentTag);
else if (readGlobalServiceId(environmentTag).isPresent())
throw new IllegalArgumentException("Attribute 'global-service-id' is only valid on 'prod' tag.");
+
}
- return new DeploymentSpec(globalServiceId, readUpgradePolicy(root), readChangeBlockers(root), steps, xmlForm);
+ Optional<String> athenzDomain = stringAttribute("athenz-domain", root);
+ Optional<String> athenzService = stringAttribute("athenz-service", root);
+ return new DeploymentSpec(globalServiceId, readUpgradePolicy(root), readChangeBlockers(root), steps, xmlForm, athenzDomain, athenzService);
}
/** Imposes some constraints on tag order which are not expressible in the schema */
@@ -132,13 +136,19 @@ public class DeploymentSpecXmlReader {
}
}
+ /** Returns the given attribute as a string, or Optional.empty if it is not present or empty */
+ private Optional<String> stringAttribute(String attributeName, Element tag) {
+ String value = tag.getAttribute(attributeName);
+ return Optional.ofNullable(value).filter(s -> ! s.equals(""));
+ }
+
private boolean isEnvironmentName(String tagName) {
return tagName.equals(testTag) || tagName.equals(stagingTag) || tagName.equals(prodTag);
}
- private DeclaredZone readDeclaredZone(Environment environment, Element regionTag) {
+ private DeclaredZone readDeclaredZone(Environment environment, Optional<String> athenzService, Element regionTag) {
return new DeclaredZone(environment, Optional.of(RegionName.from(XML.getValue(regionTag).trim())),
- readActive(regionTag));
+ readActive(regionTag), athenzService);
}
private Optional<String> readGlobalServiceId(Element environmentTag) {