├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── NOTICE.txt ├── README.md ├── VERSION ├── customizations-for-aws-control-tower.template ├── deployment ├── add-on │ └── .gitkeep ├── build-s3-dist.sh ├── custom-control-tower-initiation.template ├── custom_control_tower_configuration │ ├── example-configuration │ │ ├── manifest.yaml │ │ ├── parameters │ │ │ ├── create-ssm-parameter-keys-1.json │ │ │ └── create-ssm-parameter-keys-2.json │ │ ├── policies │ │ │ ├── preventive-guardrails.json │ │ │ └── rcp-preventive-guardrails.json │ │ └── templates │ │ │ ├── create-ssm-parameter-keys-1.template │ │ │ └── create-ssm-parameter-keys-2.template │ └── manifest.yaml.j2 ├── lambda_build.py └── run-unit-tests.sh ├── pytest.ini └── source ├── codebuild_scripts ├── execute_stage_scripts.sh ├── find_replace.py ├── install_stage_dependencies.sh ├── merge_baseline_template_parameter.py ├── merge_directories.sh ├── merge_manifest.py ├── run-validation.sh └── state_machine_trigger.py └── src ├── cfct ├── __init__.py ├── aws │ ├── __init__.py │ ├── services │ │ ├── __init__.py │ │ ├── cloudformation.py │ │ ├── code_pipeline.py │ │ ├── ec2.py │ │ ├── kms.py │ │ ├── organizations.py │ │ ├── rcp.py │ │ ├── s3.py │ │ ├── scp.py │ │ ├── ssm.py │ │ ├── state_machine.py │ │ └── sts.py │ └── utils │ │ ├── __init__.py │ │ ├── boto3_session.py │ │ └── url_conversion.py ├── exceptions.py ├── lambda_handlers │ ├── __init__.py │ ├── config_deployer.py │ ├── lifecycle_event_handler.py │ └── state_machine_router.py ├── manifest │ ├── __init__.py │ ├── cfn_params_handler.py │ ├── manifest.py │ ├── manifest_parser.py │ ├── sm_execution_manager.py │ ├── sm_input_builder.py │ └── stage_to_s3.py ├── metrics │ ├── __init__.py │ └── solution_metrics.py ├── state_machine_handler.py ├── types.py ├── utils │ ├── __init__.py │ ├── crhelper.py │ ├── datetime_encoder.py │ ├── list_comparision.py │ ├── logger.py │ ├── parameter_manipulation.py │ ├── password_generator.py │ ├── path_utils.py │ ├── retry_decorator.py │ └── string_manipulation.py └── validation │ ├── __init__.py │ ├── custom_validation.py │ ├── manifest-v2.schema.yaml │ └── manifest.schema.yaml ├── pyproject.toml └── setup.py /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/NOTICE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/README.md -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | v2.8.3 2 | -------------------------------------------------------------------------------- /customizations-for-aws-control-tower.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/customizations-for-aws-control-tower.template -------------------------------------------------------------------------------- /deployment/add-on/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deployment/build-s3-dist.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/build-s3-dist.sh -------------------------------------------------------------------------------- /deployment/custom-control-tower-initiation.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom-control-tower-initiation.template -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/manifest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/manifest.yaml -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/parameters/create-ssm-parameter-keys-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/parameters/create-ssm-parameter-keys-1.json -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/parameters/create-ssm-parameter-keys-2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/parameters/create-ssm-parameter-keys-2.json -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/policies/preventive-guardrails.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/policies/preventive-guardrails.json -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/policies/rcp-preventive-guardrails.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/policies/rcp-preventive-guardrails.json -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/templates/create-ssm-parameter-keys-1.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/templates/create-ssm-parameter-keys-1.template -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/example-configuration/templates/create-ssm-parameter-keys-2.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/example-configuration/templates/create-ssm-parameter-keys-2.template -------------------------------------------------------------------------------- /deployment/custom_control_tower_configuration/manifest.yaml.j2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/custom_control_tower_configuration/manifest.yaml.j2 -------------------------------------------------------------------------------- /deployment/lambda_build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/lambda_build.py -------------------------------------------------------------------------------- /deployment/run-unit-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/deployment/run-unit-tests.sh -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/pytest.ini -------------------------------------------------------------------------------- /source/codebuild_scripts/execute_stage_scripts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/execute_stage_scripts.sh -------------------------------------------------------------------------------- /source/codebuild_scripts/find_replace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/find_replace.py -------------------------------------------------------------------------------- /source/codebuild_scripts/install_stage_dependencies.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/install_stage_dependencies.sh -------------------------------------------------------------------------------- /source/codebuild_scripts/merge_baseline_template_parameter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/merge_baseline_template_parameter.py -------------------------------------------------------------------------------- /source/codebuild_scripts/merge_directories.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/merge_directories.sh -------------------------------------------------------------------------------- /source/codebuild_scripts/merge_manifest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/merge_manifest.py -------------------------------------------------------------------------------- /source/codebuild_scripts/run-validation.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/run-validation.sh -------------------------------------------------------------------------------- /source/codebuild_scripts/state_machine_trigger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/codebuild_scripts/state_machine_trigger.py -------------------------------------------------------------------------------- /source/src/cfct/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/aws/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/aws/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/aws/services/cloudformation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/cloudformation.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/code_pipeline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/code_pipeline.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/ec2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/ec2.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/kms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/kms.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/organizations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/organizations.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/rcp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/rcp.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/s3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/s3.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/scp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/scp.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/ssm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/ssm.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/state_machine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/state_machine.py -------------------------------------------------------------------------------- /source/src/cfct/aws/services/sts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/services/sts.py -------------------------------------------------------------------------------- /source/src/cfct/aws/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/aws/utils/boto3_session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/utils/boto3_session.py -------------------------------------------------------------------------------- /source/src/cfct/aws/utils/url_conversion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/aws/utils/url_conversion.py -------------------------------------------------------------------------------- /source/src/cfct/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/exceptions.py -------------------------------------------------------------------------------- /source/src/cfct/lambda_handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/lambda_handlers/config_deployer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/lambda_handlers/config_deployer.py -------------------------------------------------------------------------------- /source/src/cfct/lambda_handlers/lifecycle_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/lambda_handlers/lifecycle_event_handler.py -------------------------------------------------------------------------------- /source/src/cfct/lambda_handlers/state_machine_router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/lambda_handlers/state_machine_router.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/manifest/cfn_params_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/cfn_params_handler.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/manifest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/manifest.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/manifest_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/manifest_parser.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/sm_execution_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/sm_execution_manager.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/sm_input_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/sm_input_builder.py -------------------------------------------------------------------------------- /source/src/cfct/manifest/stage_to_s3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/manifest/stage_to_s3.py -------------------------------------------------------------------------------- /source/src/cfct/metrics/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/metrics/solution_metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/metrics/solution_metrics.py -------------------------------------------------------------------------------- /source/src/cfct/state_machine_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/state_machine_handler.py -------------------------------------------------------------------------------- /source/src/cfct/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/types.py -------------------------------------------------------------------------------- /source/src/cfct/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/utils/crhelper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/crhelper.py -------------------------------------------------------------------------------- /source/src/cfct/utils/datetime_encoder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/datetime_encoder.py -------------------------------------------------------------------------------- /source/src/cfct/utils/list_comparision.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/list_comparision.py -------------------------------------------------------------------------------- /source/src/cfct/utils/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/logger.py -------------------------------------------------------------------------------- /source/src/cfct/utils/parameter_manipulation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/parameter_manipulation.py -------------------------------------------------------------------------------- /source/src/cfct/utils/password_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/password_generator.py -------------------------------------------------------------------------------- /source/src/cfct/utils/path_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/path_utils.py -------------------------------------------------------------------------------- /source/src/cfct/utils/retry_decorator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/retry_decorator.py -------------------------------------------------------------------------------- /source/src/cfct/utils/string_manipulation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/utils/string_manipulation.py -------------------------------------------------------------------------------- /source/src/cfct/validation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/src/cfct/validation/custom_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/validation/custom_validation.py -------------------------------------------------------------------------------- /source/src/cfct/validation/manifest-v2.schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/validation/manifest-v2.schema.yaml -------------------------------------------------------------------------------- /source/src/cfct/validation/manifest.schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/cfct/validation/manifest.schema.yaml -------------------------------------------------------------------------------- /source/src/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/pyproject.toml -------------------------------------------------------------------------------- /source/src/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-solutions/aws-control-tower-customizations/HEAD/source/src/setup.py --------------------------------------------------------------------------------