{"id":24653838,"url":"https://github.com/joshbeard/terraform-launch-template-ami-refresh","last_synced_at":"2026-04-09T21:56:09.115Z","repository":{"id":39607364,"uuid":"434456858","full_name":"joshbeard/terraform-launch-template-ami-refresh","owner":"joshbeard","description":"Terraform module that deploys a Lambda function to update AWS Launch Templates AMI ID to the latest","archived":false,"fork":false,"pushed_at":"2023-03-19T01:25:27.000Z","size":18,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-28T17:06:08.219Z","etag":null,"topics":["ami","autoscaling-groups","aws","launchtemplate","python","terraform","terraform-modules"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joshbeard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-03T03:43:18.000Z","updated_at":"2022-03-30T05:20:32.000Z","dependencies_parsed_at":"2022-09-20T05:53:32.820Z","dependency_job_id":"621ccca7-10f7-434e-97d3-69ca1fe87528","html_url":"https://github.com/joshbeard/terraform-launch-template-ami-refresh","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/joshbeard/terraform-launch-template-ami-refresh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshbeard%2Fterraform-launch-template-ami-refresh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshbeard%2Fterraform-launch-template-ami-refresh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshbeard%2Fterraform-launch-template-ami-refresh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshbeard%2Fterraform-launch-template-ami-refresh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joshbeard","download_url":"https://codeload.github.com/joshbeard/terraform-launch-template-ami-refresh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshbeard%2Fterraform-launch-template-ami-refresh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273717542,"owners_count":25155480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ami","autoscaling-groups","aws","launchtemplate","python","terraform","terraform-modules"],"created_at":"2025-01-25T21:14:17.868Z","updated_at":"2026-04-09T21:56:04.064Z","avatar_url":"https://github.com/joshbeard.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Module for Updating an AWS EC2 Launch Template AMI\n\nThis is a Terraform module that deploys a [Lambda function](lambda.py) for updating EC2\nLaunch Template AMIs to the latest version.\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_archive\"\u003e\u003c/a\u003e [archive](#provider\\_archive) | 2.2.0 |\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 3.68.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_event_rule.this_schedule](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource |\n| [aws_cloudwatch_event_target.this_schedule](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource |\n| [aws_cloudwatch_log_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_iam_policy.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_role.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_lambda_function.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function) | resource |\n| [aws_lambda_permission.current_version_triggers](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource |\n| [aws_lambda_permission.unqualified_alias_triggers](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource |\n| [archive_file.this](https://registry.terraform.io/providers/hashicorp/archive/latest/docs/data-sources/file) | data source |\n| [aws_iam_policy_document.assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_launch_template.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/launch_template) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_ami_filters\"\u003e\u003c/a\u003e [ami\\_filters](#input\\_ami\\_filters) | String of key/value pairs for the AMI filter. Refer to lambda.py for more info. For example: name=amzn2-ami-hvm-2.*-x86\\_64-ebs;owner-alias=amazon | `string` | n/a | yes |\n| \u003ca name=\"input_cloudwatch_schedule_expression\"\u003e\u003c/a\u003e [cloudwatch\\_schedule\\_expression](#input\\_cloudwatch\\_schedule\\_expression) | A CloudWatch schedule expression. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html. | `string` | `\"rate(6 hours)\"` | no |\n| \u003ca name=\"input_enable_cloudwatch_schedule\"\u003e\u003c/a\u003e [enable\\_cloudwatch\\_schedule](#input\\_enable\\_cloudwatch\\_schedule) | Toggles managing a CloudWatch event rule and trigger based on a schedule. | `bool` | `true` | no |\n| \u003ca name=\"input_lambda_timeout\"\u003e\u003c/a\u003e [lambda\\_timeout](#input\\_lambda\\_timeout) | The duration allowed for the Lambda function to run in seconds. | `number` | `30` | no |\n| \u003ca name=\"input_launch_template_name\"\u003e\u003c/a\u003e [launch\\_template\\_name](#input\\_launch\\_template\\_name) | The name of the launch template to check and update. | `string` | n/a | yes |\n| \u003ca name=\"input_launch_template_version\"\u003e\u003c/a\u003e [launch\\_template\\_version](#input\\_launch\\_template\\_version) | The version of the launch template to check ($Default, $Latest). | `string` | `\"$Default\"` | no |\n| \u003ca name=\"input_logging_retention_in_days\"\u003e\u003c/a\u003e [logging\\_retention\\_in\\_days](#input\\_logging\\_retention\\_in\\_days) | The number of days to retain logs in CloudWatch. | `number` | `30` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | The name to use for resources. | `string` | n/a | yes |\n| \u003ca name=\"input_permissions_boundary\"\u003e\u003c/a\u003e [permissions\\_boundary](#input\\_permissions\\_boundary) | An optional IAM permissions boundary to use when creating IAM roles. | `string` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Map of tags to apply to resources. | `map(any)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_lambda_function_arn\"\u003e\u003c/a\u003e [lambda\\_function\\_arn](#output\\_lambda\\_function\\_arn) | n/a |\n| \u003ca name=\"output_lambda_function_invoke_arn\"\u003e\u003c/a\u003e [lambda\\_function\\_invoke\\_arn](#output\\_lambda\\_function\\_invoke\\_arn) | n/a |\n| \u003ca name=\"output_lambda_function_name\"\u003e\u003c/a\u003e [lambda\\_function\\_name](#output\\_lambda\\_function\\_name) | n/a |\n| \u003ca name=\"output_lambda_function_source_code_hash\"\u003e\u003c/a\u003e [lambda\\_function\\_source\\_code\\_hash](#output\\_lambda\\_function\\_source\\_code\\_hash) | n/a |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Contributing\n\nThis project uses [pre-commit](https://pre-commit.com/) for validation.\n\nOpen merge requests to the `master` branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshbeard%2Fterraform-launch-template-ami-refresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshbeard%2Fterraform-launch-template-ami-refresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshbeard%2Fterraform-launch-template-ami-refresh/lists"}