summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/athenz/ZmsClientMock.java2
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java8
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java6
3 files changed, 11 insertions, 5 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/athenz/ZmsClientMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/athenz/ZmsClientMock.java
index f6dc52294e0..d5e815912c5 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/athenz/ZmsClientMock.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/athenz/ZmsClientMock.java
@@ -268,7 +268,7 @@ public class ZmsClientMock implements ZmsClient {
}
@Override
- public void createSubdomain(AthenzDomain parent, String name) {}
+ public void createSubdomain(AthenzDomain parent, String name, Map<String, Object> attributes) {}
@Override
public AthenzRoleInformation getFullRoleInformation(AthenzRole role) {
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
index 7b3388d1027..560bb8156c6 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
@@ -424,13 +424,15 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
}
@Override
- public void createSubdomain(AthenzDomain parent, String name) {
+ public void createSubdomain(AthenzDomain parent, String name, Map<String, Object> attributes) {
URI uri = zmsUrl.resolve(String.format("subdomain/%s", parent.getName()));
- StringEntity entity = toJsonStringEntity(
- Map.of("name", name,
+ var metaData = new HashMap<String, Object>();
+ metaData.putAll(attributes);
+ metaData.putAll(Map.of("name", name,
"parent", parent.getName(),
"adminUsers", List.of(identity.getFullName())) // TODO: createSubdomain should receive an adminUsers argument
);
+ var entity = toJsonStringEntity(metaData);
var request = RequestBuilder.post(uri)
.setEntity(entity)
.build();
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java
index be4c6c7ba3b..4342b32e4c8 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java
@@ -85,7 +85,11 @@ public interface ZmsClient extends Closeable {
void deleteRole(AthenzRole athenzRole);
- void createSubdomain(AthenzDomain parent, String name);
+ void createSubdomain(AthenzDomain parent, String name, Map<String, Object> attributes);
+
+ default void createSubdomain(AthenzDomain parent, String name) {
+ createSubdomain(parent, name, Map.of());
+ };
AthenzRoleInformation getFullRoleInformation(AthenzRole role);