diff options
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); |