Skip to main content
Glama

list_oke_work_requests

Monitor and track asynchronous operations for Oracle Container Engine (OKE) resources by listing work requests in a specified compartment, including operation types, status, and associated resources.

Instructions

List work requests (async operations) for OKE resources in a compartment. Args: compartment_id: OCID of the compartment resource_id: Optional OCID of a specific resource (cluster or node pool) to filter by Returns: List of work requests with their details including: - Operation type (create, update, delete, etc.) - Status and completion percentage - Associated resources - Timestamps (accepted, started, finished)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
compartment_idYes
resource_idNo

Implementation Reference

  • Core handler function that executes the tool logic: lists OKE work requests using OCI ContainerEngineClient.list_work_requests, formats the response into a list of dictionaries with details like id, operation_type, status, resources, percent_complete, and timestamps.
    def list_work_requests(container_engine_client: oci.container_engine.ContainerEngineClient, compartment_id: str, resource_id: Optional[str] = None) -> List[Dict[str, Any]]: """ List work requests in a compartment, optionally filtered by resource. Args: container_engine_client: OCI ContainerEngine client compartment_id: OCID of the compartment resource_id: Optional OCID of the resource to filter by (cluster or node pool) Returns: List of work requests with their details """ try: kwargs = {"compartment_id": compartment_id} if resource_id: kwargs["resource_id"] = resource_id work_requests_response = oci.pagination.list_call_get_all_results( container_engine_client.list_work_requests, **kwargs ) work_requests = [] for wr in work_requests_response.data: work_requests.append({ "id": wr.id, "operation_type": wr.operation_type, "status": wr.status, "compartment_id": wr.compartment_id, "resources": [ { "action_type": res.action_type if hasattr(res, 'action_type') else None, "entity_type": res.entity_type if hasattr(res, 'entity_type') else None, "identifier": res.identifier if hasattr(res, 'identifier') else None, "entity_uri": res.entity_uri if hasattr(res, 'entity_uri') else None, } for res in wr.resources ] if hasattr(wr, 'resources') and wr.resources else [], "percent_complete": wr.percent_complete if hasattr(wr, 'percent_complete') else None, "time_accepted": str(wr.time_accepted) if hasattr(wr, 'time_accepted') and wr.time_accepted else None, "time_started": str(wr.time_started) if hasattr(wr, 'time_started') and wr.time_started else None, "time_finished": str(wr.time_finished) if hasattr(wr, 'time_finished') and wr.time_finished else None, }) logger.info(f"Found {len(work_requests)} work requests in compartment {compartment_id}" + (f" for resource {resource_id}" if resource_id else "")) return work_requests
  • MCP tool registration for 'list_oke_work_requests' with wrapper for error handling, logging, and profile management. Calls the handler from tools.oke.list_work_requests.
    @mcp.tool(name="list_oke_work_requests") @mcp_tool_wrapper( start_msg="Listing OKE work requests in compartment {compartment_id}...", error_prefix="Error listing OKE work requests" ) async def mcp_list_oke_work_requests( ctx: Context, compartment_id: str, resource_id: Optional[str] = None ) -> List[Dict[str, Any]]: """ List work requests (async operations) for OKE resources in a compartment. Args: compartment_id: OCID of the compartment resource_id: Optional OCID of a specific resource (cluster or node pool) to filter by Returns: List of work requests with their details including: - Operation type (create, update, delete, etc.) - Status and completion percentage - Associated resources - Timestamps (accepted, started, finished) """ return list_work_requests(oci_clients["container_engine"], compartment_id, resource_id)

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