Skip to main content
Glama

list_fault_domains

Retrieve fault domains within an availability domain to plan high-availability deployments and distribute resources across isolated hardware segments in Oracle Cloud Infrastructure.

Instructions

List all fault domains in an availability domain.

Args:
    compartment_id: OCID of the compartment
    availability_domain: Name of the availability domain

Returns:
    List of fault domains with their names and IDs

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
compartment_idYes
availability_domainYes

Implementation Reference

  • MCP tool handler function registered as 'list_fault_domains'. Wraps the core helper with error handling, logging, and profile checks; delegates to resources.list_fault_domains.
    @mcp.tool(name="list_fault_domains")
    @mcp_tool_wrapper(
        start_msg="Listing fault domains in availability domain {availability_domain}...",
        error_prefix="Error listing fault domains"
    )
    async def mcp_list_fault_domains(ctx: Context, compartment_id: str, availability_domain: str) -> List[Dict[str, Any]]:
        """
        List all fault domains in an availability domain.
    
        Args:
            compartment_id: OCID of the compartment
            availability_domain: Name of the availability domain
    
        Returns:
            List of fault domains with their names and IDs
        """
        return list_fault_domains(oci_clients["identity"], compartment_id, availability_domain)
  • Tool registration via @mcp.tool(name="list_fault_domains") decorator on the handler function.
    @mcp.tool(name="list_fault_domains")
    @mcp_tool_wrapper(
        start_msg="Listing fault domains in availability domain {availability_domain}...",
        error_prefix="Error listing fault domains"
    )
    async def mcp_list_fault_domains(ctx: Context, compartment_id: str, availability_domain: str) -> List[Dict[str, Any]]:
        """
        List all fault domains in an availability domain.
    
        Args:
            compartment_id: OCID of the compartment
            availability_domain: Name of the availability domain
    
        Returns:
            List of fault domains with their names and IDs
        """
        return list_fault_domains(oci_clients["identity"], compartment_id, availability_domain)
  • Supporting utility function that performs the actual OCI API call to list_fault_domains and formats the response data.
    def list_fault_domains(identity_client: oci.identity.IdentityClient, compartment_id: str, 
                           availability_domain: str) -> List[Dict[str, Any]]:
        """
        List all fault domains in an availability domain.
        
        Args:
            identity_client: OCI Identity client
            compartment_id: OCID of the compartment
            availability_domain: Name of the availability domain
            
        Returns:
            List of fault domains with their details
        """
        try:
            fds_response = identity_client.list_fault_domains(
                compartment_id=compartment_id,
                availability_domain=availability_domain
            )
            
            fds = []
            for fd in fds_response.data:
                fds.append({
                    "name": fd.name,
                    "id": fd.id,
                    "compartment_id": fd.compartment_id,
                    "availability_domain": fd.availability_domain,
                })
            
            logger.info(f"Found {len(fds)} fault domains in availability domain {availability_domain}")
            return fds
            
        except Exception as e:
            logger.exception(f"Error listing fault domains: {e}")
            raise

Latest Blog Posts

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/jopsis/mcp-server-oci'

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