Terraform module which reports on Amazon EKS clusters.
See examples
directory for working examples to reference:
module "eks_report" {
source = "clowdhaus/eks-report/aws"
event_schedule_expression = "cron(0 10 * * ? *)"
to_email_addresses = ["[email protected]"]
from_email_address = "[email protected]"
notify_eos_within_days = 180
tags = {
Terraform = "true"
Environment = "dev"
}
}
Examples codified under the examples
are intended to give users references for how to use the module(s) as well as testing/validating changes to the source code of the module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow maintainers to test your changes and to keep the examples up to date for users. Thank you!
Name | Version |
---|---|
terraform | >= 1.0 |
aws | >= 4.0 |
Name | Version |
---|---|
aws | >= 4.0 |
Name | Source | Version |
---|---|---|
describe_lambda | terraform-aws-modules/lambda/aws | ~> 4.12 |
eventbridge | terraform-aws-modules/eventbridge/aws | ~> 1.17 |
list_lambda | terraform-aws-modules/lambda/aws | ~> 4.12 |
notify_lambda | terraform-aws-modules/lambda/aws | ~> 4.12 |
step_function | terraform-aws-modules/step-functions/aws | ~> 2.7 |
Name | Type |
---|---|
aws_ses_template.this | resource |
aws_caller_identity.current | data source |
aws_iam_policy_document.describe | data source |
aws_iam_policy_document.list | data source |
aws_partition.current | data source |
aws_region.current | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
create | Controls if resources should be created (affects nearly all resources) | bool |
true |
no |
create_ses_template | Controls if the SES Template should be created | bool |
true |
no |
describe_lambda_description | The description of the Lambda function to describe EKS clusters | string |
null |
no |
describe_lambda_environment_variables | A map that defines environment variables for the Lambda function to describe EKS clusters | map(string) |
{} |
no |
describe_lambda_name | The name of the Lambda function to describe EKS clusters | string |
null |
no |
event_schedule_expression | The schedule expression for the Event Bridge Rule | string |
"cron(0 10 * * ? *)" |
no |
eventbridge_iam_role_name | The name of the IAM role to use for the Event Bridge Rule | string |
null |
no |
eventbridge_rule_name | The name of the Event Bridge Rule | string |
null |
no |
from_email_address | The email address to send the report from. Required if supplying values for to_email_addresses |
string |
null |
no |
lambda_assume_role_arns | The ARNs of IAM roles that the Lambda function will assume to access clusters in different accounts | list(string) |
[] |
no |
lambda_layers | List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function | list(string) |
[] |
no |
lambda_memory | Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 64 MB increments | number |
1024 |
no |
lambda_runtime | The runtime environment for the Lambda functions | string |
"python3.9" |
no |
lambda_timeout | The amount of time the Lambda Function has to run in seconds | number |
300 |
no |
list_lambda_description | The description of the Lambda function to list EKS clusters | string |
null |
no |
list_lambda_environment_variables | A map that defines environment variables for the Lambda function to list EKS clusters | map(string) |
{} |
no |
list_lambda_name | The name of the Lambda function to list EKS clusters | string |
null |
no |
log_group_retention_in_days | The number of days you want to retain log events in the log groups created | number |
30 |
no |
name | Common name used across resources created | string |
"eks-report" |
no |
notify_eos_within_days | The number of days before the end of support to send the notification | number |
120 |
no |
notify_lambda_description | The description of the Lambda function that sends the notification | string |
null |
no |
notify_lambda_environment_variables | A map that defines environment variables for the Lambda function that sends the notification | map(string) |
{} |
no |
notify_lambda_name | The name of the Lambda function that sends the notification | string |
null |
no |
ses_template_arn | The ARN of an existing SES Template | string |
null |
no |
ses_template_name | The name of the SES Template | string |
"EKS-Report" |
no |
ses_template_subject | The subject of the SES Template | string |
"Amazon EKS Report" |
no |
tags | A map of tags to add to all resources | map(string) |
{} |
no |
to_email_addresses | The email address to send the report to | list(string) |
[] |
no |
Name | Description |
---|---|
describe_lambda_function_arn | The ARN of the Lambda Function |
describe_lambda_role_arn | The ARN of the IAM role created for the Lambda Function |
list_lambda_function_arn | The ARN of the Lambda Function |
list_lambda_role_arn | The ARN of the IAM role created for the Lambda Function |
notify_lambda_function_arn | The ARN of the Lambda Function |
notify_lambda_role_arn | The ARN of the IAM role created for the Lambda Function |
ses_template_arn | The ARN of the SES Template |
ses_template_id | The name of the SES template |
step_function_arn | The ARN of the Step Function |
step_function_role_arn | The ARN of the IAM role created for the Step Function |
Apache-2.0 Licensed. See LICENSE.