tenant license command group¶
The tenant license command group administers a tenant's license claims in {{ product_name }}. Each subcommand targets one tenant by its UUID (-u/--uuid); the assign, update, and remove subcommands additionally identify a catalog license by name (-l/--license). Use these commands to grant a catalog license to a tenant, inspect what a tenant holds, change a claim value or expiry, and revoke a claim.
Remote command — host profile and login required
alpine-admin-cli is a remote gRPC client. Every tenant license subcommand contacts the server, so you must first create a host profile with profile hosts create and authenticate with profile authn login. Select a non-default profile for a single invocation with the global -p/--profile option placed before the command path.
Commands in this group¶
| Command | Purpose | Anchor |
|---|---|---|
tenant license assign |
Assign a catalog license claim to a tenant | #tenant-license-assign |
tenant license list |
List a tenant's assigned license claims | #tenant-license-list |
tenant license update |
Update a tenant's license claim value or expiry | #tenant-license-update |
tenant license remove |
Remove a license claim from a tenant | #tenant-license-remove |
Typical workflow¶
- Find the tenant UUID with
tenant search. - Grant a catalog license with
tenant license assign. - Confirm the grant with
tenant license list. - Adjust a claim value or expiry over time with
tenant license update. - Revoke a claim with
tenant license removewhen it is no longer needed.
Group help¶
tenant license assign¶
Assign a catalog license claim to a tenant. The license must be defined in the license catalog and must not already be held by the tenant; an already-assigned license is rejected (use tenant license update instead).
Syntax¶
Required options¶
| Option | Description |
|---|---|
-u, --uuid |
UUID of the tenant |
-l, --license |
Catalog license name (e.g. ca, tenant.create, tier) |
Conditionally required options¶
| Condition | -v, --value requirement |
|---|---|
Catalog license is a FEATURE license |
Omit --value |
Catalog license is a QUOTA license |
Provide a positive integer or unlimited |
Catalog license is a STRING_CLAIM license |
Provide the string value |
Optional options¶
Show optional options
| Option | Default | Description |
|---|---|---|
-v, --value |
none | Claim value: omit for FEATURE; integer or unlimited for QUOTA; the string for STRING_CLAIM |
--valid-until |
none | Optional expiry as an ISO-8601 instant (e.g. 2027-01-01T00:00:00Z) |
-f, --out-format |
YAML |
Output format: JSON or YAML |
Validation rules
--valuemust be omitted forFEATURElicenses.--valuemust be a positive integer or the literalunlimitedforQUOTAlicenses.--valuemust carry the string payload forSTRING_CLAIMlicenses.--valid-untilmust be a valid ISO-8601 instant (for example2027-01-01T00:00:00Z); it is optional and, when omitted, the claim does not expire.- Assigning a license the tenant already holds is rejected; use
tenant license updateto change an existing claim.
Example¶
bin/admin.sh tenant license assign \
-u 6f1d2c3b-4a5e-6789-0abc-def012345678 \
-l tier \
-v unlimited \
--valid-until 2027-01-01T00:00:00Z \
-f json
tenant license list¶
List every license claim assigned to a tenant, including expired assignments.
Syntax¶
Required options¶
| Option | Description |
|---|---|
-u, --uuid |
UUID of the tenant |
Optional options¶
Show optional options
| Option | Default | Description |
|---|---|---|
-f, --out-format |
YAML |
Output format: JSON or YAML |
Example¶
tenant license update¶
Update a tenant's existing license claim: its --value and/or --valid-until. An omitted field leaves the stored value unchanged.
Syntax¶
Required options¶
| Option | Description |
|---|---|
-u, --uuid |
UUID of the tenant |
-l, --license |
Catalog license name (e.g. tenant.create, tier) |
Optional options¶
Show optional options
| Option | Default | Description |
|---|---|---|
-v, --value |
unchanged | New claim value (kept unchanged when omitted) |
--valid-until |
unchanged | New expiry as an ISO-8601 instant (kept unchanged when omitted) |
-f, --out-format |
YAML |
Output format: JSON or YAML |
Validation rules
- At least one of
--valueor--valid-untilis meaningful; an omitted field leaves the stored value unchanged. --valid-untilmust be a valid ISO-8601 instant (for example2027-01-01T00:00:00Z) when supplied.- The license must already be assigned to the tenant; use
tenant license assignfor a first-time grant.
Example¶
bin/admin.sh tenant license update \
-u 6f1d2c3b-4a5e-6789-0abc-def012345678 \
-l tier \
-v 50 \
--valid-until 2028-01-01T00:00:00Z \
-f json
tenant license remove¶
Remove a license claim from a tenant by tenant UUID and catalog license name.
Syntax¶
Required options¶
| Option | Description |
|---|---|
-u, --uuid |
UUID of the tenant |
-l, --license |
Catalog license name to remove |
Optional options¶
Show optional options
| Option | Default | Description |
|---|---|---|
-f, --out-format |
YAML |
Output format: JSON or YAML |
Example¶
Standard CLI options, including the global -p/--profile selector, are documented in Global options.
FAQ¶
What is the difference between tenant license assign and tenant license update?
Use tenant license assign to grant a catalog license a tenant does not yet hold; assigning a license the tenant already holds is rejected. Use tenant license update to change the value or expiry of a claim the tenant already holds.
When do I provide --value on tenant license assign?
Omit --value for FEATURE licenses. Provide a positive integer or the literal unlimited for QUOTA licenses, and the string payload for STRING_CLAIM licenses.
Does tenant license list show expired claims?
Yes. tenant license list returns every assignment for the tenant, including expired ones.
Do tenant license commands need a host profile and login?
Yes. Every tenant license subcommand is a remote gRPC call, so you must first create a host profile with profile hosts create and authenticate with profile authn login.