chore: import upstream snapshot with attribution
CF: Deploy Dev Docs / deploy (push) Has been cancelled
Sync Labels / build (push) Has been cancelled
tests / unit tests (macos-latest) (push) Has been cancelled
tests / unit tests (windows-latest) (push) Has been cancelled
tests / unit tests (ubuntu-latest) (push) Has been cancelled
CF: Deploy Dev Docs / deploy (push) Has been cancelled
Sync Labels / build (push) Has been cancelled
tests / unit tests (macos-latest) (push) Has been cancelled
tests / unit tests (windows-latest) (push) Has been cancelled
tests / unit tests (ubuntu-latest) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Tools"
|
||||
weight: 2
|
||||
---
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: alloydb-create-cluster
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-create-cluster\" tool creates a new AlloyDB for PostgreSQL cluster in a specified project and location.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-create-cluster` tool creates a new AlloyDB for PostgreSQL cluster
|
||||
in a specified project and location.
|
||||
|
||||
This tool provisions a cluster with a **private IP address** within the specified VPC network.
|
||||
|
||||
**Permissions & APIs Required:**
|
||||
Before using, ensure the following on your GCP project:
|
||||
|
||||
1. The [AlloyDB
|
||||
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com) is
|
||||
enabled.
|
||||
2. The user or service account executing the tool has one of the following IAM
|
||||
roles:
|
||||
|
||||
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
|
||||
- `roles/owner` (the Owner basic IAM role)
|
||||
- `roles/editor` (the Editor basic IAM role)
|
||||
|
||||
The tool takes the following input parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
|:-----------|:-------|:--------------------------------------------------------------------------------------------------------------------------|:---------|
|
||||
| `project` | string | The GCP project ID where the cluster will be created. | Yes |
|
||||
| `cluster` | string | A unique identifier for the new AlloyDB cluster. | Yes |
|
||||
| `password` | string | A secure password for the initial user. | Yes |
|
||||
| `location` | string | The GCP location where the cluster will be created. Default: `us-central1`. If quota is exhausted then use other regions. | No |
|
||||
| `network` | string | The name of the VPC network to connect the cluster to. Default: `default`. | No |
|
||||
| `user` | string | The name for the initial superuser. Default: `postgres`. | No |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: create_cluster
|
||||
type: alloydb-create-cluster
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to create a new AlloyDB cluster in a given project and location.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
|-------------|:--------:|:------------:|------------------------------------------------------|
|
||||
| type | string | true | Must be alloydb-create-cluster. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: alloydb-create-instance
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-create-instance\" tool creates a new AlloyDB instance within a specified cluster.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-create-instance` tool creates a new AlloyDB instance (PRIMARY or
|
||||
READ_POOL) within a specified cluster.
|
||||
This tool provisions a new instance with a **public IP address**.
|
||||
|
||||
**Permissions & APIs Required:**
|
||||
Before using, ensure the following on your GCP project:
|
||||
|
||||
1. The [AlloyDB
|
||||
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com)
|
||||
is enabled.
|
||||
2. The user or service account executing the tool has one of the following IAM
|
||||
roles:
|
||||
|
||||
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
|
||||
- `roles/owner` (the Owner basic IAM role)
|
||||
- `roles/editor` (the Editor basic IAM role)
|
||||
|
||||
The tool takes the following input parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :------------- | :----- | :------------------------------------------------------------------------------------------------ | :------- |
|
||||
| `project` | string | The GCP project ID where the cluster exists. | Yes |
|
||||
| `location` | string | The GCP location where the cluster exists (e.g., `us-central1`). | Yes |
|
||||
| `cluster` | string | The ID of the existing cluster to add this instance to. | Yes |
|
||||
| `instance` | string | A unique identifier for the new AlloyDB instance. | Yes |
|
||||
| `instanceType` | string | The type of instance. Valid values are: `PRIMARY` and `READ_POOL`. Default: `PRIMARY` | No |
|
||||
| `displayName` | string | An optional, user-friendly name for the instance. | No |
|
||||
| `nodeCount` | int | The number of nodes for a read pool. Required only if `instanceType` is `READ_POOL`. Default: `1` | No |
|
||||
|
||||
> Note
|
||||
> The tool sets the `password.enforce_complexity` database flag to `on`,
|
||||
> requiring new database passwords to meet complexity rules.
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: create_instance
|
||||
type: alloydb-create-instance
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to create a new AlloyDB instance within a specified cluster.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-create-instance. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: alloydb-create-user
|
||||
type: docs
|
||||
weight: 2
|
||||
description: "The \"alloydb-create-user\" tool creates a new database user within a specified AlloyDB cluster.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-create-user` tool creates a new database user (`ALLOYDB_BUILT_IN`
|
||||
or `ALLOYDB_IAM_USER`) within a specified cluster.
|
||||
|
||||
**Permissions & APIs Required:**
|
||||
Before using, ensure the following on your GCP project:
|
||||
|
||||
1. The [AlloyDB
|
||||
API](https://console.cloud.google.com/apis/library/alloydb.googleapis.com)
|
||||
is enabled.
|
||||
2. The user or service account executing the tool has one of the following IAM
|
||||
roles:
|
||||
- `roles/alloydb.admin` (the AlloyDB Admin predefined IAM role)
|
||||
- `roles/owner` (the Owner basic IAM role)
|
||||
- `roles/editor` (the Editor basic IAM role)
|
||||
|
||||
The tool takes the following input parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :-------------- | :------------ | :------------------------------------------------------------------------------------------------------------ | :------- |
|
||||
| `project` | string | The GCP project ID where the cluster exists. | Yes |
|
||||
| `cluster` | string | The ID of the existing cluster where the user will be created. | Yes |
|
||||
| `location` | string | The GCP location where the cluster exists (e.g., `us-central1`). | Yes |
|
||||
| `user` | string | The name for the new user. Must be unique within the cluster. | Yes |
|
||||
| `userType` | string | The type of user. Valid values: `ALLOYDB_BUILT_IN` and `ALLOYDB_IAM_USER`. `ALLOYDB_IAM_USER` is recommended. | Yes |
|
||||
| `password` | string | A secure password for the user. Required only if `userType` is `ALLOYDB_BUILT_IN`. | No |
|
||||
| `databaseRoles` | array(string) | Optional. A list of database roles to grant to the new user (e.g., `pg_read_all_data`). | No |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: create_user
|
||||
type: alloydb-create-user
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to create a new database user for an AlloyDB cluster.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-create-user. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: alloydb-get-cluster
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-get-cluster\" tool retrieves details for a specific AlloyDB cluster.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-get-cluster` tool retrieves detailed information for a single,
|
||||
specified AlloyDB cluster.
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :--------- | :----- | :------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID to get cluster for. | Yes |
|
||||
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
|
||||
| `cluster` | string | The ID of the cluster to retrieve. | Yes |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: get_specific_cluster
|
||||
type: alloydb-get-cluster
|
||||
source: my-alloydb-admin-source
|
||||
description: Use this tool to retrieve details for a specific AlloyDB cluster.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-get-cluster. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: alloydb-get-instance
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-get-instance\" tool retrieves details for a specific AlloyDB instance.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-get-instance` tool retrieves detailed information for a single,
|
||||
specified AlloyDB instance.
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
|:-----------|:-------|:----------------------------------------------------|:---------|
|
||||
| `project` | string | The GCP project ID to get instance for. | Yes |
|
||||
| `location` | string | The location of the instance (e.g., 'us-central1'). | Yes |
|
||||
| `cluster` | string | The ID of the cluster. | Yes |
|
||||
| `instance` | string | The ID of the instance to retrieve. | Yes |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: get_specific_instance
|
||||
type: alloydb-get-instance
|
||||
source: my-alloydb-admin-source
|
||||
description: Use this tool to retrieve details for a specific AlloyDB instance.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
|-------------|:--------:|:------------:|------------------------------------------------------|
|
||||
| type | string | true | Must be alloydb-get-instance. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: alloydb-get-user
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-get-user\" tool retrieves details for a specific AlloyDB user.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-get-user` tool retrieves detailed information for a single,
|
||||
specified AlloyDB user.
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :--------- | :----- | :------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID to get user for. | Yes |
|
||||
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
|
||||
| `cluster` | string | The ID of the cluster to retrieve the user from. | Yes |
|
||||
| `user` | string | The ID of the user to retrieve. | Yes |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: get_specific_user
|
||||
type: alloydb-get-user
|
||||
source: my-alloydb-admin-source
|
||||
description: Use this tool to retrieve details for a specific AlloyDB user.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-get-user. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: alloydb-list-clusters
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-list-clusters\" tool lists the AlloyDB clusters in a given project and location.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-list-clusters` tool retrieves AlloyDB cluster information for all
|
||||
or specified locations in a given project.
|
||||
|
||||
`alloydb-list-clusters` tool lists the detailed information of AlloyDB
|
||||
cluster(cluster name, state, configuration, etc) for a given project and
|
||||
location. The tool takes the following input parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :--------- | :----- | :----------------------------------------------------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID to list clusters for. | Yes |
|
||||
| `location` | string | The location to list clusters in (e.g., 'us-central1'). Use `-` for all locations. Default: `-`. | No |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: list_clusters
|
||||
type: alloydb-list-clusters
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to list all AlloyDB clusters in a given project and location.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-list-clusters. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: alloydb-list-instances
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-list-instances\" tool lists the AlloyDB instances for a given project, cluster and location.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-list-instances` tool retrieves AlloyDB instance information for all
|
||||
or specified clusters and locations in a given project.
|
||||
|
||||
`alloydb-list-instances` tool lists the detailed information of AlloyDB
|
||||
instances (instance name, type, IP address, state, configuration, etc) for a
|
||||
given project, cluster and location. The tool takes the following input
|
||||
parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :--------- | :----- | :--------------------------------------------------------------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID to list instances for. | Yes |
|
||||
| `cluster` | string | The ID of the cluster to list instances from. Use '-' to get results for all clusters. Default: `-`. | No |
|
||||
| `location` | string | The location of the cluster (e.g., 'us-central1'). Use '-' to get results for all locations. Default: `-`. | No |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: list_instances
|
||||
type: alloydb-list-instances
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to list all AlloyDB instances for a given project, cluster and location.
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-list-instances. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: alloydb-list-users
|
||||
type: docs
|
||||
weight: 1
|
||||
description: "The \"alloydb-list-users\" tool lists all database users within an AlloyDB cluster.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-list-users` tool lists all database users within an AlloyDB
|
||||
cluster.
|
||||
|
||||
The tool takes the following input parameters:
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :--------- | :----- | :------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID to list users for. | Yes |
|
||||
| `cluster` | string | The ID of the cluster to list users from. | Yes |
|
||||
| `location` | string | The location of the cluster (e.g., 'us-central1'). | Yes |
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: list_users
|
||||
type: alloydb-list-users
|
||||
source: alloydb-admin-source
|
||||
description: Use this tool to list all database users within an AlloyDB cluster
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------- |
|
||||
| type | string | true | Must be alloydb-list-users. |
|
||||
| source | string | true | The name of an `alloydb-admin` source. |
|
||||
| description | string | false | Description of the tool that is passed to the agent. |
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
title: alloydb-wait-for-operation
|
||||
type: docs
|
||||
weight: 10
|
||||
description: "Wait for a long-running AlloyDB operation to complete.\n"
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `alloydb-wait-for-operation` tool is a utility tool that waits for a
|
||||
long-running AlloyDB operation to complete. It does this by polling the AlloyDB
|
||||
Admin API operation status endpoint until the operation is finished, using
|
||||
exponential backoff.
|
||||
|
||||
| Parameter | Type | Description | Required |
|
||||
| :---------- | :----- | :--------------------------------------------------- | :------- |
|
||||
| `project` | string | The GCP project ID. | Yes |
|
||||
| `location` | string | The location of the operation (e.g., 'us-central1'). | Yes |
|
||||
| `operation` | string | The ID of the operation to wait for. | Yes |
|
||||
|
||||
{{< notice info >}}
|
||||
This tool is intended for developer assistant workflows with human-in-the-loop
|
||||
and shouldn't be used for production agents.
|
||||
{{< /notice >}}
|
||||
|
||||
|
||||
## Compatible Sources
|
||||
|
||||
{{< compatible-sources >}}
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
kind: tool
|
||||
name: wait_for_operation
|
||||
type: alloydb-wait-for-operation
|
||||
source: my-alloydb-admin-source
|
||||
description: "This will poll on operations API until the operation is done. For checking operation status we need projectId, locationID and operationId. Once instance is created give follow up steps on how to use the variables to bring data plane MCP server up in local and remote setup."
|
||||
delay: 1s
|
||||
maxDelay: 4m
|
||||
multiplier: 2
|
||||
maxRetries: 10
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
| ----------- | :------: | :----------: | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| type | string | true | Must be "alloydb-wait-for-operation". |
|
||||
| source | string | true | The name of a `alloydb-admin` source to use for authentication. |
|
||||
| description | string | false | A description of the tool. |
|
||||
| delay | duration | false | The initial delay between polling requests (e.g., `3s`). Defaults to 3 seconds. |
|
||||
| maxDelay | duration | false | The maximum delay between polling requests (e.g., `4m`). Defaults to 4 minutes. |
|
||||
| multiplier | float | false | The multiplier for the polling delay. The delay is multiplied by this value after each request. Defaults to 2.0. |
|
||||
| maxRetries | int | false | The maximum number of polling attempts before giving up. Defaults to 10. |
|
||||
Reference in New Issue
Block a user