mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-01-08 15:14:00 -05:00
## Description --- This pull request adds a new tool, cloud-sql-clone-instance, which enables cloning a Cloud SQL instance from the toolbox using the Cloud SQL Admin API. The tool supports both standard cloning and point-in-time recovery (PITR). It also supports specifying preferred zones for cloned instances via the preferredZone and preferredSecondaryZone fields. Key Features: Instance Cloning: The tool allows you to clone a Cloud SQL instance by specifying the source and destination instance names. Point-in-Time Recovery (PITR): By providing a pointInTime timestamp, you can create a clone of an instance as it existed at a specific moment. High Availability Configuration: The preferredZone and preferredSecondaryZone parameters allow you to configure the cloned instance for high availability. Tested: <img width="1182" height="446" alt="Screenshot 2025-11-11 at 12 21 47 PM" src="https://github.com/user-attachments/assets/7f39a5a3-3967-43d0-8041-f1d47b4fbcd9" /> ## PR Checklist > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [ ] Make sure to add `!` if this involve a breaking change 🛠️ Fixes #1915 Co-authored-by: prernakakkar-google <158031829+prernakakkar-google@users.noreply.github.com> Co-authored-by: Averi Kitsch <akitsch@google.com>
3.5 KiB
3.5 KiB
title, type, weight, description
| title | type | weight | description |
|---|---|---|---|
| cloud-sql-clone-instance | docs | 10 | Clone a Cloud SQL instance. |
The cloud-sql-clone-instance tool clones a Cloud SQL instance using the Cloud SQL Admin API.
{{< notice info dd>}}
This tool uses a source of kind cloud-sql-admin.
{{< /notice >}}
Examples
Basic clone (current state)
tools:
clone-instance-basic:
kind: cloud-sql-clone-instance
source: cloud-sql-admin-source
description: "Creates an exact copy of a Cloud SQL instance. Supports configuring instance zones and high-availability setup through zone preferences."
Point-in-time recovery (PITR) clone
tools:
clone-instance-pitr:
kind: cloud-sql-clone-instance
source: cloud-sql-admin-source
description: "Creates an exact copy of a Cloud SQL instance at a specific point in time (PITR). Supports configuring instance zones and high-availability setup through zone preferences"
Reference
Tool Configuration
| field | type | required | description |
|---|---|---|---|
| kind | string | true | Must be "cloud-sql-clone-instance". |
| source | string | true | The name of the cloud-sql-admin source to use. |
| description | string | false | A description of the tool. |
Tool Inputs
| parameter | type | required | description |
|---|---|---|---|
| project | string | true | The project ID. |
| sourceInstanceName | string | true | The name of the source instance to clone. |
| destinationInstanceName | string | true | The name of the new (cloned) instance. |
| pointInTime | string | false | (Optional) The point in time for a PITR (Point-In-Time Recovery) clone. |
| preferredZone | string | false | (Optional) The preferred zone for the cloned instance. If not specified, defaults to the source instance's zone. |
| preferredSecondaryZone | string | false | (Optional) The preferred secondary zone for the cloned instance (for HA). |
Usage Notes
- The tool supports both basic clone and point-in-time recovery (PITR) clone operations.
- For PITR, specify the
pointInTimeparameter in RFC3339 format (e.g.,2024-01-01T00:00:00Z). - The source must be a valid Cloud SQL Admin API source.
- You can optionally specify the
zoneparameter to set the zone for the cloned instance. If omitted, the zone of the source instance will be used. - You can optionally specify the
preferredZoneandpreferredSecondaryZone(only in REGIONAL instances) to set the preferred zones for the cloned instance. These are useful for high availability (HA) configurations. If omitted, defaults will be used based on the source instance.