Easy SSM Parameters
Simple SSM Parameter Store interactions via a CLI.
Why?
I've been using AWS SSM Parameter store for a while now for all my applications and the management is a nightmare. This CLI aims to simplify the management of parameters in AWS SSM.
Installation
You can check out the releases page.
OSX
Homebrew
$ brew tap technicallyjosh/easy-params
$ brew install easy-params
CLI
$ easy-params
An easy AWS Parameter Store CLI
Usage:
easy-params [flags]
easy-params [command]
Available Commands:
diff Shows the difference recursively between 2 paths.
get A brief description of your command
help Help about any command
ls List parameters by path
migrate Migrate parameters by path
pull
put Put parameter by path
rm Remove parameter(s) by path
Flags:
--config string config file (default is $HOME/.easy-params.yaml)
-h, --help help for easy-params
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
Use "easy-params [command] --help" for more information about a command.
Basic Usage
Right now it uses your default profile found in ~/.aws/credentials. You can change the region to use on any command but for now it pulls from your [default] defined. This will also load ~/.aws/config by default.
Commands
ls
Lists parameters in specified path.
$ easy-params ls --help
List parameters by path
Usage:
easy-params ls <path> [flags]
Flags:
-d, --decrypt decrypt "SecureString" values (default true)
-e, --env output plain .env format
-h, --help help for ls
-p, --plain plain text instead of table
-r, --recursive recursively get values based on path (default true)
-v, --values display values
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
get
Get a single parameter by path.
$ easy-params get --help
Get parameter value by path
Usage:
easy-params get <path> [flags]
Flags:
-d, --decrypt decrypt "SecureString" value (default true)
-h, --help help for get
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
put
Put a parameter to the specified path.
$ easy-params put --help
Put parameter by path
Usage:
easy-params put <path> <value> [flags]
Flags:
-c, --context string context mode for setting many values.
-h, --help help for put
-o, --overwrite overwrite param if exists.
-t, --type string type of parameter. (default "SecureString")
-v, --value string value to store.
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
rm
Remove a parameter by path. You can also remove recursively by path with the --recursive flag.
$ easy-params rm --help
Remove parameter(s) by path
Usage:
easy-params rm <path(s)> [flags]
Flags:
-h, --help help for rm
--recursive remove all children on path recursively
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
migrate
Migrate parameters from one path to another. Supports region to region. This command will use the
same region if region-to
is not specified.
$ easy-params migrate --help
Migrate parameters by path
Usage:
easy-params migrate <source path> [destination path] [flags]
Flags:
-h, --help help for migrate
--overwrite overwrite destination params
-f, --region-from string the region to migrate from
-t, --region-to string the region to migrate to
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version
diff
Simple diff between 2 paths. Can also diff values.
$ easy-params diff --help
Shows the difference recursively between 2 paths.
Usage:
easy-params diff <path 1> <path 2> [flags]
Flags:
-d, --decrypt decrypt "SecureString" values (default true)
-h, --help help for diff
-v, --values show value diffs
-w, --width-limit int width limit of value output
Global Flags:
--config string config file (default is $HOME/.easy-params.yaml)
--load-config load aws config from ~/.aws/config (default true)
-l, --local-time convert UTC to local time (default true)
--region string AWS region to use
--version show version