Skip to main content

paraman

Requirements

  • Python 3.6.7+
  • (Optional) AWS CLI for deploying a CloudFormation template

Installation

$ pip install paraman

Docker

TODO: Update DockerHub pipeline

docker run --rm -it unfor19/paraman

Features

  1. Get SSM Parameters by path, output: .parameters.json and .parameters_types.json
  2. Generate SSM parameters to CloudFormation templates, according to Get SSM Parameters, output: .merged.yaml
  3. Deploy CloudFormation template .merged.yaml, output: CloudFormation Stack in AWS
  4. Put SSM Parameters values in AWS, according to Get SSM Parameters, output: SSM Parameters with a dummy value "empty" in AWS

Usage

Usage: paraman [OPTIONS] COMMAND [ARGS]...

  Examples:

  paraman --parameters-region eu-west-1 parameter-get              
  --prefix-to-replace /my-app/development/                         
  --exclude-paths "/accounts/,/google_credentials/,/cookie_secret"

  paraman cloudformation-create                                    
  --prefix-to-replace /my-app/development/                         
  --replace-prefix-with /my-app/test/

  aws cloudformation deploy                                        
  --region us-east-1                                               
  --template-file .merged.yaml                                     
  --stack-name test-virginia

  paraman --parameters-region us-east-1 parameter-put              
  --prefix-to-replace /my-app/dev/                                 
  --replace-prefix-with /my-app/test/                              
  --overwrite=true

Options:
  -ci, --ci                Use this flag to avoid confirmation prompts
  -dev, --local-dev        Use this flag for local tests with localstack
  -u, --endpoint-url TEXT  Set a custom AWS endpoint_url
  --help                   Show this message and exit.

Commands:
  cloudformation-create  Alias: cc Gets SSM Parameters from AWS or from the...
  parameter-get          Alias: pg Gets `parameters_region` and...
  parameter-put          Alias: pp Gets `parameters_region` and...
  version                Print the installed version

Contributing

Report issues/questions/feature requests on the Issues section.

Pull requests are welcome! Ideally, create a feature branch and issue for every single change you make. These are the steps:

  1. Fork this repo
  2. Create your feature branch from master (git checkout -b my-new-feature)
  3. Install from source
     $ git clone https://github.com/${GITHUB_OWNER}/paraman.git && cd paraman
     ...
     $ pip install --upgrade pip
     ...
     $ python -m venv ./ENV
     $ . ./ENV/bin/activate
     ...
     $ (ENV) pip install --editable .
     ...
     # Done! Now when you run 'paraman' it will get automatically updated when you modify the code
    
  4. Add the code of your new feature
  5. Test - make sure all commands work properly (TODO: add tests)
  6. Commit your remarkable changes (git commit -am 'Added new feature')
  7. Push to the branch (git push --set-up-stream origin my-new-feature)
  8. Create a new Pull Request and tell us about your changes

Authors

Created and maintained by Meir Gabay

Release files for paraman 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paraman 0.0.3
File Size Uploaded
paraman-0.0.3.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paraman 0.0.3
File Interpreter ABI Platform
paraman-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size:19.6 kB

Release files / paraman-0.0.3.tar.gz

Download URL paraman-0.0.3.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0597bb4be4d03b8d5ac81e9e14bd2de9d24391bab6e6a284f9f9fcf11803ac0b
BLAKE2b-256 checksum
How to use checksums
d24e30deaa961e42119afc906d03d1780d03d07fd62ec468c153831f30c03666
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release files / paraman-0.0.3-py3-none-any.whl

Download URL paraman-0.0.3-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cde3a7fb5af491b987b9dba1bbeab70597eef9a7deaa08b4e2467324d3f1b70c
BLAKE2b-256 checksum
How to use checksums
36abbed10d21fd98bfaea485f1672dac684d37da7209ca98b7c256ec8111c887
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page