summaryrefslogtreecommitdiffstats
path: root/vespa-athenz
diff options
context:
space:
mode:
authorEirik Nygaard <eirik.nygaard@yahooinc.com>2022-10-13 14:53:14 +0200
committerEirik Nygaard <eirik.nygaard@yahooinc.com>2022-10-13 14:53:14 +0200
commitb3111729d06f7e204f0ce76f6ae51bf5e7814759 (patch)
treefb8a6fb2aedc24d36d51dd6f1454f09ee386c02b /vespa-athenz
parent0a0a41976464257594627231f038563b78f87224 (diff)
Add method for fetching domains based on aws account id
Diffstat (limited to 'vespa-athenz')
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java12
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/ZmsClient.java2
2 files changed, 14 insertions, 0 deletions
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 d5b772e5bab..aaf9038208f 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
@@ -205,6 +205,18 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
}
@Override
+ public List<AthenzDomain> getDomainListByAccount(String account) {
+ HttpUriRequest request = RequestBuilder.get()
+ .setUri(zmsUrl.resolve("domain"))
+ .addParameter("account", account)
+ .build();
+ return execute(request, response -> {
+ DomainListResponseEntity result = readEntity(response, DomainListResponseEntity.class);
+ return result.domains.stream().map(AthenzDomain::new).collect(toList());
+ });
+ }
+
+ @Override
public boolean hasAccess(AthenzResourceName resource, String action, AthenzIdentity identity) {
URI uri = zmsUrl.resolve(String.format("access/%s/%s?principal=%s",
action, resource.toResourceNameString(), identity.getFullName()));
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 0dd0d30200c..be4c6c7ba3b 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
@@ -50,6 +50,8 @@ public interface ZmsClient extends Closeable {
List<AthenzDomain> getDomainList(String prefix);
+ List<AthenzDomain> getDomainListByAccount(String id);
+
boolean hasAccess(AthenzResourceName resource, String action, AthenzIdentity identity);
void createPolicy(AthenzDomain athenzDomain, String athenzPolicy);