253 lines
12 KiB
JSON
253 lines
12 KiB
JSON
{
|
|
"name": "ReplicateShardReplica",
|
|
"fully_qualified_name": "WeaviateApi.ReplicateShardReplica@0.1.0",
|
|
"description": "Initiates replication of a shard replica to a target node.\n\nThis tool starts an asynchronous process to move or copy a specific shard replica from its current node to a specified target node. It handles data copying, synchronization, and may decommission the source replica.",
|
|
"toolkit": {
|
|
"name": "ArcadeWeaviateApi",
|
|
"description": null,
|
|
"version": "0.1.0"
|
|
},
|
|
"input": {
|
|
"parameters": [
|
|
{
|
|
"name": "source_node",
|
|
"required": true,
|
|
"description": "The name of the Weaviate node currently hosting the shard replica to be moved or copied.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied."
|
|
},
|
|
"inferrable": true,
|
|
"http_endpoint_parameter_name": "sourceNode"
|
|
},
|
|
{
|
|
"name": "target_weaviate_node",
|
|
"required": true,
|
|
"description": "Name of the Weaviate node for creating the new shard replica during the operation.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation."
|
|
},
|
|
"inferrable": true,
|
|
"http_endpoint_parameter_name": "targetNode"
|
|
},
|
|
{
|
|
"name": "target_collection_name",
|
|
"required": true,
|
|
"description": "The name of the collection to which the target shard belongs in the Weaviate database.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the collection to which the target shard belongs."
|
|
},
|
|
"inferrable": true,
|
|
"http_endpoint_parameter_name": "collection"
|
|
},
|
|
{
|
|
"name": "shard_name",
|
|
"required": true,
|
|
"description": "The name of the shard whose replica is to be moved or copied. Specify the shard to initiate the operation.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the shard whose replica is to be moved or copied."
|
|
},
|
|
"inferrable": true,
|
|
"http_endpoint_parameter_name": "shard"
|
|
},
|
|
{
|
|
"name": "replication_operation_type",
|
|
"required": false,
|
|
"description": "Specifies whether to 'COPY' or 'MOVE' the shard replica. Defaults to 'COPY' if not provided.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": [
|
|
"COPY",
|
|
"MOVE"
|
|
],
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted."
|
|
},
|
|
"inferrable": true,
|
|
"http_endpoint_parameter_name": "type"
|
|
}
|
|
]
|
|
},
|
|
"output": {
|
|
"description": "Response from the API endpoint 'replicate'.",
|
|
"available_modes": [
|
|
"value",
|
|
"error",
|
|
"null"
|
|
],
|
|
"value_schema": {
|
|
"val_type": "json",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": null
|
|
}
|
|
},
|
|
"requirements": {
|
|
"authorization": null,
|
|
"secrets": [
|
|
{
|
|
"key": "WEAVIATE_API_KEY"
|
|
},
|
|
{
|
|
"key": "WEAVIATE_SERVER_URL"
|
|
}
|
|
],
|
|
"metadata": null
|
|
},
|
|
"deprecation_message": null,
|
|
"metadata": {
|
|
"object_type": "api_wrapper_tool",
|
|
"version": "1.1.0",
|
|
"description": "Tools that enable LLMs to interact directly with the weaviate API."
|
|
},
|
|
"http_endpoint": {
|
|
"metadata": {
|
|
"object_type": "http_endpoint",
|
|
"version": "1.2.0",
|
|
"description": ""
|
|
},
|
|
"url": "{weaviate_server_url}/v1/replication/replicate",
|
|
"http_method": "POST",
|
|
"headers": {},
|
|
"parameters": [
|
|
{
|
|
"name": "sourceNode",
|
|
"tool_parameter_name": "source_node",
|
|
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied."
|
|
},
|
|
"accepted_as": "body",
|
|
"required": true,
|
|
"deprecated": false,
|
|
"default": null,
|
|
"documentation_urls": []
|
|
},
|
|
{
|
|
"name": "targetNode",
|
|
"tool_parameter_name": "target_weaviate_node",
|
|
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation."
|
|
},
|
|
"accepted_as": "body",
|
|
"required": true,
|
|
"deprecated": false,
|
|
"default": null,
|
|
"documentation_urls": []
|
|
},
|
|
{
|
|
"name": "collection",
|
|
"tool_parameter_name": "target_collection_name",
|
|
"description": "The name of the collection to which the target shard belongs.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the collection to which the target shard belongs."
|
|
},
|
|
"accepted_as": "body",
|
|
"required": true,
|
|
"deprecated": false,
|
|
"default": null,
|
|
"documentation_urls": []
|
|
},
|
|
{
|
|
"name": "shard",
|
|
"tool_parameter_name": "shard_name",
|
|
"description": "The name of the shard whose replica is to be moved or copied.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": null,
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "The name of the shard whose replica is to be moved or copied."
|
|
},
|
|
"accepted_as": "body",
|
|
"required": true,
|
|
"deprecated": false,
|
|
"default": null,
|
|
"documentation_urls": []
|
|
},
|
|
{
|
|
"name": "type",
|
|
"tool_parameter_name": "replication_operation_type",
|
|
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.",
|
|
"value_schema": {
|
|
"val_type": "string",
|
|
"inner_val_type": null,
|
|
"enum": [
|
|
"COPY",
|
|
"MOVE"
|
|
],
|
|
"properties": null,
|
|
"inner_properties": null,
|
|
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted."
|
|
},
|
|
"accepted_as": "body",
|
|
"required": false,
|
|
"deprecated": false,
|
|
"default": "COPY",
|
|
"documentation_urls": []
|
|
}
|
|
],
|
|
"documentation_urls": [],
|
|
"secrets": [
|
|
{
|
|
"arcade_key": "WEAVIATE_API_KEY",
|
|
"parameter_name": "Authorization",
|
|
"accepted_as": "header",
|
|
"formatted_value": "Bearer {authorization}",
|
|
"description": "",
|
|
"is_auth_token": false
|
|
},
|
|
{
|
|
"arcade_key": "WEAVIATE_SERVER_URL",
|
|
"parameter_name": "weaviate_server_url",
|
|
"accepted_as": "path",
|
|
"formatted_value": null,
|
|
"description": "",
|
|
"is_auth_token": false
|
|
}
|
|
],
|
|
"request_body_spec": "{\n \"content\": {\n \"application/yaml\": {\n \"schema\": {\n \"required\": [\n \"collection\",\n \"shard\",\n \"sourceNode\",\n \"targetNode\"\n ],\n \"type\": \"object\",\n \"properties\": {\n \"sourceNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.\"\n },\n \"targetNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.\"\n },\n \"collection\": {\n \"type\": \"string\",\n \"description\": \"The name of the collection to which the target shard belongs.\"\n },\n \"shard\": {\n \"type\": \"string\",\n \"description\": \"The name of the shard whose replica is to be moved or copied.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.\",\n \"default\": \"COPY\",\n \"enum\": [\n \"COPY\",\n \"MOVE\"\n ]\n }\n },\n \"description\": \"Specifies the parameters required to initiate a shard replica movement operation between two nodes for a given collection and shard. This request defines the source and target node, the collection and type of transfer.\"\n }\n },\n \"application/json\": {\n \"schema\": {\n \"required\": [\n \"collection\",\n \"shard\",\n \"sourceNode\",\n \"targetNode\"\n ],\n \"type\": \"object\",\n \"properties\": {\n \"sourceNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.\"\n },\n \"targetNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.\"\n },\n \"collection\": {\n \"type\": \"string\",\n \"description\": \"The name of the collection to which the target shard belongs.\"\n },\n \"shard\": {\n \"type\": \"string\",\n \"description\": \"The name of the shard whose replica is to be moved or copied.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.\",\n \"default\": \"COPY\",\n \"enum\": [\n \"COPY\",\n \"MOVE\"\n ]\n }\n },\n \"description\": \"Specifies the parameters required to initiate a shard replica movement operation between two nodes for a given collection and shard. This request defines the source and target node, the collection and type of transfer.\"\n }\n }\n },\n \"required\": true\n}",
|
|
"use_request_body_schema_mode": false,
|
|
"validate_request_body_schema": false
|
|
}
|
|
}
|