Skip to content

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

  1. Find the tenant UUID with tenant search.
  2. Grant a catalog license with tenant license assign.
  3. Confirm the grant with tenant license list.
  4. Adjust a claim value or expiry over time with tenant license update.
  5. Revoke a claim with tenant license remove when it is no longer needed.

Group help

bin/admin.sh tenant license --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

bin/admin.sh tenant license assign [options]

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

  • --value must be omitted for FEATURE licenses.
  • --value must be a positive integer or the literal unlimited for QUOTA licenses.
  • --value must carry the string payload for STRING_CLAIM licenses.
  • --valid-until must be a valid ISO-8601 instant (for example 2027-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 update to 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

bin/admin.sh tenant license list [options]

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

bin/admin.sh tenant license list \
  -u 6f1d2c3b-4a5e-6789-0abc-def012345678 \
  -f json

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

bin/admin.sh tenant license update [options]

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 --value or --valid-until is meaningful; an omitted field leaves the stored value unchanged.
  • --valid-until must be a valid ISO-8601 instant (for example 2027-01-01T00:00:00Z) when supplied.
  • The license must already be assigned to the tenant; use tenant license assign for 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

bin/admin.sh tenant license remove [options]

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

bin/admin.sh tenant license remove \
  -u 6f1d2c3b-4a5e-6789-0abc-def012345678 \
  -l tier \
  -f json

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.