{"id":19978360,"url":"https://github.com/geekcell/terraform-aws-budgets","last_synced_at":"2025-03-01T19:16:00.789Z","repository":{"id":150853793,"uuid":"598664243","full_name":"geekcell/terraform-aws-budgets","owner":"geekcell","description":"Terraform module to provision an AWS Budgets.","archived":false,"fork":false,"pushed_at":"2024-04-23T15:31:44.000Z","size":79,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-01T18:48:52.011Z","etag":null,"topics":["aws","budgets","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-02-07T15:13:14.000Z","updated_at":"2025-02-24T15:28:15.000Z","dependencies_parsed_at":"2023-06-17T18:46:34.701Z","dependency_job_id":"6d502ced-bc66-4580-a629-cc2d69945974","html_url":"https://github.com/geekcell/terraform-aws-budgets","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":"geekcell/terraform-aws-module-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-budgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-budgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-budgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-budgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekcell","download_url":"https://codeload.github.com/geekcell/terraform-aws-budgets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241411543,"owners_count":19958753,"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","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":["aws","budgets","terraform","terraform-module"],"created_at":"2024-11-13T03:33:09.766Z","updated_at":"2025-03-01T19:16:00.768Z","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-budgets)](https://github.com/geekcell/terraform-aws-budgets/blob/master/LICENSE)\n[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-budgets?logo=github\u0026sort=semver)](https://github.com/geekcell/terraform-aws-budgets/releases)\n[![Release](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/release.yaml)\n[![Validate](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/validate.yaml)\n[![Lint](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-budgets/actions/workflows/linter.yaml)\n\n\u003c!--\n\nComment in once Bridgecrew has been configured\n\n### Security\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/general)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=INFRASTRUCTURE+SECURITY)\n\n#### Cloud\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+AWS+V1.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_aws_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+AWS+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+AZURE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_azure_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+AZURE+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+GCP+V1.1)\n\n##### Container\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_kubernetes_16)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+KUBERNETES+V1.6)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_eks_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+EKS+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_gke_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+GKE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=CIS+KUBERNETES+V1.5)\n\n#### Data protection\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=SOC2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=PCI-DSS+V3.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/pci_dss_v321)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=PCI-DSS+V3.2.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=ISO27001)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=NIST-800-53)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=HIPAA)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-budgets/fedramp_moderate)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-budgets\u0026benchmark=FEDRAMP+%28MODERATE%29)\n\n--\u003e\n\n# Terraform AWS Budgets\n\nThis Terraform module provides a preconfigured solution for setting up\nAWS Budgets for your AWS account. Our team has years of experience working\nwith AWS Budgets, and we are sharing our knowledge with you through this\nmodule. With this module, you can quickly and easily set up budgets that\nalign with your organization's goals and get alerts when your usage exceeds\nyour specified limits. By using this module, you can save time and avoid\ncommon mistakes when setting up AWS Budgets.\n\nNot only is this module easy to configure, but it also encapsulates\neverything you need in one place. You can simply use the module and be\nconfident that everything has been set up correctly and efficiently.\n\nThis makes it an excellent choice for organizations of any size looking\nto effectively manage their AWS costs.\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_budgets\"\u003e\u003c/a\u003e [budgets](#input\\_budgets) | The list of budget. | \u003cpre\u003elist(object({\u003cbr\u003e    name              = string\u003cbr\u003e    budget_type       = string\u003cbr\u003e    limit_amount      = string\u003cbr\u003e    limit_unit        = string\u003cbr\u003e    time_period_start = string\u003cbr\u003e    time_period_end   = string\u003cbr\u003e    time_unit         = string\u003cbr\u003e\u003cbr\u003e    cost_filter = optional(map(list(string)))\u003cbr\u003e\u003cbr\u003e    notification = object({\u003cbr\u003e      comparison_operator = string\u003cbr\u003e      threshold           = string\u003cbr\u003e      threshold_type      = string\u003cbr\u003e      notification_type   = string\u003cbr\u003e    })\u003cbr\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"budget_type\": \"COST\",\u003cbr\u003e    \"limit_amount\": \"200\",\u003cbr\u003e    \"limit_unit\": \"USD\",\u003cbr\u003e    \"name\": \"budget-account-monthly\",\u003cbr\u003e    \"notification\": {\u003cbr\u003e      \"comparison_operator\": \"GREATER_THAN\",\u003cbr\u003e      \"notification_type\": \"FORECASTED\",\u003cbr\u003e      \"threshold\": \"100\",\u003cbr\u003e      \"threshold_type\": \"PERCENTAGE\"\u003cbr\u003e    },\u003cbr\u003e    \"time_period_end\": \"2087-06-15_00:00\",\u003cbr\u003e    \"time_period_start\": \"2023-01-01_00:00\",\u003cbr\u003e    \"time_unit\": \"MONTHLY\"\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | The name of the budget. | `string` | n/a | yes |\n| \u003ca name=\"input_recipients\"\u003e\u003c/a\u003e [recipients](#input\\_recipients) | The email addresses to send notifications to. | `list(string)` | n/a | yes |\n\n## Outputs\n\nNo outputs.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.4 |\n\n## Resources\n\n- resource.aws_budgets_budget.main (main.tf#19)\n- data source.aws_caller_identity.current (data.tf#1)\n\n# Examples\n### Basic Example\n```hcl\nmodule \"basic-example\" {\n  source = \"../../\"\n  name   = var.name\n\n  recipients = var.recipients\n\n  budgets = [\n    {\n      name = var.name\n\n      budget_type  = \"COST\"\n      limit_amount = var.amount\n      limit_unit   = var.amount_unit\n\n      time_period_start = \"2023-01-01_00:00\"\n      time_period_end   = \"2087-06-15_00:00\"\n      time_unit         = \"MONTHLY\"\n\n      notification = {\n        comparison_operator = \"GREATER_THAN\"\n        threshold           = \"80\"\n        threshold_type      = \"PERCENTAGE\"\n        notification_type   = \"FORECASTED\"\n      }\n    }\n  ]\n}\n```\n\n### Advanced Example\n```hcl\nmodule \"advanced-example\" {\n  source = \"../../\"\n  name   = \"my-budget\"\n\n  budgets = [\n    {\n      name              = \"ec2-rds-monthly-in-eu-central-1\"\n      budget_type       = \"COST\"\n      limit_amount      = \"200\"\n      limit_unit        = \"USD\"\n      time_period_start = \"2023-01-01_00:00\"\n      time_period_end   = \"2087-06-15_00:00\"\n      time_unit         = \"MONTHLY\"\n\n      cost_filter = {\n        \"Service\" = [\n          \"Amazon Elastic Compute Cloud - Compute\",\n          \"Amazon Relational Database Service\"\n        ]\n        \"Region\" = [\n          \"eu-central-1\"\n        ]\n      }\n\n      notification = {\n        comparison_operator = \"GREATER_THAN\"\n        threshold           = \"80\"\n        threshold_type      = \"PERCENTAGE\"\n        notification_type   = \"FORECASTED\"\n      }\n    }\n  ]\n\n  recipients = [\"no-reply@example.org\"]\n}\n```\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-budgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekcell%2Fterraform-aws-budgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-budgets/lists"}