Skip to main content

Python project template

Project description

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

Project details


Download files

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

Source Distribution

paraman-0.0.3.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

paraman-0.0.3-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file paraman-0.0.3.tar.gz.

File metadata

  • Download URL: paraman-0.0.3.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for paraman-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0597bb4be4d03b8d5ac81e9e14bd2de9d24391bab6e6a284f9f9fcf11803ac0b
MD5 6352ab8f620ee02df108374091685f45
BLAKE2b-256 d24e30deaa961e42119afc906d03d1780d03d07fd62ec468c153831f30c03666

See more details on using hashes here.

File details

Details for the file paraman-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: paraman-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for paraman-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cde3a7fb5af491b987b9dba1bbeab70597eef9a7deaa08b4e2467324d3f1b70c
MD5 2380af1dc154c614c4a02cf4fbc92453
BLAKE2b-256 36abbed10d21fd98bfaea485f1672dac684d37da7209ca98b7c256ec8111c887

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page