A Terraform module to enable Enterprise support on a new account.
This module uses CloudWatch Events to identify when new accounts are added or invited to an AWS Organization, and triggers a Lambda function to create the new account.
To set up and run tests:
# Ensure the dependencies are installed on your system.
make python/deps
make pytest/deps
# Start up a mock AWS stack:
make mockstack/up
# Run unit tests:
make docker/run target=pytest/lambda/tests
# Run the tests:
make mockstack/pytest/lambda
# Shut down the mock AWS stack and clean up docker images:
make mockstack/clean
Name | Version |
---|---|
terraform | >= 1.3 |
aws | >= 4.9 |
external | >= 1.0 |
local | >= 1.0 |
null | >= 2.0 |
Name | Version |
---|---|
aws | >= 4.9 |
random | n/a |
Name | Type |
---|---|
aws_iam_policy_document.lambda | data source |
aws_partition.current | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cc_list | Comma-separated list of email addresses to CC on this case. At least one email address is required. | string |
n/a | yes |
communication_body | Text for body of the communication sent to support. The variable 'account_id' can be used within the text if preceded by a dollar sign and optionally enclosed by curly braces. | string |
n/a | yes |
subject | Text for 'Subject' field of the communication sent to support. The variable 'account_id' can be used within the text if preceded by a dollar sign and optionally enclosed by curly braces. | string |
n/a | yes |
event_types | Event types that will trigger this lambda | set(string) |
[ |
no |
lambda | Map of any additional arguments for the upstream lambda module. See https://github.com/terraform-aws-modules/terraform-aws-lambda | object({ |
{} |
no |
log_level | Log level of the lambda output, one of: debug, info, warning, error, critical | string |
"info" |
no |
tags | Tags that are passed to resources | map(string) |
{} |
no |
Name | Description |
---|---|
aws_cloudwatch_event_rule | The cloudwatch event rule object |
aws_cloudwatch_event_target | The cloudWatch event target object |
aws_lambda_permission_events | The lambda permission object for cloudwatch event triggers |
lambda | The lambda module object |