Skip to main content

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