Skip to main content

Converts simple YAML definitions of kafka ACLs and topics into AWS CFN templates

Project description

Tool / Lib to transform a simply defined set of kafka topics and transforms the definition into an AWS CloudFormation template that uses either EWS::Kafka::Topic or Custom::KafkaTopic (via AWS Lambda deployed in your account) to create/updated/delete your Kafka topics.

Installation

python3 -m pip install aws_cfn_kafka_admin_provider

Usage

As CLI

aws-cfn-kafka-admin-provider --help
usage: aws-cfn-kafka-admin-provider [-h] -f FILE_PATH [-o OUTPUT_FILE] [--format {json,yaml}] [_ ...]

positional arguments:
  _

optional arguments:
  -h, --help            show this help message and exit
  -f FILE_PATH, --file-path FILE_PATH
                        Path to the kafka definition file
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        Path to file output
  --format {json,yaml}  Template format

As lib

from aws_cfn_kafka_admin_provider.aws_cfn_kafka_admin_provider import KafkaStack

stack = KafkaStack("/path/to/input/file.yaml")
stack.render_topics()

Render models

# Through makefile
make data-model

# Via CLI with

datamodel-codegen --input-file-type jsonschema \
    --input aws-cfn-kafka-admin-provider-schema.json \
    --output aws_cfn_kafka_admin_provider/model.py

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

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

aws_cfn_kafka_admin_provider-0.6.0.tar.gz (14.4 kB view hashes)

Uploaded Source

Built Distribution

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