Skip to main content

Aviv CDK Python library

Project description

AVIV CDK for Python

A set of AWS CDK examples and constructs.

Install

Requires:

  • Python >= 3.6, pip
  • cdk
npm install -g aws-cdk
pip install aviv-cdk

# With 'extra' to install additionnal libraries
pip install aviv-cdk[data]

Use it

import aviv_cdk

CICD

from aws_cdk import App
from aviv_cdk.cicd.stack import CodePipelineStack

app = App()
CodePipelineStack(
    app, 'cicd-stack',
    connections={'myorg': dict(connection_name='myorg')},
    sources={'cicd-stack': dict(repo_string='myorg/repo', branch='main')},
    pipeline=dict(
        self_mutation=False
    )
  )
app.synth()

Route53

from aviv_cdk.route53 import DomainZone

# Creates a new HostedZone
z = DomainZone(stack, 'myzone', fqdn='mydomain.com')
# add record
z.a('toto.mydomain.com', '10.0.0.1')

# Use an existing Zone
z = DomainZone(stack, 'myzone', fqdn='mydomain.com', zone_id='42')
z.txt('mydomain.com', 'my-dummy-check')

RDS

Fargate

Development

Develop and contribute :)

Requirements:

  • pipenv, cdk client
  • [optional] docker & AWS codebuild docker image (standard >= 4.0)
git clone https://github.com/aviv-group/aviv-cdk-python && cd aviv-cdk-python
pipenv install -d -e .

# Build with codebuild agent - see: buildspec.yml
codebuild_build.sh -i aws/codebuild/standard:4.0 -a cdk.out

# Run tests
pipenv run pytest -v tests/

Build, distrib & release

Requires twine to be installed (pip install twine) and credentials to upload a new verison to pypi.

# Test and build
python3 setup.py sdist bdist_wheel

# Release on pypi
python3 -m twine upload --repository testpypi dist/*
python3 -m twine upload --repository pypi dist/*

Contribute

Yes please! Fork this project, tweak it and share it back by sending your PRs.
Have a look at the TODO's and changelog file if you're looking for inspiration.

License

This project is developed under the MIT license.

Author(s) and Contributors

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

aviv-cdk-0.3.13.tar.gz (18.6 kB view hashes)

Uploaded Source

Built Distribution

aviv_cdk-0.3.13-py3-none-any.whl (22.6 kB view hashes)

Uploaded Python 3

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