summaryrefslogtreecommitdiffstats
path: root/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java')
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java
new file mode 100644
index 0000000..2e9fd9a
--- /dev/null
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/api/ProjectsResource.java
@@ -0,0 +1,27 @@
+package com.woorea.openstack.keystone.v3.api;
+
+import com.woorea.openstack.base.client.OpenStackClient;
+import com.woorea.openstack.base.client.OpenStackRequest;
+import com.woorea.openstack.keystone.model.Users;
+import com.woorea.openstack.keystone.v3.model.Project;
+import com.woorea.openstack.keystone.v3.model.Projects;
+
+public class ProjectsResource extends GenericResource<Project, Projects> {
+
+ public ProjectsResource(OpenStackClient client) {
+ super(client, "/projects", Project.class, Projects.class);
+ }
+
+ public OpenStackRequest<Users> users(String projectId) {
+ return CLIENT.get(new StringBuilder(path).append("/").append(projectId).append("/users/").toString(), Users.class);
+ }
+
+ public ProjectUserRolesResource userRoles(String projectId, String userId) {
+ return new ProjectUserRolesResource(CLIENT, new StringBuilder(path).append("/").append(projectId).append("/users/").append(userId).append("/roles").toString());
+ }
+
+ public ProjectUserRolesResource groupRoles(String projectId, String groupId) {
+ return new ProjectUserRolesResource(CLIENT, new StringBuilder(path).append("/").append(projectId).append("/groups/").append(groupId).append("/roles").toString());
+ }
+
+}