A lightweight, user-friendly CLI tool for managing AWS Systems Manager (SSM) Parameter Store using YAML config files. It supports uploading, downloading, deleting, tree visualization, and secure secret handling with smart heuristics.
- ✅ Upload YAML configs to SSM Parameter Store
- 📥 Download SSM parameters into a YAML file
- 🔐 Upload secrets as SecureStrings (manual or smart detection)
- 🌲 Visualize parameters in a tree structure
- 🔄 Round-trip safe: YAML to SSM and back
- 🗑️ Delete parameters based on YAML keys
- 🎨 Colored CLI output with SecureString locks (🔒)
- ⚙️ Shell autocompletions
- Download from the releases
- Run
aws-ssm -v
to check if it's working correctly. - Enjoy!
or build manually using:
git clone https://github.com/mbevc1/aws-ssm.git
cd aws-ssm
make build
aws-ssm load -f config.yaml -p /myapp --smart-secure
aws-ssm save -p /myapp -o downloaded.yaml
aws-ssm delete -f config.yaml -p /myapp
aws-ssm tree -p /myapp
aws-ssm yaml-tree -f config.yaml
root
└── api
├── endpoint = https://api.example.com
├── token 🔒 = abc123xyz
└── app_name = my-service
└── db
├── host = localhost
├── password 🔒 = supersecret
├── port = 5432
├── user = admin
└── debug = true
└── servers
├── 0 = web-1.local
├── 1 = web-2.local
└── timeout_seconds = 2.5
- Use
--secure
/-s
to upload all values as SecureStrings - Use
--auto-secure
/-a
to auto-detect secrets based on key names (e.g.,password
,secret
,token
, etc.) - Secure parameters are shown with a 🔒 lock in
load
,tree
,save
, anddelete
source <(aws-ssm completion bash)
# Or persist:
aws-ssm completion bash > /etc/bash_completion.d/aws-ssm
echo "autoload -U compinit; compinit" >> ~/.zshrc
aws-ssm completion zsh > ${fpath[1]}/_aws-ssm
Report issues/questions/feature requests on in the issues section.
Full contributing guidelines are covered here.
MPL-2.0 Licensed. See LICENSE for full details.