Skip to content

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”

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.

Terminal window
# From the project root — install both SDK and CLI
pip install -e lib/lma_sdk
pip install -e lib/lma_cli_pkg
# Or use make
make setup-cli

After installation, the lma command (and alias lma-cli) is available:

Terminal window
lma --help

Packages all LMA sub-stacks, uploads artifacts to S3, and generates a deployable CloudFormation template URL.

Terminal window
# Standard build and publish (bucket auto-generated from AWS account ID)
lma publish
# With custom bucket and prefix, and region
lma 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 --public

Options:

OptionDescription
--source-dir PATHPath to LMA project root (default: .)
--bucket-basename TEXTS3 bucket basename (auto-generated from account ID if omitted)
--prefix TEXTS3 key prefix (default: lma)
--region TEXTAWS region (default: from AWS CLI profile)
--publicMake artifacts publicly readable
--forceForce full rebuild (delete checksums)
--version TEXTOverride version string
--no-validateSkip CloudFormation template validation
-v, --verboseEnable 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

Deploy or update the LMA CloudFormation stack. If no template source is specified, deploys from the public published LMA template for the current region.

Terminal window
# 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 bucket
lma deploy --stack-name MyLMA --from-code . --bucket-basename my-artifacts --wait
# Deploy from specific S3 template URL
lma deploy --stack-name MyLMA --template-url https://s3.us-east-1.amazonaws.com/bucket/lma-main.yaml
# Deploy with parameter overrides
lma deploy --stack-name MyLMA -p AdminEmail=admin@example.com -p InstallDemoMode=true --wait
# Deploy from local template file
lma deploy --stack-name MyLMA --template-file /tmp/lma-main.yaml --wait

Options:

OptionDescription
--stack-name TEXTCloudFormation stack name (default: LMA)
--admin-email TEXTAdmin user email (required for new stacks)
--from-code DIRECTORYBuild and publish from local source before deploying
--template-url TEXTS3 URL for CloudFormation template
--template-file FILEPath to local CloudFormation template file
-p, --parameter KEY=VALUEParameter override (can be repeated)
--waitWait for stack operation to complete with event streaming
--no-rollbackDisable rollback on stack creation failure
--role-arn TEXTCloudFormation service role ARN
--timeout INTEGERMax wait time in minutes (default: 120)
--bucket-basename TEXTS3 bucket basename (used with --from-code)
--prefix TEXTS3 key prefix (default: lma, used with --from-code)
--publicMake S3 artifacts publicly readable (used with --from-code)
--clean-buildForce full rebuild (used with --from-code)
--no-validate-templateSkip CloudFormation template validation (used with --from-code)

Template Resolution:

  • If --from-code is specified, builds and publishes artifacts first, then deploys the resulting template
  • If --template-url is specified, uses that URL directly
  • If --template-file is 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-2 are 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 --wait is used
  • Validates that --admin-email is provided for new stack creation
  • Shows next steps and important outputs upon completion

Show current CloudFormation stack status, parameters, and outputs.

Terminal window
lma status
lma status --stack-name MyLMA

Show stack outputs (CloudFront URL, AppSync endpoint, Cognito pool, etc.).

Terminal window
lma outputs
lma outputs --json
lma outputs --stack-name MyLMA

Delete the LMA stack and all its resources.

Terminal window
lma delete # Interactive confirmation
lma delete --yes # Skip confirmation
lma delete --stack-name MyLMA --yes

View CloudWatch logs for Lambda functions and services.

Terminal window
# List available log groups
lma logs --list
# View logs from a specific group
lma logs /LMA/lambda/FetchTranscript
# Partial name matching
lma logs FetchTranscript --since 60 --limit 200

Verify all publish prerequisites are installed (Docker, SAM CLI, Node.js, etc.).

Terminal window
lma check-prereqs

List all publishable LMA sub-stacks with their package types.

Terminal window
lma list-stacks
Terminal window
lma --region us-west-2 status # Override AWS region
lma --profile prod outputs # Use specific AWS profile
lma --stack-name MyLMA status # Override stack name
lma -v publish --source-dir . --region us-east-1 # Verbose logging
VariableDescriptionDefault
LMA_STACK_NAMECloudFormation stack nameLMA
AWS_DEFAULT_REGIONAWS regionus-east-1
AWS_PROFILEAWS CLI profile(default chain)
Terminal window
# Deploy the latest published LMA — auto-selects template for your region
lma deploy --stack-name MyLMA --admin-email user@example.com --wait
Terminal window
# 1. Check prerequisites
lma check-prereqs
# 2. Build and deploy from local source code in one step
lma deploy --stack-name MyLMA --from-code . --admin-email user@example.com --wait
# 3. Get the CloudFront URL
lma outputs
# 4. View logs
lma logs --list
lma logs FetchTranscript --since 30
Terminal window
# 1. Publish artifacts to S3
lma publish --source-dir . --region us-east-1
# 2. Deploy using the published template URL
lma deploy --stack-name MyLMA --template-url <template-url> --wait
# 3. Monitor status
lma status
Terminal window
# If a deploy is already running, this auto-detects and monitors it
lma deploy --stack-name MyLMA --wait
CommandDescriptionPhase
lma meetings listList meetings2
lma meetings get <id>Get meeting details2
lma transcript get <id>Get transcript2
lma join <meeting-url>Join meeting via Virtual Participant3
lma leave <meeting-id>Leave meeting3
lma ask "<question>"Ask meeting assistant4
lma stream startStream audio4

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, logs

All AWS operations go through the LMA SDK — the CLI only handles UX/formatting.