AWS Secrets +
AWS Secrets Manager integration for BoxLang system settings via the aws. namespace in getSystemSetting().
This module is only available to +/++ subscribers only, and requires a valid bx-plus license.
The bx-aws-secrets module registers an aws system setting provider so BoxLang can resolve secrets directly from AWS Secrets Manager using getSystemSetting().
✨ Features
Resolve secrets with
getSystemSetting( "aws.SECRET_NAME" )3-tier configuration resolution per setting:
this.awsinApplication.bx, module settings, then AWS environment variablesIn-memory TTL caching to reduce Secrets Manager API calls
Per-application
SecretsManagerClientisolation whenthis.awsis definedAutomatic client cleanup on application shutdown
Graceful fallback behavior: returns
nullon provider errors so normalgetSystemSetting()fallback continues
📦 Requirements
BoxLang 1.14+
bx-plusmoduleAWS IAM permissions to read secrets (
secretsmanager:GetSecretValue)
🚀 Installation
Via CommandBox
Via BoxLang OS Binary
⚡ Quick Start
Install and activate
bx-plusandbx-aws-secretsConfigure credentials through
this.aws, module settings, or AWS environment variablesResolve secrets with
aws.namespaced keys
⚙️ Basic Configuration
Use module settings in boxlang.json when you want global defaults:
For per-app overrides and LocalStack examples, see Configuration & Usage.
🔍 How Secret Resolution Works
For getSystemSetting( "aws.MY_SECRET" ), the provider:
Resolves effective AWS settings (3-tier lookup)
Checks in-memory cache using
region:secretNameCalls AWS Secrets Manager when cache is stale/missing
Caches and returns the secret value
Returns
nullon lookup failure, allowing standard BoxLang fallback behavior
🔗 Related Documentation
Configuration & UsageModulesPlus CoreLast updated
Was this helpful?
