Managing groups¶
Creating a group¶
A group provides a way to group together users that have similar roles or tasks. You might, for example, create a group for users who create batch jobs, or a group for users who create pipelines. By grouping together users, you can provide appropriate access permissions for those users, while denying these permissions to other users. For example, only members of the pipeline group would be able to edit and create pipelines.
You create a group using the hubcli group command. The following example creates a new group:
hubcli group create -c myconn group1
This creates a group called group1 for the Altair SLC Hub instance connected by myconn.
If the connection you want to use is the default connection, you don't need to specify the connection.
Adding a group to another group¶
Groups can be arranged hierarchically; that is, groups can be contained in other groups. This can be useful if you wanted an overall group for, say, program creators, and then want subgroups in that group for SAS language programmers, Python programmers, R programmers, and so on.
For example, you could first create the group Programmers:
hubcli group create -c myconn Programmers
You could then create another group in which SAS language programmers can store programs:
hubcli group create -c myconn SLCProgrammers
If you then wanted the SLCProgrammers group as a subgroup of the Programmers group, you could do the following:
hubcli group member add --group SLCProgrammers Programmers
Listing groups¶
If you want to check that a group has been successfully created, you can view a list of groups:
hubcli group list
A list of groups is returned to the local device. For example, on Windows you will see something similar to the following:
ID NAME CREATED MODIFIED
7aa96408-39a9-43e2-bf5e-b566f010e011 HubUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
4353ae8d-6bd8-4424-8fdc-a4c83613fcf0 HubAdministrators 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
9ed13c65-5b10-46c3-bd8d-38ed29af7b8e GeneralConsumers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
b0e9808d-ec91-4efb-9f7f-ddf665bbee55 DataAccessAdministrators 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
b8d5e5de-8d68-4f74-9383-a3e4b500c4ac DataAccessConsumers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
1d27bd58-d8e5-4e7f-8417-9c392c52eeab PublishedLibraryConsumers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
775937cf-ce5f-4877-84ae-b3faaa28db70 CredentialManagers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
a1ec0f27-cfca-4efa-b9fb-366e947c4480 ExecutionProfileUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
03c3113e-50c0-4f75-a41e-9e9804eb409b BatchJobUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
5a2fba10-ac12-4569-bbb4-976070142c22 LinkSessionUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
a2765b20-46bd-4b53-9f85-e8120a3658ab ClusterAdministrators 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
e2980322-69a8-4254-97d4-c7ec78ac3797 DeploymentServicesAdministrators 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
8c820b69-eb33-4e49-8c26-da683a641280 InvocationPortalUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
a9c0aded-b9fe-427d-8fd0-176161669490 ArtifactDevelopers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
a3d33ac4-9f1d-45ff-9e34-8dadaae4f089 PipelineUsers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
13f3e58e-32b9-461c-ada2-5def0eaaf26d PipelineDevelopers 2025-07-17 11:18:23 BST 2025-07-17 11:18:23 BST
ff0522e6-a7f8-4321-b8bb-418e6247047e group1 2025-07-30 20:07:19 BST 2025-07-30 20:07:19 BST
Groups are listed in the order of creation, so a recently created group will be at the end of the listing.
The group created in the example above, group1, can be seen at the end of the listing.
You cannot filter the list of groups by the name of the group, but you can filter the listing based on time of creation:
hubcli group list --createdAfter 20:00
For this example, this command returns a single result:
ID NAME CREATED MODIFIED
ff0522e6-a7f8-4321-b8bb-418e6247047e group1 2025-07-30 20:07:19 BST 2025-07-30 20:07:19 BST
Listing subgroups¶
A group listing only returns a list of groups, and contains no information about whether they are subgroups in other groups.
To find out if a group is a subgroup of one or more groups, you can use the command hubcli group groups. For example:
hubcli group groups SLCProgrammers
This lists all groups of which the group SLCProgrammers is a subgroup.
For example, the output might be as follows:
GROUP NAME MEMBERSHIP TYPE
Programmers Direct
Membership type can be direct or indirect.
If the subgroup is a member of the group specified by GROUP NAME then its membership is Direct.
If the subgroup is a member of a group which is itself a member of a subgroup,
then its relationship to the group specified in GROUP NAME is Indirect.
For example, suppose we add a previously created group SLCProcProgs as a subgroup of the SCLProgrammers group:
hubcli group member add --group SLCProcProgs SLCProgrammers
If we then obtain information for the group SLCProcProgs:
hubcli group groups SLCProcProgs
the following is returned:
GROUP NAME MEMBERSHIP TYPE
SLCProgrammers Direct
Programmers Indirect
The group SLCProcProgs is a direct member of the group SLCProgrammers.
However, because SLCProgrammers is a subgroup of Programmers, SLCProcProgs is an indirect member of Programmers.
Deleting groups¶
You might want to delete a group. You can do this with the hubcli group rm command.
If you want to check you have the correct group name, or want to view a list of groups,
you use the command hubcli group list, described above.
If you want to check whether this group is a subgroup of another group before deleting,
you can use the hubcli group groups command, as described in hubcli group groups.
You can then delete the group by name; for example:
hubcli group rm SLCProgrammers
- This deletes the group
SLCProgrammers. - This does not delete any subgroups of
SLCProgrammers. - The
SLCProgrammersgroup is removed as a subgroup of any group to which it has been added.
Any indirect groups added to a group through theSLCProgrammersgroup are also removed when theSLCProgrammersgroup is deleted.
Removing a subgroup from a group¶
You can remove a subgroup from a group. You can do this with the hubcli group member rm command.
If you want to check you have the correct group name, or want to view a list of groups,
you use the command hubcli group list, as described in hubcli group list..
You can then remove the group by name; for example:
hubcli group member rm -group SLCProcProg SLCProgrammers
This removes the group SLCProcProg from the group SLCProgrammers. It does not delete the group.