## Requirements | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0.0 | | [aws](#requirement\_aws) | >= 4.20.1 | ## Providers | Name | Version | |------|---------| | [archive](#provider\_archive) | n/a | | [aws](#provider\_aws) | >= 4.20.1 | ## Modules No modules. ## Resources | Name | Type | |------|------| | [aws_cloudwatch_event_rule.ami_usage_events](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource | | [aws_cloudwatch_event_target.ami_usage_event_target](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource | | [aws_cloudwatch_event_target.creator_ami_usage_event_target](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource | | [aws_dynamodb_table.ami_mapping_table](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dynamodb_table) | resource | | [aws_iam_role.ami_usage_lambda_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | | [aws_iam_role_policy.ami_usage_lambda_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy_attachment.ami_usage_role_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_lambda_function.ami_usage_lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function) | resource | | [aws_lambda_function.creator_ami_usage_lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function) | resource | | [aws_lambda_permission.allow_eventbridge_to_invoke_lambda_usage](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource | | [aws_lambda_permission.creator_allow_eventbridge_to_invoke_lambda_usage](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource | | [archive_file.ami_usage_lambda_function](https://registry.terraform.io/providers/hashicorp/archive/latest/docs/data-sources/file) | data source | | [archive_file.creator_ami_usage_lambda_function](https://registry.terraform.io/providers/hashicorp/archive/latest/docs/data-sources/file) | data source | | [aws_caller_identity.consumer_account](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_iam_policy_document.ami_usage_assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.ami_usage_lambda_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_region.consumer_account](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [ami\_creator\_account](#input\_ami\_creator\_account) | If AMI is getting consumed in the same AWS account as AMI creator account | `bool` | `false` | no | | [ami\_usage\_function\_name](#input\_ami\_usage\_function\_name) | AWS Lambda function name of AMI register function | `string` | `"ami-usage-function"` | no | | [configuration\_inputs](#input\_configuration\_inputs) | Configuration inputs required from AMI creator account |
object({
ami_share_ddb_table = string
external_assume_role_arn = string
})
| n/a | yes | | [iam\_policy\_arn](#input\_iam\_policy\_arn) | Additional IAM Policy to be attached to role | `list(string)` | `[]` | no | | [lambda\_memory\_size](#input\_lambda\_memory\_size) | AWS Lambda function memory size | `number` | `128` | no | | [lambda\_runtime](#input\_lambda\_runtime) | AWS Lambda function execution runtime | `string` | `"python3.9"` | no | | [lambda\_timeout](#input\_lambda\_timeout) | AWS Lambda function execution timeout | `number` | `300` | no | ## Outputs No outputs.