Documentation Index
Fetch the complete documentation index at: https://gns3util.saygex.xyz/llms.txt
Use this file to discover all available pages before exploring further.
gns3util exercise create
Create an exercise (project) for every group in a class with ACLs
Synopsis
Create an exercise (project) for every group in a class with ACLs to lock down access.
This command will:
- Use an existing template project from the server (recommended) or create empty projects for each group
- Create resource pools for each project
- Create ACLs to restrict access to each group’s project
- Assign the “User” role to each group for their respective projects
gns3util exercise create [flags]
Examples
# Create exercise for a class
gns3util -s https://controller:3080 exercise create --class "CS101" --exercise "Lab1"
# Create exercise with custom project name format
gns3util -s https://controller:3080 exercise create --class "CS101" --exercise "Lab1" --format "{{class}}-{{exercise}}-{{group}}"
# Create exercise using interactive template selection (recommended)
gns3util -s https://controller:3080 exercise create --class "CS101" --exercise "Lab1" --select-template
# Create exercise using a specific template project by name/ID
gns3util -s https://controller:3080 exercise create --class "CS101" --exercise "Lab1" --template "MyTemplateProject"
# Create exercise using a template file (fallback)
gns3util -s https://controller:3080 exercise create --class "CS101" --exercise "Lab1" --template "/path/to/template.gns3project"
Options
--class string Class name to create exercise for
--cluster string Cluster name (note: create is server-scoped; use -s)
--confirm Confirm before creating projects (default true)
--delete-template-project Delete the template when using a project as a template
--exercise string Exercise name
--format string Project name format (supports {{class}}, {{exercise}}, {{group}}, {{uuid}}) (default "{{class}}-{{exercise}}-{{group}}-{{uuid}}")
-h, --help help for create
--select-template Interactively select a template project from existing projects on the server (recommended)
--template string Existing project name/ID or path to template file (.gns3project) to use as base for all exercise projects
Options inherited from parent commands
-i, --insecure Ignore unsigned SSL-Certificates. Can be set via GNS3_INSECURE
-k, --key-file string Path to authentication keyfile. Can be set via GNS3_KEY_FILE or config.toml
-o, --output string Output format: [json, json-colorless, collapsed, yaml, toml, table, table-ascii]. Can be set via GNS3_OUTPUT (default "table")
-s, --server string GNS3v3 Server URL. Can be set via GNS3_SERVER or config.toml
--user string[="~"] User to select from the keyfile. Omit the value to open a fuzzy picker (--user), or pass a name (--user alice).
SEE ALSO
Auto generated by spf13/cobra on 9-May-2026