Development
Analysiert Terraform-Plan als JSON oder Text, klassifiziert Aenderungen und zeigt eine abhaengigkeitsorientierte Zusammenfassung
Rufen Sie dieses Werkzeug aus Ihrem Code in drei Sprachen auf.
# 1) Upload each file first → returns { filePath }
curl -X POST 'https://api.elysiatools.com/upload/terraform-plan-visualizer' \
-F 'file=@/path/to/planFile.ext'
# 2) Call the tool with the returned filePath values
curl -X POST 'https://api.elysiatools.com/de/api/tools/terraform-plan-visualizer' \
-F 'planInput={
"format_version": "1.2",
"resource_changes": [
{
"address": "aws_vpc.main",
"mode": "managed",
"type": "aws_vpc",
"name": "main",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"change": {
"actions": [
"create"
]
}
},
{
"address": "aws_subnet.app",
"mode": "managed",
"type": "aws_subnet",
"name": "app",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"change": {
"actions": [
"create"
]
}
},
{
"address": "aws_iam_policy.read",
"mode": "managed",
"type": "aws_iam_policy",
"name": "read",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"change": {
"actions": [
"update"
]
}
},
{
"address": "aws_security_group.web",
"mode": "managed",
"type": "aws_security_group",
"name": "web",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"change": {
"actions": [
"delete",
"create"
]
}
}
],
"configuration": {
"root_module": {
"resources": [
{
"address": "aws_vpc.main",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"depends_on": []
},
{
"address": "aws_subnet.app",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"depends_on": [
"aws_vpc.main"
]
},
{
"address": "aws_iam_policy.read",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"depends_on": [
"aws_vpc.main"
]
},
{
"address": "aws_security_group.web",
"provider_name": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"depends_on": [
"aws_vpc.main",
"aws_subnet.app"
]
}
]
}
}
}' \
-F 'planFile=' \
-F 'inputFormat=json' \
-F 'showDependencyGraph=true'Senden Sie eine POST-Anfrage mit Ihren Eingaben als JSON. Dateiparameter erfordern einen vorherigen Upload.
POST https://api.elysiatools.com/de/api/tools/terraform-plan-visualizer| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| planInput | textarea | Nein | — |
| planFile | fileUpload nötig | Nein | — |
| inputFormat | select | Nein | — |
| showDependencyGraph | checkbox | Nein | — |
HTML-Ergebnis
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Fügen Sie dieses Werkzeug Ihrem Model-Context-Protocol-Server hinzu, damit KI-Agenten es auflisten und aufrufen können.
Fügen Sie diesen Block Ihrer MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"elysiatools-terraform-plan-visualizer": {
"name": "terraform-plan-visualizer",
"description": "Analysiert Terraform-Plan als JSON oder Text, klassifiziert Aenderungen und zeigt eine abhaengigkeitsorientierte Zusammenfassung",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=terraform-plan-visualizer",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Nach dem Verbinden mit dem SSE-Endpunkt listen Sie die bereitgestellten Werkzeuge auf:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Rufen Sie das Werkzeug über seine ID auf; Argumente werden aus seiner Parameterliste gebildet:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "terraform-plan-visualizer",
"arguments": {
"planInput": "{\n \"format_version\": \"1.2\",\n \"resource_changes\": [\n {\n \"address\": \"aws_vpc.main\",\n \"mode\": \"managed\",\n \"type\": \"aws_vpc\",\n \"name\": \"main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_subnet.app\",\n \"mode\": \"managed\",\n \"type\": \"aws_subnet\",\n \"name\": \"app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"mode\": \"managed\",\n \"type\": \"aws_iam_policy\",\n \"name\": \"read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"update\"\n ]\n }\n },\n {\n \"address\": \"aws_security_group.web\",\n \"mode\": \"managed\",\n \"type\": \"aws_security_group\",\n \"name\": \"web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"delete\",\n \"create\"\n ]\n }\n }\n ],\n \"configuration\": {\n \"root_module\": {\n \"resources\": [\n {\n \"address\": \"aws_vpc.main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": []\n },\n {\n \"address\": \"aws_subnet.app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_security_group.web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\",\n \"aws_subnet.app\"\n ]\n }\n ]\n }\n }\n}",
"planFile": "",
"inputFormat": "json",
"showDependencyGraph": true
}
}
}Fragen oder Probleme? Kontakt: [email protected]