
Gemini Cloud Assist
OfficialConnects to Google Cloud's Gemini Cloud Assist APIs to create, run, and manage troubleshooting investigations for your Google Cloud environment using natural language.
What it does
- Create Cloud Assist investigations for troubleshooting
- Run investigations and get automated analysis reports
- Fetch existing investigation data and results
- Add user observations to refine ongoing investigations
Best for
Tools (4)
/** * Fetches Gemini Cloud Assist Investigations. * * This function serves as a versatile entry point for retrieving investigation data. * It can operate in two modes: * * 1. **List Mode:** If only a projectId is provided, it will list all * troubleshooting investigations associated with that project. It can be * optionally filtered by title using the filter_expression parameter. If the user indicates to fetch more pages, use the next_page_token parameter. * * 2. **Get Mode:** If an investigationId is also provided, it will fetch the * detailed report for that specific investigation. If a revisionId is * also provided, it fetches that particular revision; otherwise, it * retrieves the latest version. * */
/** * Creates a new Gemini Cloud Assist Investigation. This tool is the primary entry point for initiating any new troubleshooting analysis. * * Prerequisites: * Argument Resolution: Before invoking this tool, you **MUST** resolve all user-provided information into the specific formats required by the arguments. * * Resource URI Mandate: The 'relevant_resources' parameter requires a list of full Google Cloud Platform (GCP) resource URIs. * - **Format:** Each URI **MUST** strictly adhere to the format: //<service>.googleapis.com/<resource-path>. * - **Validation:** The tool will fail if the provided strings are not well-formed URIs in this exact format. * - **Resolution:** You are responsible for converting any partial, ambiguous, or incomplete resource names (e.g., "my GKE cluster", "the default nodepool", or "project/zone/resource_type/resource_name") into their full URI representation. Utilize available tools like 'gcloud', 'kubectl', or your internal knowledge base to discover the complete and accurate resource URIs. * - **GCP Resource URI Reference**: https://cloud.google.com/asset-inventory/docs/asset-names * * Example of a correct GCP Resource URI: * - //compute.googleapis.com/projects/my-gcp-project/zones/us-central1-a/instances/my-vm-instance * * Additional Argument Formatting: * - **Timestamp ('start_time'):** Convert all relative time expressions (e.g., "30 minutes ago", "yesterday at 5pm") into the absolute 'YYYY-MM-DDTHH:mm:ssZ' UTC format. The 'Shell' tool with the 'date' command can be used for this conversion. * - **Project ID ('project_id'):** If a project is not explicitly mentioned by the user, you must determine the correct one from the context of the conversation or by using the command 'gcloud config get-value project'. * * **Crucial:** If you are unable to resolve any of this information into the required formats, you **MUST** seek clarification from the user before proceeding to call this tool. * * @returns {string} A summary of the new investigation, structured with Markdown. * You **MUST** parse this output to find the '**Investigation Path**' and '**Revision Path**' * fields. The final segment of the 'Investigation Path' is the 'investigation_id' and the * final segment of the 'Revision Path' is the 'revision_id'. These are required for subsequent tool calls. */
/** * Triggers the Gemini analysis, waits for completion, and returns the final report. * * This is a **synchronous, blocking call** that runs the full analysis. * The tool will not return a response until the investigation is complete. * * **Workflow:** This tool **MUST** be called immediately after * 'create_investigation' or 'add_observation'. The string returned by this function is the final, * detailed report. There is no need to call any other tool after this to get the * results. * * **Interpreting the Output:** The output of this tool represents a set of observations & hypotheses based on the data, * not a definitive conclusion. NEVER treat the output as a confirmed root cause without further validation. * Your job is to analyze the returned hypotheses and use other tools at your disposal to gather evidence that proves or disproves them. * * @returns {string} A detailed troubleshooting report in a structured string format. The * report is organized with '##' headers for sections like 'Issue', * 'Hypotheses', 'Relevant Observations', and 'Remediation'. * **Note:** Some sections may be empty and will state "No hypotheses * found." or similar. Your job is to parse this report and present * a clear summary of the findings (or lack thereof) to the user. */
/** * Adds a new user observation to an existing investigation. * * Prerequisites: * Argument Resolution: Before invoking this tool, you **MUST** resolve any new resource names mentioned in the user's observation into the specific formats required by the arguments. * * Resource URI Mandate: If the user's 'observation' mentions new resources, the 'relevant_resources' parameter requires a list of full Google Cloud Platform (GCP) resource URIs. If no new resources are mentioned, provide an empty list '[]'. * - **Format:** Each URI **MUST** strictly adhere to the format: //<service>.googleapis.com/<resource-path>. * - **Validation:** The tool will fail if any provided strings are not well-formed URIs in this exact format. * - **Resolution:** You are responsible for converting any partial, ambiguous, or incomplete resource names into their full URI representation. Utilize available tools like 'gcloud', 'kubectl', or your internal knowledge base to discover the complete and accurate resource URIs. * - **GCP Resource URI Reference**: https://cloud.google.com/asset-inventory/docs/asset-names * * Example of a correct GCP Resource URI: * - //compute.googleapis.com/projects/my-gcp-project/zones/us-central1-a/instances/my-vm-instance * * **Crucial:** If you cannot resolve a new resource name into the required format, you **MUST** seek clarification from the user before proceeding to call this tool. * * Workflow: After adding an observation, you **MUST** call 'run_investigation' on the new revision to re-analyze with the added context. * * @returns {string} A string summary of the updated investigation, structured with Markdown. * You **MUST** parse this output to find the '**Revision Path**' field. * The final segment of this path is the new 'revision_id' that you must * use for the subsequent 'run_investigation' call. */