1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.aiplatform.v1beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/cloud/aiplatform/v1beta1/operation.proto"; 24import "google/cloud/aiplatform/v1beta1/reasoning_engine.proto"; 25import "google/longrunning/operations.proto"; 26import "google/protobuf/empty.proto"; 27 28option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; 29option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; 30option java_multiple_files = true; 31option java_outer_classname = "ReasoningEngineServiceProto"; 32option java_package = "com.google.cloud.aiplatform.v1beta1"; 33option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; 34option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; 35 36// A service for managing Vertex AI's Reasoning Engines. 37service ReasoningEngineService { 38 option (google.api.default_host) = "aiplatform.googleapis.com"; 39 option (google.api.oauth_scopes) = 40 "https://www.googleapis.com/auth/cloud-platform"; 41 42 // Creates a reasoning engine. 43 rpc CreateReasoningEngine(CreateReasoningEngineRequest) 44 returns (google.longrunning.Operation) { 45 option (google.api.http) = { 46 post: "/v1beta1/{parent=projects/*/locations/*}/reasoningEngines" 47 body: "reasoning_engine" 48 }; 49 option (google.api.method_signature) = "parent,reasoning_engine"; 50 option (google.longrunning.operation_info) = { 51 response_type: "ReasoningEngine" 52 metadata_type: "CreateReasoningEngineOperationMetadata" 53 }; 54 } 55 56 // Gets a reasoning engine. 57 rpc GetReasoningEngine(GetReasoningEngineRequest) returns (ReasoningEngine) { 58 option (google.api.http) = { 59 get: "/v1beta1/{name=projects/*/locations/*/reasoningEngines/*}" 60 }; 61 option (google.api.method_signature) = "name"; 62 } 63 64 // Lists reasoning engines in a location. 65 rpc ListReasoningEngines(ListReasoningEnginesRequest) 66 returns (ListReasoningEnginesResponse) { 67 option (google.api.http) = { 68 get: "/v1beta1/{parent=projects/*/locations/*}/reasoningEngines" 69 }; 70 option (google.api.method_signature) = "parent"; 71 } 72 73 // Deletes a reasoning engine. 74 rpc DeleteReasoningEngine(DeleteReasoningEngineRequest) 75 returns (google.longrunning.Operation) { 76 option (google.api.http) = { 77 delete: "/v1beta1/{name=projects/*/locations/*/reasoningEngines/*}" 78 }; 79 option (google.api.method_signature) = "name"; 80 option (google.longrunning.operation_info) = { 81 response_type: "google.protobuf.Empty" 82 metadata_type: "DeleteOperationMetadata" 83 }; 84 } 85} 86 87// Request message for 88// [ReasoningEngineService.CreateReasoningEngine][google.cloud.aiplatform.v1beta1.ReasoningEngineService.CreateReasoningEngine]. 89message CreateReasoningEngineRequest { 90 // Required. The resource name of the Location to create the ReasoningEngine 91 // in. Format: `projects/{project}/locations/{location}` 92 string parent = 1 [ 93 (google.api.field_behavior) = REQUIRED, 94 (google.api.resource_reference) = { 95 type: "locations.googleapis.com/Location" 96 } 97 ]; 98 99 // Required. The ReasoningEngine to create. 100 ReasoningEngine reasoning_engine = 2 [(google.api.field_behavior) = REQUIRED]; 101} 102 103// Details of 104// [ReasoningEngineService.CreateReasoningEngine][google.cloud.aiplatform.v1beta1.ReasoningEngineService.CreateReasoningEngine] 105// operation. 106message CreateReasoningEngineOperationMetadata { 107 // The common part of the operation metadata. 108 GenericOperationMetadata generic_metadata = 1; 109} 110 111// Request message for 112// [ReasoningEngineService.GetReasoningEngine][google.cloud.aiplatform.v1beta1.ReasoningEngineService.GetReasoningEngine]. 113message GetReasoningEngineRequest { 114 // Required. The name of the ReasoningEngine resource. 115 // Format: 116 // `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` 117 string name = 1 [ 118 (google.api.field_behavior) = REQUIRED, 119 (google.api.resource_reference) = { 120 type: "aiplatform.googleapis.com/ReasoningEngine" 121 } 122 ]; 123} 124 125// Request message for 126// [ReasoningEngineService.ListReasoningEngines][google.cloud.aiplatform.v1beta1.ReasoningEngineService.ListReasoningEngines]. 127message ListReasoningEnginesRequest { 128 // Required. The resource name of the Location to list the ReasoningEngines 129 // from. Format: `projects/{project}/locations/{location}` 130 string parent = 1 [ 131 (google.api.field_behavior) = REQUIRED, 132 (google.api.resource_reference) = { 133 type: "locations.googleapis.com/Location" 134 } 135 ]; 136 137 // Optional. The standard list filter. 138 // More detail in [AIP-160](https://google.aip.dev/160). 139 string filter = 2 [(google.api.field_behavior) = OPTIONAL]; 140 141 // Optional. The standard list page size. 142 int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 143 144 // Optional. The standard list page token. 145 string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; 146} 147 148// Response message for 149// [ReasoningEngineService.ListReasoningEngines][google.cloud.aiplatform.v1beta1.ReasoningEngineService.ListReasoningEngines] 150message ListReasoningEnginesResponse { 151 // List of ReasoningEngines in the requested page. 152 repeated ReasoningEngine reasoning_engines = 1; 153 154 // A token to retrieve the next page of results. 155 // Pass to 156 // [ListReasoningEnginesRequest.page_token][google.cloud.aiplatform.v1beta1.ListReasoningEnginesRequest.page_token] 157 // to obtain that page. 158 string next_page_token = 2; 159} 160 161// Request message for 162// [ReasoningEngineService.DeleteReasoningEngine][google.cloud.aiplatform.v1beta1.ReasoningEngineService.DeleteReasoningEngine]. 163message DeleteReasoningEngineRequest { 164 // Required. The name of the ReasoningEngine resource to be deleted. 165 // Format: 166 // `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` 167 string name = 1 [ 168 (google.api.field_behavior) = REQUIRED, 169 (google.api.resource_reference) = { 170 type: "aiplatform.googleapis.com/ReasoningEngine" 171 } 172 ]; 173} 174