feat: add TFE support for get_policy_details tool#336
Open
fphilippon wants to merge 6 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PCI review checklist
I have documented a clear reason for, and description of, the change I am making.
If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
If applicable, I've documented the impact of any changes to security controls.
Context
This PR introduces full support for retrieving individual Sentinel policy details from Terraform Enterprise (TFE) and Terraform Cloud (TFC), while maintaining compatibility with existing Terraform Registry functionality.
Before this change, it was not possible to fetch individual policy details from TFE/TFC.
The existing get_policy_details tool only supported: Public Terraform Registry (policies/...)
This created a gap for enterprise users who need to:
What has been implemented:
Extended get_policy_details to support Terraform Enterprise / Terraform Cloud (TFE/TFC) in addition to the public Terraform Registry
Implemented auto-detection logic based on ID prefix:
• pol-... → fetch via TFE/TFC API
• policies/... → fetch via Terraform Registry
Added getTFEPolicyDetails() to retrieve individual Sentinel policy details from TFE/TFC
Introduced new tool get_policy_set_details to fetch policy set metadata (polset-...) including policies, workspaces, and enforcement levels
Registered new tool and added dynamic availability checks based on TFE authentication
Ensured backward compatibility with existing registry functionality
Added test coverage for new TFE-related features