Groups
A group is a collection of Tapis users that own or have access to workflow resources. In order to create your first workflow, you must first belong to, or create a group. A group and all of its resources are tied to a particular tenant which is resolved from the url of the request to create the group.
Groups have an id which must be unique within the tenant to which it belongs. Groups
also have users. This is a simple list of user objects where user.username
is the Tapis
username/id and is_admin
is a Boolean. Users with admin permissions i.e. is_admin == true
are able to add and
remove users from a group. Only the owner of a group may add or delete other admin users.
Group Attributes Table
Attribute |
Type |
Example |
Notes |
---|---|---|---|
id |
String |
my.group |
|
owner |
String |
someuser |
|
tenant_id |
String |
tacc |
|
uuid |
String(UUIDv4) |
e48ada7a-56b4-4d48-974c-7574d51a8789 |
|
users |
Array(Users) |
GroupUser Attributes Table
Attribute |
Type |
Example |
Notes |
---|---|---|---|
username |
String |
jsmith |
|
is_admin |
Boolean |
True |
|
uuid |
String(UUIDv4) |
e48ada7a-56b4-4d48-974c-7574d51a8789 |
|
group |
String(UUIDv4) |
e48ada7a-56b4-4d48-974c-7574d51a8789 |
|
Retrieval (getGroup)
Retrieve details for a specific group
curl -H "X-Tapis-Token: $JWT" https://tacc.tapis.io/v3/workflows/groups/<group_id>
import json
from tapipy.tapis import Tapis
t = Tapis(base_url='https://tacc.tapis.io', username='<userid>', password='************'
t.workflows.getGroup(group_id="<group_id>")
{
"success": true,
"status": 200,
"message": "Success",
"result": {
"id": "my.group",
"owner": "someuser",
"tenant_id": "tacc",
"uuid": "f60fdf8a-4ceb-4273-b49f-4c0dd94111c3",
"users": [
{
"group": "f60fdf8a-4ceb-4273-b49f-4c0dd94111c3",
"username": "someuser",
"is_admin": true,
"uuid": "c6b7acfd-da4b-4a1d-acbd-adbfa6aa4057"
},
{
"group": "f60fdf8a-4ceb-4273-b49f-4c0dd94111c3",
"username": "anotheruser",
"is_admin": false,
"uuid": "d6ca476a-2c19-4168-8054-264bcaaa70e7"
}
]
}
}
Deletion
Groups may only be deleted by the group owner. Upon deletion of a group, every workflow object owned by the group will also be deleted; pipelines, tasks, archives, etc.