A simple CLI and Library for adding/removing/renaming/copying AWS Param Store Parameters
Project Description
Why this script?
The current (Jul 2017) AWS Console for the Systems Manager Parameter Store is good for adding and editing the values of parameters, but misses key productivity functions like copying (especially en mass), renaming, etc. The current aws ssm CLI is very similar in functionality to the AWS Console.
This script is to automate a lot of the manual work currently needed with the existing AWS-provided UIs.
Installation
- Install Python 3.6 with your favorite method. We recommend apt-get or rpm on linux, homebrew on mac and here on windows.
- pip3.6 install awsparams
Usage
As a Library:
from awsparams.awsparams import get_parameter, get_all_parameters, get_parameter_value #get a single parameter param = get_parameter('test1', values=True, decryption=True) # {'Name': 'test1', 'Value': 'test123', 'Type': 'SecureString', 'KeyId': 'alias/aws/ssm'} # get multiple parameters with a prefix/pattern params = get_all_parameters(profile=None, pattern="testing.testing.", values=True, decryption=True) # [{'Name': 'testing.testing.testing', 'Value': '1234', 'Type': 'String'}, {'Name': 'testing.testing.testing2', 'Value': '1234', 'Type': 'String'}] # get just a parameter value value = get_parameter_value('test1', decryption=True, profile=None) # test123
Usage can be referenced by running awsparams --help or awsparams subcommand --help commands:
Usage: awsparams [OPTIONS] COMMAND [ARGS]... Options: --version Show the version and exit. --help Show this message and exit. Commands: cp Copy a parameter, optionally across accounts ls List Paramters, optional matching a specific... mv Move or rename a parameter new Create a new parameter rm Remove/Delete a parameter set Edit an existing parameter
Examples
ls usage
ls names only
awsparams ls
ls with values no decryption
awsparams ls --values or awsparams ls -v
ls with values and decryption
awsparams ls --with-decryption
ls by prefix
awsparams ls appname.prd
new usage
new interactively
awsparams new
new semi-interactively
awsparams new --name appname.prd.username
new non-interactive
awsparams new --name appname.prd.usrname --value parameter_value --description parameter_descripton
cp usage
copy a parameter
awsparams cp appname.prd.username newappname.prd.username
copy set of parameters with prefix appname.dev. to appname.prd.
awsparams cp appname.dev. appname.prd. --prefix
copy set of parameters starting with prefix repometa-generator.prd overwrite existing parameters accross different accounts
awsparams cp repometa-generator.prd --src_profile=dev --dst_profile=trn --prefix=True
copy single parameters accross different accounts
awsparams cp appname.dev.username appname.trb.username --src_profile=dev --dst_profile=trn
mv usage
rename/move a parameter
awsparams mv appname.dev.username appname.prd.username
rename/move all parameters with a prefix changing only the prefix
awsparams mv appname.dev appname.prd --prefix=True
set usage
edit parameter’s value
awsparams set appname.dev.username newusername
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
awsparams-0.9.10-py3-none-any.whl (10.6 kB) Copy SHA256 hash SHA256 | Wheel | py3 | Aug 31, 2017 |
awsparams-0.9.10.tar.gz (6.5 kB) Copy SHA256 hash SHA256 | Source | None | Aug 31, 2017 |