diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2021-03-18 17:02:57 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerij92@gmail.com> | 2021-03-18 17:03:39 +0100 |
commit | 4caa2117414647a47f7a095087873396d61d739f (patch) | |
tree | d4d90a714652ef5ea3227d26962ce741ba757f4b /controller-server | |
parent | e95bda2b0fc568c33a6ed18bb88c2d4cf80ff288 (diff) |
Expose archiveAccessRole in tenant response
Diffstat (limited to 'controller-server')
2 files changed, 12 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index df9491c5d22..a44c1b6f115 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -2055,6 +2055,8 @@ public class ApplicationApiHandler extends LoggingRequestHandler { toSlime(tenantQuota, usedQuota, object.setObject("quota")); + cloudTenant.archiveAccessRole().ifPresent(role -> object.setString("archiveAccessRole", role)); + break; } default: throw new IllegalArgumentException("Unexpected tenant type '" + tenant.type() + "'."); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java index a048c19e1ca..a400142fe12 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java @@ -33,6 +33,7 @@ import static com.yahoo.application.container.handler.Request.Method.*; import static com.yahoo.vespa.hosted.controller.restapi.application.ApplicationApiTest.createApplicationSubmissionData; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; /** @@ -196,6 +197,9 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest { @Test public void archive_uri_test() { + tester.assertResponse(request("/application/v4/tenant/scoober", GET).roles(Role.reader(tenantName)), + (response) -> assertFalse(response.getBodyAsString().contains("archiveAccessRole")), + 200); tester.assertResponse(request("/application/v4/tenant/scoober/archive-access", PUT) .data("{\"role\":\"dummy\"}").roles(Role.administrator(tenantName)), "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Invalid archive access role name: dummy\"}", 400); @@ -203,9 +207,15 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest { tester.assertResponse(request("/application/v4/tenant/scoober/archive-access", PUT) .data("{\"role\":\"arn:aws:iam::123456789012:role/my-role\"}").roles(Role.administrator(tenantName)), "{\"message\":\"Archive access role set to 'arn:aws:iam::123456789012:role/my-role' for tenant scoober.\"}", 200); + tester.assertResponse(request("/application/v4/tenant/scoober", GET).roles(Role.reader(tenantName)), + (response) -> assertTrue(response.getBodyAsString().contains("\"archiveAccessRole\":\"arn:aws:iam::123456789012:role/my-role\"")), + 200); tester.assertResponse(request("/application/v4/tenant/scoober/archive-access", DELETE).roles(Role.administrator(tenantName)), "{\"message\":\"Archive access role removed for tenant scoober.\"}", 200); + tester.assertResponse(request("/application/v4/tenant/scoober", GET).roles(Role.reader(tenantName)), + (response) -> assertFalse(response.getBodyAsString().contains("archiveAccessRole")), + 200); } private ApplicationPackageBuilder prodBuilder() { |