LMA CLI — Command-Line Interface for AWS Live Meeting Assistant
LMA CLI — Command-Line Interface for AWS Live Meeting Assistant
Section titled “LMA CLI — Command-Line Interface for AWS Live Meeting Assistant”Overview
Section titled “Overview”The LMA CLI (lma-cli) provides a rich command-line interface for building, deploying, and managing AWS Live Meeting Assistant. It uses the LMA SDK under the hood and provides beautiful terminal output via Rich.
Installation
Section titled “Installation”# From the project root — install both SDK and CLIpip install -e lib/lma_sdkpip install -e lib/lma_cli_pkg
# Or use makemake setup-cliAfter installation, the lma command (and alias lma-cli) is available:
lma --helpCommands
Section titled “Commands”lma publish — Build & Upload Artifacts
Section titled “lma publish — Build & Upload Artifacts”Packages all LMA sub-stacks, uploads artifacts to S3, and generates a deployable CloudFormation template URL.
# Standard build and publish (bucket auto-generated from AWS account ID)lma publish
# With custom bucket and prefix, and regionlma publish --bucket-basename my-artifacts --prefix lma --region us-east-1
# Force full rebuild (skip change detection)lma publish --force
# Public artifacts (for shared deployments)lma publish --publicOptions:
| Option | Description |
|---|---|
--source-dir PATH | Path to LMA project root (default: .) |
--bucket-basename TEXT | S3 bucket basename (auto-generated from account ID if omitted) |
--prefix TEXT | S3 key prefix (default: lma) |
--region TEXT | AWS region (default: from AWS CLI profile) |
--public | Make artifacts publicly readable |
--force | Force full rebuild (delete checksums) |
--version TEXT | Override version string |
--no-validate | Skip CloudFormation template validation |
-v, --verbose | Enable verbose build output |
Features:
- Rich progress output with per-stack status
- SHA256-based change detection (skips unchanged stacks)
- Colourized summary panel with template URL and console URL
lma deploy — Deploy/Update Stack
Section titled “lma deploy — Deploy/Update Stack”Deploy or update the LMA CloudFormation stack. If no template source is specified, deploys from the public published LMA template for the current region.
# Deploy from public template (simplest — new stack)lma deploy --stack-name MyLMA --admin-email user@example.com --wait
# Deploy from public template (create new stack or update existing stack)lma deploy --stack-name MyLMA --wait
# Deploy from local code (build, publish, then deploy)lma deploy --stack-name MyLMA --from-code . --admin-email user@example.com --wait
# Deploy from local code with custom bucketlma deploy --stack-name MyLMA --from-code . --bucket-basename my-artifacts --wait
# Deploy from specific S3 template URLlma deploy --stack-name MyLMA --template-url https://s3.us-east-1.amazonaws.com/bucket/lma-main.yaml
# Deploy with parameter overrideslma deploy --stack-name MyLMA -p AdminEmail=admin@example.com -p InstallDemoMode=true --wait
# Deploy from local template filelma deploy --stack-name MyLMA --template-file /tmp/lma-main.yaml --waitOptions:
| Option | Description |
|---|---|
--stack-name TEXT | CloudFormation stack name (default: LMA) |
--admin-email TEXT | Admin user email (required for new stacks) |
--from-code DIRECTORY | Build and publish from local source before deploying |
--template-url TEXT | S3 URL for CloudFormation template |
--template-file FILE | Path to local CloudFormation template file |
-p, --parameter KEY=VALUE | Parameter override (can be repeated) |
--wait | Wait for stack operation to complete with event streaming |
--no-rollback | Disable rollback on stack creation failure |
--role-arn TEXT | CloudFormation service role ARN |
--timeout INTEGER | Max wait time in minutes (default: 120) |
--bucket-basename TEXT | S3 bucket basename (used with --from-code) |
--prefix TEXT | S3 key prefix (default: lma, used with --from-code) |
--public | Make S3 artifacts publicly readable (used with --from-code) |
--clean-build | Force full rebuild (used with --from-code) |
--no-validate-template | Skip CloudFormation template validation (used with --from-code) |
Template Resolution:
- If
--from-codeis specified, builds and publishes artifacts first, then deploys the resulting template - If
--template-urlis specified, uses that URL directly - If
--template-fileis specified, uses the local file - If none specified, auto-selects the public LMA template for the current region:
us-east-1,us-west-2,ap-southeast-2are supported
Smart Features:
- Auto-detects if the stack has an operation in progress and switches to monitoring mode
- Streams CloudFormation events in real-time when
--waitis used - Validates that
--admin-emailis provided for new stack creation - Shows next steps and important outputs upon completion
lma status — Stack Status
Section titled “lma status — Stack Status”Show current CloudFormation stack status, parameters, and outputs.
lma statuslma status --stack-name MyLMAlma outputs — Stack Outputs
Section titled “lma outputs — Stack Outputs”Show stack outputs (CloudFront URL, AppSync endpoint, Cognito pool, etc.).
lma outputslma outputs --jsonlma outputs --stack-name MyLMAlma delete — Delete Stack
Section titled “lma delete — Delete Stack”Delete the LMA stack and all its resources.
lma delete # Interactive confirmationlma delete --yes # Skip confirmationlma delete --stack-name MyLMA --yeslma logs — CloudWatch Logs
Section titled “lma logs — CloudWatch Logs”View CloudWatch logs for Lambda functions and services.
# List available log groupslma logs --list
# View logs from a specific grouplma logs /LMA/lambda/FetchTranscript
# Partial name matchinglma logs FetchTranscript --since 60 --limit 200lma check-prereqs — Prerequisite Check
Section titled “lma check-prereqs — Prerequisite Check”Verify all publish prerequisites are installed (Docker, SAM CLI, Node.js, etc.).
lma check-prereqslma list-stacks — List Sub-Stacks
Section titled “lma list-stacks — List Sub-Stacks”List all publishable LMA sub-stacks with their package types.
lma list-stacksGlobal Options
Section titled “Global Options”lma --region us-west-2 status # Override AWS regionlma --profile prod outputs # Use specific AWS profilelma --stack-name MyLMA status # Override stack namelma -v publish --source-dir . --region us-east-1 # Verbose loggingEnvironment Variables
Section titled “Environment Variables”| Variable | Description | Default |
|---|---|---|
LMA_STACK_NAME | CloudFormation stack name | LMA |
AWS_DEFAULT_REGION | AWS region | us-east-1 |
AWS_PROFILE | AWS CLI profile | (default chain) |
Typical Workflows
Section titled “Typical Workflows”Quick Deploy (from public template)
Section titled “Quick Deploy (from public template)”# Deploy the latest published LMA — auto-selects template for your regionlma deploy --stack-name MyLMA --admin-email user@example.com --waitDeveloper Workflow (from local code)
Section titled “Developer Workflow (from local code)”# 1. Check prerequisiteslma check-prereqs
# 2. Build and deploy from local source code in one steplma deploy --stack-name MyLMA --from-code . --admin-email user@example.com --wait
# 3. Get the CloudFront URLlma outputs
# 4. View logslma logs --listlma logs FetchTranscript --since 30Manual Publish + Deploy
Section titled “Manual Publish + Deploy”# 1. Publish artifacts to S3lma publish --source-dir . --region us-east-1
# 2. Deploy using the published template URLlma deploy --stack-name MyLMA --template-url <template-url> --wait
# 3. Monitor statuslma statusMonitor an In-Progress Deployment
Section titled “Monitor an In-Progress Deployment”# If a deploy is already running, this auto-detects and monitors itlma deploy --stack-name MyLMA --waitFuture Commands (Phase 2+)
Section titled “Future Commands (Phase 2+)”| Command | Description | Phase |
|---|---|---|
lma meetings list | List meetings | 2 |
lma meetings get <id> | Get meeting details | 2 |
lma transcript get <id> | Get transcript | 2 |
lma join <meeting-url> | Join meeting via Virtual Participant | 3 |
lma leave <meeting-id> | Leave meeting | 3 |
lma ask "<question>" | Ask meeting assistant | 4 |
lma stream start | Stream audio | 4 |
Architecture
Section titled “Architecture”The CLI is built with Click and Rich, following the same patterns as the IDP CLI:
lma_cli/├── cli.py # Main entry point, Click group├── formatters.py # Rich output helpers (tables, panels, colours)└── commands/ ├── publish.py # publish, check-prereqs, list-stacks └── stack.py # status, outputs, deploy, delete, logsAll AWS operations go through the LMA SDK — the CLI only handles UX/formatting.