pe_list_protection_domains
List protection domains on a Prism Element cluster, returning PD names, protected entities, schedules, and replication state.
Instructions
List protection domains on a Prism Element cluster. Returns PD names, protected entities, schedules, and replication state.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pe_host | Yes | Prism Element CVM IP address or hostname |
Implementation Reference
- Handler function that lists protection domains from a Prism Element cluster via the v2 API.
async def handle_pe_list_protection_domains( client: NutanixClient, arguments: dict[str, Any] ) -> dict[str, Any]: """List protection domains from Prism Element v2 API.""" pe_host = arguments["pe_host"] result = await client.pe_list(pe_host, "protection_domains") entities = result.get("entities", []) return { "count": len(entities), "protectionDomains": [ { "name": pd.get("name"), "active": pd.get("active"), "cronSchedules": pd.get("cron_schedules", []), "replicationLinks": pd.get("replication_links", []), "vmCount": len(pd.get("vms", [])), } for pd in entities ], } - Tool definition and input schema for pe_list_protection_domains.
{ "name": "pe_list_protection_domains", "description": ( "List protection domains on a Prism Element cluster. " "Returns PD names, protected entities, schedules, and replication state." ), "inputSchema": { "type": "object", "properties": { "pe_host": { "type": "string", "description": "Prism Element CVM IP address or hostname", }, }, "required": ["pe_host"], }, }, { "name": "pe_list_snapshots", - src/nutanix_mcp/tools/prism_element.py:420-430 (registration)Handler dispatch table registering the handler under the tool name.
PE_HANDLERS: dict[str, Any] = { "pe_get_cluster_info": handle_pe_get_cluster_info, "pe_list_vms": handle_pe_list_vms, "pe_list_hosts": handle_pe_list_hosts, "pe_list_containers": handle_pe_list_containers, "pe_list_storage_pools": handle_pe_list_storage_pools, "pe_list_disks": handle_pe_list_disks, "pe_list_alerts": handle_pe_list_alerts, "pe_list_protection_domains": handle_pe_list_protection_domains, "pe_list_snapshots": handle_pe_list_snapshots, } - src/nutanix_mcp/server.py:35-41 (registration)Merged handler dispatch table that includes PE_HANDLERS at the server level.
ALL_HANDLERS: dict[str, Any] = { **VM_HANDLERS, **CLUSTER_HANDLERS, **PE_HANDLERS, **REPORT_HANDLERS, **NETWORKING_HANDLERS, } - src/nutanix_mcp/tools/__init__.py:10-12 (registration)Tool registry combining all tool definitions including PE_TOOLS.
def get_all_tools() -> list[dict]: """Return all registered tool definitions.""" return VM_TOOLS + CLUSTER_TOOLS + PE_TOOLS + REPORT_TOOLS + NETWORKING_TOOLS