aio param — Parameter Management
Manage configuration parameters with ParamStore.
Overview
| Property | Value |
|---|---|
| Service | ParamStore |
| Command | aio param / aio ps |
| TRN Format | trn:paramstore:{tenant}:param/{path} |
Quick Start
# Set a parameter
aio param set /app/config/db/host --type string --value "db.example.com"
# Get a parameter
aio param get --type string /app/config/db/host
# List parameters
aio param list --prefix /app/configCommand Summary
# CRUD Operations
aio param list # List parameters
aio param get <path> # Get parameter
aio param set <path> # Create/update parameter
aio param delete <path> # Delete parameter
# Version Management
aio param versions <path> # List versions
aio param version <path> # Get specific version
# Bulk Operations
aio param bulk-get # Get multiple parameters
aio param bulk-delete # Delete multiple parameters
aio param export # Export parameters
aio param import # Import parametersParameter Types
| Type | Description | Example Value |
|---|---|---|
string | Plain text | "db.example.com" |
number | Numeric | 5432 |
boolean | True/false | true |
json | JSON object | {"enabled": true} |
string_list | Comma-separated | "a.com,b.com,c.com" |
secure_string | Encrypted string | "secret123" |
Commands
aio param set
Create or update a parameter.
aio param set <path> --type TYPE --value VALUE [options]Options:
| Flag | Type | Required | Description |
|---|---|---|---|
--type | string | Yes | Parameter type |
--value | string | Yes | Parameter value |
--description | string | No | Description |
--dynamic | bool | No | Enable expression evaluation |
--tags | string | No | Comma-separated key=value |
Examples:
# String parameter
aio param set /app/config/db/host --type string --value "db.example.com"
# Number parameter
aio param set /app/config/db/port --type number --value 5432
# Boolean parameter
aio param set /app/config/debug --type boolean --value true
# JSON parameter
aio param set /app/config/features --type json --value '{"darkMode": true}'
# String list
aio param set /app/config/allowed-origins --type string_list --value "a.com,b.com,c.com"
# Dynamic parameter with expression
aio param set /app/config/api-url --type string --dynamic \
--value '{% $env("API_HOST") %}/v1'Output:
✓ Parameter '/app/config/db/host' set
TRN: trn:paramstore:default:param/app/config/db/host
Version: v1aio param list
List parameters.
aio param list [options]Options:
| Flag | Type | Default | Description |
|---|---|---|---|
--prefix | string | Filter by path prefix | |
--recursive | bool | false | Include nested paths |
--type | string | Filter by type | |
--dynamic | bool | Filter by dynamic flag | |
--limit | int | 50 | Maximum results |
Examples:
aio param list
aio param list --prefix /app/config
aio param list --prefix /app/config --recursive
aio param list --type jsonOutput:
PATH TYPE DYNAMIC VERSION
───────────────────────────────────────────────────────────────────────────────
/app/config/database/host string No v1
/app/config/database/port number No v1
/app/config/feature-flags json Yes v3aio param get
Get parameter value.
aio param get --type TYPE <path> [--evaluate]Options:
| Flag | Type | Description |
|---|---|---|
--evaluate | bool | Evaluate dynamic expressions |
Output:
┌─────────────────────────────────────────────────────┐
│ Parameter: /app/config/database/host │
├─────────────────────────────────────────────────────┤
│ Path │ /app/config/database/host │
│ TRN │ trn:paramstore:default:param/app/... │
│ Type │ String │
│ Dynamic │ No │
│ Version │ v1 │
└─────────────────────────────────────────────────────┘
Value:
"db.example.com"aio param delete
Delete a parameter.
aio param delete --type TYPE <path> --forceVersion Management
aio param versions
List parameter versions.
aio param versions --type TYPE <path>Output:
Versions for: /app/config/db/host
VERSION CREATED CREATED BY
────────────────────────────────────────────────────────────────
v3 (current) 2025-01-20 14:22:10 user:admin
v2 2025-01-15 10:30:00 user:admin
v1 2025-01-10 09:00:00 systemaio param version
Get a specific version.
aio param version --type TYPE <path> <version-number>Output:
Version 2 of /app/config/db/host
Created: 2025-01-15 10:30:00
Created By: user:admin
Value:
"old-db.example.com"Bulk Operations
aio param bulk-get
Get multiple parameters at once.
aio param bulk-get --paths PATH1,PATH2,... [--evaluate]Output:
PATH TYPE VALUE
────────────────────────────────────────────────────────────────────────────────────
/app/config/db/host string "db.example.com"
/app/config/db/port number 5432
/app/config/debug boolean true
Not found:
/app/config/unknownaio param bulk-delete
Delete multiple parameters.
aio param bulk-delete --paths PATH1,PATH2,... --forceImport/Export
aio param export
Export parameters to file.
aio param export --prefix PATH [--output FILE] [--format FORMAT]Options:
| Flag | Type | Default | Description |
|---|---|---|---|
--prefix | string | / | Path prefix to export |
--output | string | stdout | Output file |
--format | string | yaml | Format: json/yaml |
Output file:
- path: /app/config/db/host
paramType: string
value: "db.example.com"
description: Database host
dynamic: false
- path: /app/config/db/port
paramType: number
value: 5432
description: Database port
dynamic: falseaio param import
Import parameters from file.
aio param import --file FILE [--overwrite] [--dry-run]Options:
| Flag | Type | Description |
|---|---|---|
--file | path | YAML/JSON file |
--overwrite | bool | Update existing parameters |
--dry-run | bool | Preview without changes |
Dynamic Parameters
Dynamic parameters support expression evaluation:
# Reference environment variable
aio param set /app/config/api-url --type string --dynamic \
--value '{% $env("API_HOST") %}/v1'
# Reference another parameter
aio param set /app/config/db-url --type string --dynamic \
--value 'postgres://{% $param("/app/config/db/host") %}:{% $param("/app/config/db/port") %}/mydb'
# Conditional value
aio param set /app/config/log-level --type string --dynamic \
--value '{% $env("DEBUG") = "true" ? "debug" : "info" %}'Use --evaluate to resolve expressions:
aio param get --type string /app/config/api-url --evaluate
# Output: https://api.example.com/v1Path Conventions
Parameters use hierarchical paths:
/app/ # Application namespace
config/ # Configuration
database/ # Database settings
host # Individual parameter
port
features/ # Feature flags
secrets/ # Sensitive settings
api-keyBest Practices:
- Use lowercase with hyphens:
/app/config/api-timeout - Group related parameters:
/app/config/database/* - Separate environments by tenant, not path
TRN Patterns
| Resource | TRN Pattern |
|---|---|
| Parameter | trn:paramstore:{tenant}:param/{type}/{path} |
Expression Support
Reference parameters in other configurations:
{% $param('/app/config/db/host') %}
{% $param('/app/config/timeout') %}Complete Workflow
# Set up database configuration
aio param set /app/config/db/host --type string --value "db.example.com"
aio param set /app/config/db/port --type number --value 5432
aio param set /app/config/db/name --type string --value "myapp"
# Export for backup
aio param export --prefix /app/config/db --output db-config.yaml
# Bulk operations
aio param bulk-get --paths "/app/config/db/host,/app/config/db/port"
# Import from file
aio param import --file config.yaml --dry-run
aio param import --file config.yaml --overwrite
# View history
aio param versions --type string /app/config/db/host
aio param version --type string /app/config/db/host 1Error Codes
| Error | Exit Code | Message |
|---|---|---|
| Not Found | 1 | Parameter not found |
| Already Exists | 1 | Parameter already exists |
| Invalid Type | 1 | Unknown parameter type |
| Invalid Path | 1 | Invalid parameter path |