Skip to main content
Glama

terraform-cloud-mcp

assessment_results.py5.09 kB
"""Terraform Cloud assessment results management tools. This module provides tools for working with health assessment results in Terraform Cloud. It includes functions to retrieve assessment details, JSON output, schema files, and logs. Reference: https://developer.hashicorp.com/terraform/cloud-docs/api-docs/assessment-results """ from ..api.client import api_request from ..models.base import APIResponse from ..models.assessment_results import AssessmentResultRequest, AssessmentOutputRequest from ..utils.decorators import handle_api_errors @handle_api_errors async def get_assessment_result_details(assessment_result_id: str) -> APIResponse: """Get details for a specific assessment result. Retrieves comprehensive information about an assessment result including its current status, whether drift was detected, and links to related resources like JSON output and logs. API endpoint: GET /api/v2/assessment-results/{assessment_result_id} Args: assessment_result_id: The ID of the assessment result to retrieve details for (format: "asmtres-xxxxxxxx") Returns: Assessment result details including status, timestamps, and drift detection information See: docs/tools/assessment_results.md for reference documentation """ # Validate parameters params = AssessmentResultRequest(assessment_result_id=assessment_result_id) # Make API request return await api_request(f"assessment-results/{params.assessment_result_id}") @handle_api_errors async def get_assessment_json_output(assessment_result_id: str) -> APIResponse: """Retrieve the JSON execution plan from an assessment result. Gets the JSON representation of the plan execution details from an assessment, providing a machine-readable format of the planned resource changes. API endpoint: GET /api/v2/assessment-results/{assessment_result_id}/json-output Args: assessment_result_id: The ID of the assessment result to retrieve JSON output for (format: "asmtres-xxxxxxxx") Returns: The complete JSON formatted plan with resource changes, metadata, and planned actions. The redirect is automatically followed. Note: This endpoint requires admin level access to the workspace and cannot be accessed with organization tokens. See: docs/tools/assessment_results.md for reference documentation """ # Validate parameters params = AssessmentOutputRequest(assessment_result_id=assessment_result_id) # Make API request with text acceptance since it may be a large JSON file return await api_request( f"assessment-results/{params.assessment_result_id}/json-output", accept_text=True, ) @handle_api_errors async def get_assessment_json_schema(assessment_result_id: str) -> APIResponse: """Retrieve the JSON schema file from an assessment result. Gets the JSON schema representation of the provider schema used during the assessment, providing information about available resources and their configuration options. API endpoint: GET /api/v2/assessment-results/{assessment_result_id}/json-schema Args: assessment_result_id: The ID of the assessment result to retrieve schema for (format: "asmtres-xxxxxxxx") Returns: The JSON schema file containing provider information. The redirect is automatically followed. Note: This endpoint requires admin level access to the workspace and cannot be accessed with organization tokens. See: docs/tools/assessment_results.md for reference documentation """ # Validate parameters params = AssessmentOutputRequest(assessment_result_id=assessment_result_id) # Make API request with text acceptance since it may be a large JSON file return await api_request( f"assessment-results/{params.assessment_result_id}/json-schema", accept_text=True, ) @handle_api_errors async def get_assessment_log_output(assessment_result_id: str) -> APIResponse: """Retrieve logs from an assessment result. Gets the raw log output from a Terraform Cloud assessment operation, providing detailed information about the execution and any errors. API endpoint: GET /api/v2/assessment-results/{assessment_result_id}/log-output Args: assessment_result_id: The ID of the assessment result to retrieve logs for (format: "asmtres-xxxxxxxx") Returns: The raw logs from the assessment operation. The redirect to the log file is automatically followed. Note: This endpoint requires admin level access to the workspace and cannot be accessed with organization tokens. See: docs/tools/assessment_results.md for reference documentation """ # Validate parameters params = AssessmentOutputRequest(assessment_result_id=assessment_result_id) # Make API request with text acceptance for the logs return await api_request( f"assessment-results/{params.assessment_result_id}/log-output", accept_text=True )

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/severity1/terraform-cloud-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server