Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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 History

This version
History Node

0.9.10

History Node

0.9.9

History Node

0.9.8

History Node

0.9.7

History Node

0.9.6

History Node

0.9.5

History Node

0.9.4

History Node

0.9.3

History Node

0.9.2

History Node

0.9.1

History Node

0.9.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
awsparams-0.9.10-py3-none-any.whl (10.6 kB) Copy SHA256 Checksum SHA256 py3 Wheel Aug 31, 2017
awsparams-0.9.10.tar.gz (6.5 kB) Copy SHA256 Checksum SHA256 Source Aug 31, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting