Skip to main content

AWS Control Tower Manifest Builder

https://img.shields.io/pypi/v/aws_control_tower_manifest_builder.svg https://github.com/gabrielbac/aws_control_tower_manifest_builder/actions/workflows/test.yaml/badge.svg https://github.com/gabrielbac/aws_control_tower_manifest_builder/actions/workflows/release.yaml/badge.svg Documentation Status

Python package to automatically build the AWS Control Tower Manifest given Cloud Formation templates and SCPs as input.

Features

Pipeline.drawio.png

Quick start

  1. Run pip install aws-control-tower-manifest-builder

  2. Download sample template and SCPs from S3 “Add link”. Extract to directory

  3. Run aws_control_tower_manifest_builder --input-cf sample_templates --input-scp sample_scp --output output_manifest

    Note: the sample template includes incorrecly formatted templates.

For Developers - before pushing a branch

  1. Clone the repo

  2. make venv

  3. make black

  4. make lint

  5. make test

  6. make local-test

To bump version: 1. Update HISTORY.rst 2. git fetch to fetch all tags 3. make bump-<patch-minor-major> 4. Make a release in Github and add a tag.

  • Cloud Formation templates require a metadata section with the following info:

Metadata:
  manifest_parameters: # can be customized with --metadata-name
  name: detailed_template # Optional. Defaults to the file name. a-z, A-Z, 0-9, and "-"
  description: string # Required for SCPs
  deploy_method: stackset # Optional. All file in the template directory use "stackset" and in policy directory use "scp".
  accounts: ["123456789012", "987456123989"] # Requires "accounts" and/or "organizational_unit". If accounts is used, enforce only account
                                             # IDs with --enforce-account-number-only
  organizational_units: ["dev", "prod"] # Requires "accounts" and/or "organizational_unit".
  regions: ["us-east-1" , "us-east-2"] # Optional. Defaults to us-east-1.
  parameters: # Optional. List of parameters [SSM, Alfred, Values]
  - parameter_key: parameter1
    parameter_value: value1
  - parameter_key: parameter2
    parameter_value: value2
  export_outputs: # Optional. list of ssm parameters to store output values
  - name: /org/member/test-ssm/app-id
    value: $[output_ApplicationId]

History

0.3.1 (2022-03-03)

  • First release on PyPI.

0.4.0 (2022-03-27)

  • Change to mantain order, comments and support exclamation marks in Cloudformation

0.4.1 (2022-03-27)

  • Fix for the default region option

0.5.0 (2022-03-29)

  • Add argument to set schema version

0.5.1 (2022-03-24)

  • Fix issue when leaving region blank not picking default value

0.5.2 (2022-04-08)

  • Fail if files name or name in metadata dont match regex

0.5.3 (2022-04-09)

  • Fix in logging and update to Readme

0.5.4 (2022-04-18)

  • Exit with error when there is an issue in any manifest file

0.6.0 (2022-05-18)

  • Enforce description in SCP and correct extension

0.7.0 (2022-08-28)

  • Added 2 new options

    –metadata-name -> to customize the name in the metadata –enforce-account-number-only -> Allows to enforce use of 12 digit account numbers The input scps folder is not mandatory anymore

0.8.0 (2022-09-08)

  • Added 1 new option

    –enable_stack_set_deletion -> defaults to False. Set to True to enable the CT pipeline to delete stacksets.

Metadata

Release files for aws-control-tower-manifest-builder 0.10.0

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

Built distribution (wheel)

Table of built distributions (wheels) for aws-control-tower-manifest-builder 0.10.0
File Interpreter ABI Platform Actions
aws_control_tower_manifest_builder-0.10.0-py2.py3-none-any.whl Python 2, Python 3 none any Details for aws_control_tower_manifest_builder-0.10.0-py2.py3-none-any.whl

Release files / aws_control_tower_manifest_builder-0.10.0-py2.py3-none-any.whl

Download URL aws_control_tower_manifest_builder-0.10.0-py2.py3-none-any.whl
Size 11.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
19a91e4eef8399416ccba34bc1106ce97dec4c53e3bf40aa507709ec553061ee
BLAKE2b-256 checksum
How to use checksums
f0a3be5b234c7e6f54a968ed93e555ddde3e0a5139d0aa61dee36c6d7761480d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.8

Security for aws-control-tower-manifest-builder 0.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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