{"id":22347703,"url":"https://github.com/wearetechnative/terraform-aws-module-cur","last_synced_at":"2026-01-06T11:54:43.315Z","repository":{"id":266250287,"uuid":"897814780","full_name":"wearetechnative/terraform-aws-module-cur","owner":"wearetechnative","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-18T11:41:15.000Z","size":170,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-18T12:37:38.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/wearetechnative.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":"2024-12-03T09:37:11.000Z","updated_at":"2025-01-14T10:39:20.000Z","dependencies_parsed_at":"2025-02-18T12:38:13.011Z","dependency_job_id":null,"html_url":"https://github.com/wearetechnative/terraform-aws-module-cur","commit_stats":null,"previous_names":["wearetechnative/terraform-aws-module-cur"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-cur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-cur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-cur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-cur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wearetechnative","download_url":"https://codeload.github.com/wearetechnative/terraform-aws-module-cur/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245641317,"owners_count":20648637,"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":[],"created_at":"2024-12-04T10:10:25.249Z","updated_at":"2026-01-06T11:54:43.310Z","avatar_url":"https://github.com/wearetechnative.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform AWS [CUR] ![](https://img.shields.io/github/workflow/status/wearetechnative/terraform-aws-module-cur/tflint.yaml?branch=main\u0026style=plastic)\n\nThis module implements Cost and Usage reports in AWS which includes the S3 bucket.\n\n## Todo\n\nLifecycle rules as these S3 buckets can grow quite large.\n\n[![](we-are-technative.png)](https://www.technative.nl)\n\n## How does it work\n\n### First use after you clone this repository or when .pre-commit-config.yaml is updated\n\nRun `pre-commit install` to install any guardrails implemented using pre-commit.\n\nSee [pre-commit installation](https://pre-commit.com/#install) on how to install pre-commit.\n\n## Usage\n\nBasic usage works like below which includes a demonstration of setting up the target in an S3 replication setup.\n\n```hcl\nmodule \"cur\" {\n  providers = {\n    aws = aws.us-east-1\n  }\n\n  # source = \"git@github.com:TechNative-B-V/modules-aws.git?ref=v1.1.8\"\n  source = \"./modules/cur/\"\n\n  name        = local.cur_athena_name\n  kms_key_arn = module.kms.kms_key_arn\n\n  s3_source_replication_configuration = {\n    \"cur\" : {\n      destination_bucket_arn  = var.finops_replication_bucket_configuration.destination_bucket_arn\n      destination_aws_account = aws_organizations_account.finops.id\n      destination_kms_key_arn = var.finops_replication_bucket_configuration.destination_kms_key_arn\n    }\n  }\n}\n```\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e=4.13.0 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_cur_s3\"\u003e\u003c/a\u003e [cur\\_s3](#module\\_cur\\_s3) | git@github.com:TechNative-B-V/terraform-aws-module-s3.git | f95b7fd11f654192a74b7a0f0b7dae1004edf7be |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cur_report_definition.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cur_report_definition) | resource |\n| [aws_arn.s3_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/arn) | data source |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_iam_policy_document.costandusagereport_s3_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n| [aws_s3_bucket.s3_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/s3_bucket) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_artifacts\"\u003e\u003c/a\u003e [additional\\_artifacts](#input\\_additional\\_artifacts) | Internal use. Add additional artifacts for different systems. Optional array which includes values ATHENA, REDSHIFT. | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"ATHENA\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_format\"\u003e\u003c/a\u003e [format](#input\\_format) | Internal use. Format to store files, currently supports Parquet or textORcsv. | `string` | `\"Parquet\"` | no |\n| \u003ca name=\"input_kms_key_arn\"\u003e\u003c/a\u003e [kms\\_key\\_arn](#input\\_kms\\_key\\_arn) | KMS key to use for encrypting RDS instances. | `string` | n/a | yes |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name for Athena CUR. | `string` | n/a | yes |\n| \u003ca name=\"input_override_s3_fixed_name\"\u003e\u003c/a\u003e [override\\_s3\\_fixed\\_name](#input\\_override\\_s3\\_fixed\\_name) | Set this variable in case of existing S3 bucket that should not be renamed because of current data. Generally for pre-provisioned accounts. | `string` | `null` | no |\n| \u003ca name=\"input_overwrite_report\"\u003e\u003c/a\u003e [overwrite\\_report](#input\\_overwrite\\_report) | Internal use. Overwrite report on new updates. | `bool` | `true` | no |\n| \u003ca name=\"input_s3_source_replication_configuration\"\u003e\u003c/a\u003e [s3\\_source\\_replication\\_configuration](#input\\_s3\\_source\\_replication\\_configuration) | Replication target configuration using this bucket as source. The key of the map is used for naming. This is passed to the S3 module. | \u003cpre\u003emap(object({\u003cbr\u003e    destination_bucket_arn  = string\u003cbr\u003e    destination_aws_account = string\u003cbr\u003e    destination_kms_key_arn = string\u003cbr\u003e  }))\u003c/pre\u003e | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_cur_s3_arn\"\u003e\u003c/a\u003e [cur\\_s3\\_arn](#output\\_cur\\_s3\\_arn) | n/a |\n| \u003ca name=\"output_cur_s3_bucket_name\"\u003e\u003c/a\u003e [cur\\_s3\\_bucket\\_name](#output\\_cur\\_s3\\_bucket\\_name) | n/a |\n| \u003ca name=\"output_cur_s3_bucket_replication_source_configuration\"\u003e\u003c/a\u003e [cur\\_s3\\_bucket\\_replication\\_source\\_configuration](#output\\_cur\\_s3\\_bucket\\_replication\\_source\\_configuration) | test |\n| \u003ca name=\"output_cur_s3_bucket_replication_target_configuration\"\u003e\u003c/a\u003e [cur\\_s3\\_bucket\\_replication\\_target\\_configuration](#output\\_cur\\_s3\\_bucket\\_replication\\_target\\_configuration) | n/a |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-cur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-cur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-cur/lists"}