{"id":39349652,"url":"https://github.com/ivica-k/terraform-validate-explorer","last_synced_at":"2026-01-18T02:27:47.997Z","repository":{"id":270405302,"uuid":"910284058","full_name":"ivica-k/terraform-validate-explorer","owner":"ivica-k","description":"Helps you search and filter resource instances from the output file generated by `terraform validate -json` or `tofu validate -json`","archived":false,"fork":false,"pushed_at":"2025-02-17T11:07:44.000Z","size":1495,"stargazers_count":11,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T12:22:59.488Z","etag":null,"topics":["terraform","validate"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ivica-k.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-30T22:02:33.000Z","updated_at":"2025-02-17T11:07:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3057710-476f-4b3a-9d55-7ddac0f31473","html_url":"https://github.com/ivica-k/terraform-validate-explorer","commit_stats":null,"previous_names":["ivica-k/terraform-validate-explorer"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/ivica-k/terraform-validate-explorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivica-k%2Fterraform-validate-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivica-k%2Fterraform-validate-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivica-k%2Fterraform-validate-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivica-k%2Fterraform-validate-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivica-k","download_url":"https://codeload.github.com/ivica-k/terraform-validate-explorer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivica-k%2Fterraform-validate-explorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28526569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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":["terraform","validate"],"created_at":"2026-01-18T02:27:47.931Z","updated_at":"2026-01-18T02:27:47.982Z","avatar_url":"https://github.com/ivica-k.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-validate-explorer\n\n![](./img/icon_64x64.png)\n\n`terraform-validate-explorer` is a tool that helps you search and filter resource instances from the output file\ngenerated by `terraform validate -json` or `tofu validate -json`. Those files can easily be longer than 50000 lines so\nfiltering their contents can be of help while upgrading Terraform/OpenTofu provider versions and dealing with deprecated\nresources.\n\n\u003c!-- TOC --\u003e\n* [terraform-validate-explorer](#terraform-validate-explorer)\n  * [Get it](#get-it)\n    * [Prebuilt binaries](#prebuilt-binaries)\n    * [From source](#from-source)\n  * [Features](#features)\n    * [\"contains\" filter](#contains-filter)\n    * [\"does not contain\" filter](#does-not-contain-filter)\n    * [\"regex\" filter](#regex-filter)\n    * [\"Only unique\" toggle](#only-unique-toggle)\n  * [Testing](#testing)\n  * [Contributors](#contributors)\n\u003c!-- TOC --\u003e\n\n## Get it\n\n### Prebuilt binaries\n\nLook for a release binary for your operating system on the [Releases page](https://github.com/ivica-k/terraform-validate-explorer/releases).\n\n### From source\n\nNo binary available? Clone this repository and:\n\n```text\npip install -r requirements.txt\npython main.py\n```\n\n## Features\n\n### \"contains\" filter\n\nSearch for all resources that have `tables_future_read` in the name (Snowflake [\"future\" grants](https://docs.snowflake.com/en/sql-reference/sql/grant-privilege#future-grants-on-database-or-schema-objects)\nare amazing btw!)\n\n![](./img/contains.jpg)\n\n### \"does not contain\" filter\n\nTo verify that only `snowflake_` resources are deprecated, I filtered all the warnings that do not contain the word\n`snowflake`:\n\n![](./img/does_not_contain.png)\n\n### \"regex\" filter\n\nIf the other two filters are not cutting it for you, you can always do it with\n[one of the world's write-only languages](https://blog.codinghorror.com/regular-expressions-now-you-have-two-problems/).\n\nSuppose you want to look for a resource instance that has `future_` in the name, followed by a four-letter word that is\nat the end of the resource name:\n\n![](./img/regex.jpg)\n\n### \"Only unique\" toggle\n\nThis toggle works in combination with any filter to show only unique resource addresses. This feature is useful when \nvalidating many resources created by the same module.\n\nWhat is a \"unique resource address\"? If the full resource address is `module.snowflake.module.my_infra.snowflake_grant_privileges_to_role.functions_future_read`,\nthen a unique resource address is `snowflake_grant_privileges_to_role.functions_future_read`. See below for an example.\n\nSearching for `snowflake_grant_privileges_to_role.tasks_future_write` yields 60 warnings, but if you look closely - \nit is the _same resource_, from the _same module_, just used many times.\n\n![](./img/contains_non_unique.png)\n\nToggling the \"Only unique\" checkbox reveals that it is in fact just one resource, defined in a single module.\n\n![](./img/contains_unique.png)\n\n## Testing\n\nFor information about testing and how to run it [Here](tests/README.md)\n\n## Contributors\n\n`terraform-validate-explorer` has more features and less bugs thanks to:\n\n- [olcortesb](https://github.com/olcortesb)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivica-k%2Fterraform-validate-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivica-k%2Fterraform-validate-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivica-k%2Fterraform-validate-explorer/lists"}