airs tenant
Manage tenants (the only configuration source)
Usage: airs tenant [OPTIONS] [COMMAND]
Commands:
list List registrations without reading credentials [aliases: ls]
path Print the config file path of a tenant; defaults to the selected tenant
read Read a tenant config with all credential values redacted; defaults to the selected tenant
get Print one effective tenant setting; credential values are redacted
create Create a tenant with guided prompts; does not select it
set Update one tenant setting; prompt when omitted, hide secrets
unset Remove one tenant setting so the default applies; credentials cannot be cleared
switch Select the tenant for subsequent commands
delete Delete a tenant and its config file; clears the selection if it was selected [aliases: rm]
import Copy tenants from the TypeScript airs-cli; its files are not changed
help Print this message or the help of the given subcommand(s)
Options:
--output <format> Output format: pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
Examples:
$ airs tenant import --dry-run
$ airs tenant import
$ airs tenant create development
$ printf '%s\n' "$SECRET" | airs tenant create ci --tsg-id 1234567890 --client-id ci-client --client-secret-stdin
$ airs tenant switch development
$ airs tenant set development defaultOutput json
$ airs tenant set development airsApiKey
$ airs tenant unset development defaultOutput
$ airs tenant delete development
$ airs tenant list
$ airs tenant read
$ airs tenant get development mgmtTsgId
$ airs tenant path
$ airs --tenant development doctor
Tenants live in ~/.config/airs-cli/ (config.toml and tenants/<name>.toml);
AIRS_CLI_CONFIG_DIR or XDG_CONFIG_HOME moves them.
airs tenant list
List registrations without reading credentials
Usage: airs tenant list [OPTIONS]
Options:
--output <format> Output format: pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant path
Print the config file path of a tenant; defaults to the selected tenant
Usage: airs tenant path [OPTIONS] [name]
Arguments:
[name] Registered tenant name
Options:
--output <format> Ignored by this command (it prints a path); must still be one of pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant read
Read a tenant config with all credential values redacted; defaults to the selected tenant
Usage: airs tenant read [OPTIONS] [name]
Arguments:
[name] Registered tenant name
Options:
--output <format> Output format: pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant get
Print one effective tenant setting; credential values are redacted
Usage: airs tenant get [OPTIONS] <name> <key>
Arguments:
<name> Registered tenant name
<key> Configuration key
Options:
--output <format> Output format: pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant create
Create a tenant with guided prompts; does not select it
Usage: airs tenant create [OPTIONS] <name>
Arguments:
<name> New tenant name (1-64 letters, digits, hyphens or underscores)
Options:
--output <format> Ignored by this command (it prints no data); must still be one of pretty, table, json
--tsg-id <id> Tenant service group ID (mgmtTsgId); prompted when omitted
--client-id <id> OAuth client ID (mgmtClientId); prompted when omitted
--quiet Suppress status and decorative output (data and errors still print)
--client-secret-stdin Read the OAuth client secret (mgmtClientSecret) from piped stdin
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant set
Update one tenant setting; prompt when omitted, hide secrets
Usage: airs tenant set [OPTIONS] <name> <key> [value]
Arguments:
<name> Registered tenant name
<key> Configuration key
[value] New value; omit it for a prompt (secrets must use the prompt or --stdin)
Options:
--output <format> Ignored by this command (it prints no data); must still be one of pretty, table, json
--stdin Read one value from piped stdin (recommended for automated secret updates)
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant unset
Remove one tenant setting so the default applies; credentials cannot be cleared
Usage: airs tenant unset [OPTIONS] <name> <key>
Arguments:
<name> Registered tenant name
<key> Configuration key
Options:
--output <format> Ignored by this command (it prints no data); must still be one of pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant switch
Select the tenant for subsequent commands
Usage: airs tenant switch [OPTIONS] <name>
Arguments:
<name> Registered tenant name
Options:
--output <format> Ignored by this command (it prints no data); must still be one of pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant delete
Delete a tenant and its config file; clears the selection if it was selected
Usage: airs tenant delete [OPTIONS] <name>
Arguments:
<name> Registered tenant name
Options:
--force Skip interactive confirmation
--output <format> Ignored by this command (it prints no data); must still be one of pretty, table, json
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--tenant <name> Use this registered tenant for one invocation without changing the selection
-h, --help Print help
airs tenant import
Copy tenants from the TypeScript airs-cli; its files are not changed
Usage: airs tenant import [OPTIONS]
Options:
--from <path> TypeScript tenant registry to read (default: the one the TypeScript CLI uses)
--output <format> Output format: pretty, table, json
--from-config <path> Import one TypeScript JSON config file as the tenant named by --name
--quiet Suppress status and decorative output (data and errors still print)
--debug Write redacted API diagnostics to a private JSONL file
--name <name> Import only this tenant; with --from-config, the new tenant's name
--replace Overwrite existing tenants of the same name
--tenant <name> Use this registered tenant for one invocation without changing the selection
--dry-run Report what would be imported; write nothing
-h, --help Print help