The MAAS CLI can do everything that the web UI can do, and more. The CLI uses the
maas command exclusively which, in turn, connects to the API. This page explains what is needed to get started with the CLI.
Note that this article does not provide complete coverage of the MAAS CLI. For an exhaustive treatment, you may want to see the API documentation. Also note that this page represents user-entered values as uppercase variables preceded with the ‘$’ character (e.g. $PROFILE and $EMAIL_ADDRESS). You should replace these placeholders with actual values.
You can obtain the
maas command via the
maas-cli Ubuntu package installed on every region API server and rack controller. To manage MAAS at the CLI level from a remote workstation, you will need to install this package:
sudo apt install maas-cli
MAAS requires an initial administrator, sometimes called a MAAS “superuser”. When you access the web UI for the first time, you will be prompted to create this user:
sudo maas createadmin --username=$PROFILE --email=$EMAIL_ADDRESS
You can create extra administrators in the same way. See MAAS CLI - common tasks for instructions on creating regular users with the CLI.
To use the CLI you must first log in to the API server (region controller).
You will need the API key that MAAS generated when creating your MAAS account. To obtain it, run this command on the region controller (i.e. wherever you installed the ‘maas-region-controller’ package):
sudo maas-region apikey --username=$PROFILE > $API_KEY_FILE
[note] You can obtain a user’s API key from the web interface. Click on ‘username’ in the top right corner, and select ‘Account’. [/note]
Log in. MAAS will prompt you for the API key:
maas login $PROFILE $MAAS_URL
For example, to log in with the account whose username is ‘admin’ and where the region controller is on the localhost:
maas login admin http://localhost:5240/MAAS/api/2.0
To log in by referring to the API key file created earlier:
maas login $PROFILE $MAAS_URL - < $API_KEY_FILE
A handy shell script, say
maas-login.sh, is provided:
#!/bin/sh # Change these 3 values as required PROFILE=admin API_KEY_FILE=/home/ubuntu/tmp/api_key API_SERVER=localhost MAAS_URL=http://$API_SERVER/MAAS/api/2.0 maas login $PROFILE $MAAS_URL - < $API_KEY_FILE
MAAS has a thorough built-in help reference, which you can access in stages to understand how to build commands.
maas command accepts the
--help argument after every keyword and will display results with increasing detail.
For example, suppose you were interested in tag management but didn’t know where to start. You might try this:
maas $PROFILE --help
At this stage, you’ll see all available MAAS commands, including the
tags commands, along with a brief explanation of what each command does. To see what the
tags commands have to offer, try:
maas $PROFILE tag --help
maas $PROFILE tags --help
Suppose you want to create a new rudimentary tag. Find the next level of help like this:
maas admin tags create --help
In this way, you can discover all that the MAAS CLI has to offer.
Once you finish with the CLI, you can log out from the given profile, flushing the stored credentials.
maas logout $PROFILE
The following categories are now available to be explored: