{"id":22357033,"url":"https://github.com/gordonmurray/terraform_aws_api_gateway_proxy","last_synced_at":"2025-08-02T07:10:52.551Z","repository":{"id":40593023,"uuid":"486752709","full_name":"gordonmurray/terraform_aws_api_gateway_proxy","owner":"gordonmurray","description":"An AWS API gateway to receive data via POST and store the data in to an s3 bucket. An Ansible playbook is included to test that the API endpoint is working and saving data to s3","archived":false,"fork":false,"pushed_at":"2023-01-21T19:22:16.000Z","size":98,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-19T09:30:06.473Z","etag":null,"topics":["api-gateway","aws","lambda","s3"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gordonmurray.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}},"created_at":"2022-04-28T21:25:41.000Z","updated_at":"2023-01-21T21:49:13.000Z","dependencies_parsed_at":"2023-02-12T12:10:20.615Z","dependency_job_id":null,"html_url":"https://github.com/gordonmurray/terraform_aws_api_gateway_proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gordonmurray/terraform_aws_api_gateway_proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gordonmurray%2Fterraform_aws_api_gateway_proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gordonmurray%2Fterraform_aws_api_gateway_proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gordonmurray%2Fterraform_aws_api_gateway_proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gordonmurray%2Fterraform_aws_api_gateway_proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gordonmurray","download_url":"https://codeload.github.com/gordonmurray/terraform_aws_api_gateway_proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gordonmurray%2Fterraform_aws_api_gateway_proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266417031,"owners_count":23925300,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["api-gateway","aws","lambda","s3"],"created_at":"2024-12-04T14:12:50.936Z","updated_at":"2025-07-22T03:04:05.953Z","avatar_url":"https://github.com/gordonmurray.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS API Gateway\n\nAn AWS API Gateway that can be used to receive data via a POST request and store the data in to an s3 bucket in json format.\n\n```\nterraform apply\n\nPlan: 21 to add, 0 to change, 0 to destroy.\n```\n\nOnce applied, test the deployment URL with Ansible. It will Post to the API and check that a file is created on s3.\n\nTerraform will create a variables file for Ansible to use, so it will know the API endpoint and s3 bucket to check\n\nThe file will be located at `/ansible/roles/test/vars/main.yml`\n\n\n\n```\ncd ansible\nansible-playbook main.yml\n```\n\n[![asciicast](https://asciinema.org/a/547248.svg)](https://asciinema.org/a/547248)\n\n## Estimated cost per month: \n\nAssuming 1m API requests and 5 GB of logs stored on Cloudwatch per month\n\n```\nProject: gordonmurray/terraform_aws_api_gateway_proxy\n\n Name                                             Monthly Qty  Unit                    Monthly Cost \n                                                                                                    \n aws_api_gateway_rest_api.default                                                                   \n └─ Requests (first 333M)                                   1  1M requests                    $3.50 \n                                                                                                    \n aws_cloudwatch_log_group.lambda                                                                    \n ├─ Data ingested                                           5  GB                             $2.50 \n ├─ Archival Storage                                        5  GB                             $0.15 \n └─ Insights queries data scanned                           5  GB                             $0.03 \n                                                                                                    \n aws_lambda_function.default                                                                        \n ├─ Requests                                Monthly cost depends on usage: $0.20 per 1M requests    \n └─ Duration (first 6B)                                   125  GB-seconds                     $0.00 \n                                                                                                    \n aws_s3_bucket.data_bucket                                                                          \n └─ Standard                                                                                        \n    ├─ Storage                              Monthly cost depends on usage: $0.023 per GB            \n    ├─ PUT, COPY, POST, LIST requests       Monthly cost depends on usage: $0.005 per 1k requests   \n    ├─ GET, SELECT, and all other requests  Monthly cost depends on usage: $0.0004 per 1k requests  \n    ├─ Select data scanned                  Monthly cost depends on usage: $0.002 per GB            \n    └─ Select data returned                 Monthly cost depends on usage: $0.0007 per GB           \n                                                                                                    \n OVERALL TOTAL                                                                                $6.18 \n──────────────────────────────────\n20 cloud resources were detected:\n∙ 4 were estimated, all of which include usage-based costs, see https://infracost.io/usage-file\n∙ 14 were free:\n  ∙ 2 x aws_api_gateway_integration\n  ∙ 2 x aws_api_gateway_method\n  ∙ 2 x aws_api_gateway_method_response\n  ∙ 2 x aws_iam_role_policy_attachment\n  ∙ 1 x aws_api_gateway_deployment\n  ∙ 1 x aws_api_gateway_resource\n  ∙ 1 x aws_iam_policy\n  ∙ 1 x aws_iam_role\n  ∙ 1 x aws_lambda_permission\n  ∙ 1 x aws_s3_bucket_acl\n∙ 2 are not supported yet, see https://infracost.io/requested-resources:\n  ∙ 2 x aws_api_gateway_integration_response\n```\n\n## API gateway check\n\nThis project includes a [Checkly](https://www.checklyhq.com/) provider and API test so that the resulting API gateway is monitored.\n\n![alt text](https://github.com/gordonmurray/terraform_aws_api_gateway_proxy/blob/main/images/checkly.png?raw=true)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgordonmurray%2Fterraform_aws_api_gateway_proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgordonmurray%2Fterraform_aws_api_gateway_proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgordonmurray%2Fterraform_aws_api_gateway_proxy/lists"}