Close httplib2 connections.
configureAndDeployServer(parent, body=None, x__xgafv=None)
Configures and deploys a given server config for given target. Currently this API supports only deploying MCP server in Apigee X. For mcp server deployment in apigee X, if there is already a mcp proxy deployed, then this method will try to overwrite it by creating new revision i.e. all existing tools will be removed and new set of tools will be deployed.
close()
Close httplib2 connections.
configureAndDeployServer(parent, body=None, x__xgafv=None)
Configures and deploys a given server config for given target. Currently this API supports only deploying MCP server in Apigee X. For mcp server deployment in apigee X, if there is already a mcp proxy deployed, then this method will try to overwrite it by creating new revision i.e. all existing tools will be removed and new set of tools will be deployed.
Args:
parent: string, Required. Format: `projects/{project}/locations/{location}` (required)
body: object, The request body.
The object takes the form of:
{ # Request message for ApiHub.ConfigureAndDeployServer.
"mcpServerConfig": { # MCP-specific server configuration. # MCP (Model Context Protocol) server configuration.
"apigeeXTargetDetails": { # The target configuration for Apigee X. Note: If this API is called while an earlier deployment is still in progress, the earlier deployment will be aborted and a new deployment will be triggered. # Optional. The target Apigee X configuration.
"deployedRevision": "A String", # Output only. The revision number of the Apigee proxy that was deployed.
"environment": "A String", # Required. The specific Apigee environment where the server will be deployed.
"metadata": { # Metadata for the server configuration in Apigee X. # Optional. Metadata for the proxy configuration in Apigee X.
"description": "A String", # Optional. Description for the server. For apigee target, this will be used as revision description.
"displayName": "A String", # Optional. Display name for the server. For apigee target, this will be used as revision display name.
},
"proxy": "A String", # Required. This name identifies the proxy resource in Apigee. It typically follows a standard alphanumeric format (e.g., "mcp-discovery-server").
"targetProject": "A String", # Required. The runtime project that hosts the Apigee X organization. This must be one of the runtime projects attached to the API Hub host project.
},
"tools": [ # Required. The tools to expose on the MCP server.
{ # A tool exposed by the MCP server. Each tool wraps exactly one API Hub operation under a caller-supplied identifier.
"description": "A String", # Required. Description of what the tool does and how it is used. Description serves as key reference for the agent to know about the tool capabilities.
"operation": { # API hub Operation config. # Required. The API Hub operation this tool exposes. Each tool wraps exactly one operation; callers that want to expose multiple operations should declare multiple tools.
"httpOperation": { # Identifies a single API Hub operation by spec resource name + HTTP path + HTTP method. # The HTTP operation config.
"method": "A String", # Required. HTTP method of the operation within the referenced spec. (GET / PUT / POST / DELETE / OPTIONS / HEAD / PATCH / TRACE).
"path": "A String", # Required. HTTP path of the operation within the referenced spec. Match is exact (no template substitution): the path here must appear verbatim on an APIOperationRevision belonging to the spec.
"spec": "A String", # Required. Spec resource name: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
},
"operation": "A String", # Full API Hub operation resource name: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
},
"toolId": "A String", # Required. Caller-supplied identifier for the tool; each tool must have a unique identifier. This will be by used by agents to invoke the tool. Tool ID must be unique across all tools in the given MCP server configuration.
},
],
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a network API call.
"done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
"error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
"message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
},
"metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
"name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
"response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
}