{"id":19978318,"url":"https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec","last_synced_at":"2025-08-10T03:37:18.327Z","repository":{"id":150854168,"uuid":"588097654","full_name":"geekcell/terraform-aws-ecs-codedeploy-appspec","owner":"geekcell","description":"Terraform module to provision an AWS ECS CodeDeploy AppSpec.","archived":false,"fork":false,"pushed_at":"2023-06-28T10:16:11.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-29T18:47:19.948Z","etag":null,"topics":["appspec","aws","codedeploy","ecs","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://www.geekcell.io","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekcell.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}},"created_at":"2023-01-12T10:15:52.000Z","updated_at":"2023-05-11T12:59:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"089be895-ea82-4622-8af8-2a25abe46f04","html_url":"https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"geekcell/terraform-aws-module-template","purl":"pkg:github/geekcell/terraform-aws-ecs-codedeploy-appspec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-codedeploy-appspec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-codedeploy-appspec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-codedeploy-appspec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-codedeploy-appspec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekcell","download_url":"https://codeload.github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-codedeploy-appspec/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269672472,"owners_count":24457115,"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-08-10T02:00:08.965Z","response_time":71,"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":["appspec","aws","codedeploy","ecs","terraform","terraform-module"],"created_at":"2024-11-13T03:32:41.862Z","updated_at":"2025-08-10T03:37:18.300Z","avatar_url":"https://github.com/geekcell.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n[![Geek Cell GmbH](https://raw.githubusercontent.com/geekcell/.github/main/geekcell-github-banner.png)](https://www.geekcell.io/)\n\n### Code Quality\n[![License](https://img.shields.io/github/license/geekcell/terraform-aws-ecs-codedeploy-appspec)](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/blob/master/LICENSE)\n[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-ecs-codedeploy-appspec?logo=github\u0026sort=semver)](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/releases)\n[![Release](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/release.yaml)\n[![Validate](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/validate.yaml)\n[![Lint](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-codedeploy-appspec/actions/workflows/linter.yaml)\n\n### Security\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/general)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=INFRASTRUCTURE+SECURITY)\n\n#### Cloud\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+AWS+V1.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_aws_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+AWS+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+AZURE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_azure_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+AZURE+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+GCP+V1.1)\n\n##### Container\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_kubernetes_16)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+KUBERNETES+V1.6)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_eks_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+EKS+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_gke_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+GKE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=CIS+KUBERNETES+V1.5)\n\n#### Data protection\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=SOC2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=PCI-DSS+V3.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/pci_dss_v321)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=PCI-DSS+V3.2.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=ISO27001)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=NIST-800-53)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=HIPAA)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-codedeploy-appspec/fedramp_moderate)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-codedeploy-appspec\u0026benchmark=FEDRAMP+%28MODERATE%29)\n\n# Terraform AWS ECS CodeDeploy AppSpec Module\n\nTerraform module which renders a valid AppSpec file from a `aws_ecs_service` and, optionally, stores it in the\nSSM Parameter store. Why?\n\nFor deployments with CODE\\_DEPLOY, an AppSpec file with the LoadBalancer info is required. The file is stored in\nthe SSM Parameter Store and can be fetched during the deployment to allow us to change these parameters after\nthe service has already been created. Structure is defined here:\n\nhttps://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-example.html#appspec-file-example-ecs\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_aws_ecs_service\"\u003e\u003c/a\u003e [aws\\_ecs\\_service](#input\\_aws\\_ecs\\_service) | A complete `aws_ecs_service` resource to extract the inputs from. | `any` | n/a | yes |\n| \u003ca name=\"input_description\"\u003e\u003c/a\u003e [description](#input\\_description) | Description of the SSM Parameter. | `string` | `null` | no |\n| \u003ca name=\"input_enable_ssm_parameter\"\u003e\u003c/a\u003e [enable\\_ssm\\_parameter](#input\\_enable\\_ssm\\_parameter) | Create an AWS SSM Parameter for the rendered AppSpec. | `bool` | `true` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name of the SSM Parameter. | `string` | `null` | no |\n| \u003ca name=\"input_ssm_parameter_format\"\u003e\u003c/a\u003e [ssm\\_parameter\\_format](#input\\_ssm\\_parameter\\_format) | The output format for rendered AppSpec file to write to SSM. Can be `json` or `yaml`. | `string` | `\"json\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to add to the SSM Parameter. | `map(any)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_appspec\"\u003e\u003c/a\u003e [appspec](#output\\_appspec) | The AppSpec definition as HCL object. |\n| \u003ca name=\"output_appspec_json\"\u003e\u003c/a\u003e [appspec\\_json](#output\\_appspec\\_json) | The AppSpec definition as JSON string. |\n| \u003ca name=\"output_appspec_yaml\"\u003e\u003c/a\u003e [appspec\\_yaml](#output\\_appspec\\_yaml) | The AppSpec definition as YAML string. |\n| \u003ca name=\"output_ssm_parameter_arn\"\u003e\u003c/a\u003e [ssm\\_parameter\\_arn](#output\\_ssm\\_parameter\\_arn) | The ARN of the SSM parameter containing the AppSpec definition. |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.36 |\n\n## Resources\n\n- resource.aws_ssm_parameter.main (main.tf#44)\n\n# Examples\n### Min\n```hcl\nresource \"aws_ecs_service\" \"example\" {\n  name             = \"example\"\n  task_definition  = \"some-task-definition:1\"\n  platform_version = \"LATEST\"\n\n  load_balancer {\n    container_name = \"app\"\n    container_port = 80\n  }\n\n  network_configuration {\n    subnets          = [\"subnet-12345678\", \"subnet-87654321\"]\n    security_groups  = [\"sg-12345678\"]\n    assign_public_ip = false\n  }\n}\n\nmodule \"example\" {\n  source = \"../../\"\n\n  aws_ecs_service = aws_ecs_service.example\n}\n```\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-codedeploy-appspec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-codedeploy-appspec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-codedeploy-appspec/lists"}