1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.dialogflow.v2beta1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 28*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dialogflow.V2Beta1"; 29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2beta1/dialogflowpb;dialogflowpb"; 30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 31*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "VersionProto"; 32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dialogflow.v2beta1"; 33*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DF"; 34*d5c09012SAndroid Build Coastguard Worker 35*d5c09012SAndroid Build Coastguard Worker// Service for managing [Versions][google.cloud.dialogflow.v2beta1.Version]. 36*d5c09012SAndroid Build Coastguard Workerservice Versions { 37*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dialogflow.googleapis.com"; 38*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 39*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 40*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/dialogflow"; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Returns the list of all versions of the specified agent. 43*d5c09012SAndroid Build Coastguard Worker rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { 44*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 45*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*/agent}/versions" 46*d5c09012SAndroid Build Coastguard Worker additional_bindings { 47*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*/locations/*/agent}/versions" 48*d5c09012SAndroid Build Coastguard Worker } 49*d5c09012SAndroid Build Coastguard Worker }; 50*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 51*d5c09012SAndroid Build Coastguard Worker } 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Retrieves the specified agent version. 54*d5c09012SAndroid Build Coastguard Worker rpc GetVersion(GetVersionRequest) returns (Version) { 55*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 56*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{name=projects/*/agent/versions/*}" 57*d5c09012SAndroid Build Coastguard Worker additional_bindings { 58*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{name=projects/*/locations/*/agent/versions/*}" 59*d5c09012SAndroid Build Coastguard Worker } 60*d5c09012SAndroid Build Coastguard Worker }; 61*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 62*d5c09012SAndroid Build Coastguard Worker } 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Creates an agent version. 65*d5c09012SAndroid Build Coastguard Worker // 66*d5c09012SAndroid Build Coastguard Worker // The new version points to the agent instance in the "default" environment. 67*d5c09012SAndroid Build Coastguard Worker rpc CreateVersion(CreateVersionRequest) returns (Version) { 68*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 69*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/agent}/versions" 70*d5c09012SAndroid Build Coastguard Worker body: "version" 71*d5c09012SAndroid Build Coastguard Worker additional_bindings { 72*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/locations/*/agent}/versions" 73*d5c09012SAndroid Build Coastguard Worker body: "version" 74*d5c09012SAndroid Build Coastguard Worker } 75*d5c09012SAndroid Build Coastguard Worker }; 76*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,version"; 77*d5c09012SAndroid Build Coastguard Worker } 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Updates the specified agent version. 80*d5c09012SAndroid Build Coastguard Worker // 81*d5c09012SAndroid Build Coastguard Worker // Note that this method does not allow you to update the state of the agent 82*d5c09012SAndroid Build Coastguard Worker // the given version points to. It allows you to update only mutable 83*d5c09012SAndroid Build Coastguard Worker // properties of the version resource. 84*d5c09012SAndroid Build Coastguard Worker rpc UpdateVersion(UpdateVersionRequest) returns (Version) { 85*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 86*d5c09012SAndroid Build Coastguard Worker patch: "/v2beta1/{version.name=projects/*/agent/versions/*}" 87*d5c09012SAndroid Build Coastguard Worker body: "version" 88*d5c09012SAndroid Build Coastguard Worker additional_bindings { 89*d5c09012SAndroid Build Coastguard Worker patch: "/v2beta1/{version.name=projects/*/locations/*/agent/versions/*}" 90*d5c09012SAndroid Build Coastguard Worker body: "version" 91*d5c09012SAndroid Build Coastguard Worker } 92*d5c09012SAndroid Build Coastguard Worker }; 93*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "version,update_mask"; 94*d5c09012SAndroid Build Coastguard Worker } 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Delete the specified agent version. 97*d5c09012SAndroid Build Coastguard Worker rpc DeleteVersion(DeleteVersionRequest) returns (google.protobuf.Empty) { 98*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 99*d5c09012SAndroid Build Coastguard Worker delete: "/v2beta1/{name=projects/*/agent/versions/*}" 100*d5c09012SAndroid Build Coastguard Worker additional_bindings { 101*d5c09012SAndroid Build Coastguard Worker delete: "/v2beta1/{name=projects/*/locations/*/agent/versions/*}" 102*d5c09012SAndroid Build Coastguard Worker } 103*d5c09012SAndroid Build Coastguard Worker }; 104*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 105*d5c09012SAndroid Build Coastguard Worker } 106*d5c09012SAndroid Build Coastguard Worker} 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker// You can create multiple versions of your agent and publish them to separate 109*d5c09012SAndroid Build Coastguard Worker// environments. 110*d5c09012SAndroid Build Coastguard Worker// 111*d5c09012SAndroid Build Coastguard Worker// When you edit an agent, you are editing the draft agent. At any point, you 112*d5c09012SAndroid Build Coastguard Worker// can save the draft agent as an agent version, which is an immutable snapshot 113*d5c09012SAndroid Build Coastguard Worker// of your agent. 114*d5c09012SAndroid Build Coastguard Worker// 115*d5c09012SAndroid Build Coastguard Worker// When you save the draft agent, it is published to the default environment. 116*d5c09012SAndroid Build Coastguard Worker// When you create agent versions, you can publish them to custom environments. 117*d5c09012SAndroid Build Coastguard Worker// You can create a variety of custom environments for: 118*d5c09012SAndroid Build Coastguard Worker// 119*d5c09012SAndroid Build Coastguard Worker// - testing 120*d5c09012SAndroid Build Coastguard Worker// - development 121*d5c09012SAndroid Build Coastguard Worker// - production 122*d5c09012SAndroid Build Coastguard Worker// - etc. 123*d5c09012SAndroid Build Coastguard Worker// 124*d5c09012SAndroid Build Coastguard Worker// For more information, see the [versions and environments 125*d5c09012SAndroid Build Coastguard Worker// guide](https://cloud.google.com/dialogflow/docs/agents-versions). 126*d5c09012SAndroid Build Coastguard Workermessage Version { 127*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 128*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Version" 129*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/agent/versions/{version}" 130*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/agent/versions/{version}" 131*d5c09012SAndroid Build Coastguard Worker }; 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // The status of a version. 134*d5c09012SAndroid Build Coastguard Worker enum VersionStatus { 135*d5c09012SAndroid Build Coastguard Worker // Not specified. This value is not used. 136*d5c09012SAndroid Build Coastguard Worker VERSION_STATUS_UNSPECIFIED = 0; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Version is not ready to serve (e.g. training is in progress). 139*d5c09012SAndroid Build Coastguard Worker IN_PROGRESS = 1; 140*d5c09012SAndroid Build Coastguard Worker 141*d5c09012SAndroid Build Coastguard Worker // Version is ready to serve. 142*d5c09012SAndroid Build Coastguard Worker READY = 2; 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // Version training failed. 145*d5c09012SAndroid Build Coastguard Worker FAILED = 3; 146*d5c09012SAndroid Build Coastguard Worker } 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker // Output only. The unique identifier of this agent version. 149*d5c09012SAndroid Build Coastguard Worker // Supported formats: 150*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/versions/<Version ID>` 151*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version 152*d5c09012SAndroid Build Coastguard Worker // ID>` 153*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Optional. The developer-provided description of this version. 156*d5c09012SAndroid Build Coastguard Worker string description = 2 [(google.api.field_behavior) = OPTIONAL]; 157*d5c09012SAndroid Build Coastguard Worker 158*d5c09012SAndroid Build Coastguard Worker // Output only. The sequential number of this version. This field is read-only 159*d5c09012SAndroid Build Coastguard Worker // which means it cannot be set by create and update methods. 160*d5c09012SAndroid Build Coastguard Worker int32 version_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 161*d5c09012SAndroid Build Coastguard Worker 162*d5c09012SAndroid Build Coastguard Worker // Output only. The creation time of this version. This field is read-only, 163*d5c09012SAndroid Build Coastguard Worker // i.e., it cannot be set by create and update methods. 164*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 165*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 166*d5c09012SAndroid Build Coastguard Worker 167*d5c09012SAndroid Build Coastguard Worker // Output only. The status of this version. This field is read-only and cannot 168*d5c09012SAndroid Build Coastguard Worker // be set by create and update methods. 169*d5c09012SAndroid Build Coastguard Worker VersionStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 170*d5c09012SAndroid Build Coastguard Worker} 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker// The request message for 173*d5c09012SAndroid Build Coastguard Worker// [Versions.ListVersions][google.cloud.dialogflow.v2beta1.Versions.ListVersions]. 174*d5c09012SAndroid Build Coastguard Workermessage ListVersionsRequest { 175*d5c09012SAndroid Build Coastguard Worker // Required. The agent to list all versions from. 176*d5c09012SAndroid Build Coastguard Worker // Supported formats: 177*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent` 178*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent` 179*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 180*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 181*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 182*d5c09012SAndroid Build Coastguard Worker child_type: "dialogflow.googleapis.com/Version" 183*d5c09012SAndroid Build Coastguard Worker } 184*d5c09012SAndroid Build Coastguard Worker ]; 185*d5c09012SAndroid Build Coastguard Worker 186*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of items to return in a single page. By 187*d5c09012SAndroid Build Coastguard Worker // default 100 and at most 1000. 188*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker // Optional. The next_page_token value returned from a previous list request. 191*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 192*d5c09012SAndroid Build Coastguard Worker} 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker// The response message for 195*d5c09012SAndroid Build Coastguard Worker// [Versions.ListVersions][google.cloud.dialogflow.v2beta1.Versions.ListVersions]. 196*d5c09012SAndroid Build Coastguard Workermessage ListVersionsResponse { 197*d5c09012SAndroid Build Coastguard Worker // The list of agent versions. There will be a maximum number of items 198*d5c09012SAndroid Build Coastguard Worker // returned based on the page_size field in the request. 199*d5c09012SAndroid Build Coastguard Worker repeated Version versions = 1; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no 202*d5c09012SAndroid Build Coastguard Worker // more results in the list. 203*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 204*d5c09012SAndroid Build Coastguard Worker} 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker// The request message for 207*d5c09012SAndroid Build Coastguard Worker// [Versions.GetVersion][google.cloud.dialogflow.v2beta1.Versions.GetVersion]. 208*d5c09012SAndroid Build Coastguard Workermessage GetVersionRequest { 209*d5c09012SAndroid Build Coastguard Worker // Required. The name of the version. 210*d5c09012SAndroid Build Coastguard Worker // Supported formats: 211*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/versions/<Version ID>` 212*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version 213*d5c09012SAndroid Build Coastguard Worker // ID>` 214*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 215*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 216*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 217*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Version" 218*d5c09012SAndroid Build Coastguard Worker } 219*d5c09012SAndroid Build Coastguard Worker ]; 220*d5c09012SAndroid Build Coastguard Worker} 221*d5c09012SAndroid Build Coastguard Worker 222*d5c09012SAndroid Build Coastguard Worker// The request message for 223*d5c09012SAndroid Build Coastguard Worker// [Versions.CreateVersion][google.cloud.dialogflow.v2beta1.Versions.CreateVersion]. 224*d5c09012SAndroid Build Coastguard Workermessage CreateVersionRequest { 225*d5c09012SAndroid Build Coastguard Worker // Required. The agent to create a version for. 226*d5c09012SAndroid Build Coastguard Worker // Supported formats: 227*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent` 228*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent` 229*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 230*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 231*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 232*d5c09012SAndroid Build Coastguard Worker child_type: "dialogflow.googleapis.com/Version" 233*d5c09012SAndroid Build Coastguard Worker } 234*d5c09012SAndroid Build Coastguard Worker ]; 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Required. The version to create. 237*d5c09012SAndroid Build Coastguard Worker Version version = 2 [(google.api.field_behavior) = REQUIRED]; 238*d5c09012SAndroid Build Coastguard Worker} 239*d5c09012SAndroid Build Coastguard Worker 240*d5c09012SAndroid Build Coastguard Worker// The request message for 241*d5c09012SAndroid Build Coastguard Worker// [Versions.UpdateVersion][google.cloud.dialogflow.v2beta1.Versions.UpdateVersion]. 242*d5c09012SAndroid Build Coastguard Workermessage UpdateVersionRequest { 243*d5c09012SAndroid Build Coastguard Worker // Required. The version to update. 244*d5c09012SAndroid Build Coastguard Worker // Supported formats: 245*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/versions/<Version ID>` 246*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version 247*d5c09012SAndroid Build Coastguard Worker // ID>` 248*d5c09012SAndroid Build Coastguard Worker Version version = 1 [(google.api.field_behavior) = REQUIRED]; 249*d5c09012SAndroid Build Coastguard Worker 250*d5c09012SAndroid Build Coastguard Worker // Required. The mask to control which fields get updated. 251*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2 252*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 253*d5c09012SAndroid Build Coastguard Worker} 254*d5c09012SAndroid Build Coastguard Worker 255*d5c09012SAndroid Build Coastguard Worker// The request message for 256*d5c09012SAndroid Build Coastguard Worker// [Versions.DeleteVersion][google.cloud.dialogflow.v2beta1.Versions.DeleteVersion]. 257*d5c09012SAndroid Build Coastguard Workermessage DeleteVersionRequest { 258*d5c09012SAndroid Build Coastguard Worker // Required. The name of the version to delete. 259*d5c09012SAndroid Build Coastguard Worker // Supported formats: 260*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/versions/<Version ID>` 261*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version 262*d5c09012SAndroid Build Coastguard Worker // ID>` 263*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 264*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 265*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 266*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Version" 267*d5c09012SAndroid Build Coastguard Worker } 268*d5c09012SAndroid Build Coastguard Worker ]; 269*d5c09012SAndroid Build Coastguard Worker} 270