Skip to content

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 SLCProgrammers group is removed as a subgroup of any group to which it has been added.
    Any indirect groups added to a group through the SLCProgrammers group are also removed when the SLCProgrammers group 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.