xref: /aosp_15_r20/external/googleapis/google/cloud/dialogflow/v2/version.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.v2;
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.V2";
29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2/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.v2";
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.v2.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: "/v2/{parent=projects/*/agent}/versions"
46*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
47*d5c09012SAndroid Build Coastguard Worker        get: "/v2/{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: "/v2/{name=projects/*/agent/versions/*}"
57*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
58*d5c09012SAndroid Build Coastguard Worker        get: "/v2/{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: "/v2/{parent=projects/*/agent}/versions"
70*d5c09012SAndroid Build Coastguard Worker      body: "version"
71*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
72*d5c09012SAndroid Build Coastguard Worker        post: "/v2/{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: "/v2/{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: "/v2/{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: "/v2/{name=projects/*/agent/versions/*}"
100*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
101*d5c09012SAndroid Build Coastguard Worker        delete: "/v2/{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  //
151*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent/versions/<Version ID>`
152*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version
153*d5c09012SAndroid Build Coastguard Worker  //   ID>`
154*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
155*d5c09012SAndroid Build Coastguard Worker
156*d5c09012SAndroid Build Coastguard Worker  // Optional. The developer-provided description of this version.
157*d5c09012SAndroid Build Coastguard Worker  string description = 2 [(google.api.field_behavior) = OPTIONAL];
158*d5c09012SAndroid Build Coastguard Worker
159*d5c09012SAndroid Build Coastguard Worker  // Output only. The sequential number of this version. This field is read-only
160*d5c09012SAndroid Build Coastguard Worker  // which means it cannot be set by create and update methods.
161*d5c09012SAndroid Build Coastguard Worker  int32 version_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
162*d5c09012SAndroid Build Coastguard Worker
163*d5c09012SAndroid Build Coastguard Worker  // Output only. The creation time of this version. This field is read-only,
164*d5c09012SAndroid Build Coastguard Worker  // i.e., it cannot be set by create and update methods.
165*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 4
166*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker  // Output only. The status of this version. This field is read-only and cannot
169*d5c09012SAndroid Build Coastguard Worker  // be set by create and update methods.
170*d5c09012SAndroid Build Coastguard Worker  VersionStatus status = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
171*d5c09012SAndroid Build Coastguard Worker}
172*d5c09012SAndroid Build Coastguard Worker
173*d5c09012SAndroid Build Coastguard Worker// The request message for
174*d5c09012SAndroid Build Coastguard Worker// [Versions.ListVersions][google.cloud.dialogflow.v2.Versions.ListVersions].
175*d5c09012SAndroid Build Coastguard Workermessage ListVersionsRequest {
176*d5c09012SAndroid Build Coastguard Worker  // Required. The agent to list all versions from.
177*d5c09012SAndroid Build Coastguard Worker  // Supported formats:
178*d5c09012SAndroid Build Coastguard Worker  //
179*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent`
180*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent`
181*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
182*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
183*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
184*d5c09012SAndroid Build Coastguard Worker      child_type: "dialogflow.googleapis.com/Version"
185*d5c09012SAndroid Build Coastguard Worker    }
186*d5c09012SAndroid Build Coastguard Worker  ];
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of items to return in a single page. By
189*d5c09012SAndroid Build Coastguard Worker  // default 100 and at most 1000.
190*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // Optional. The next_page_token value returned from a previous list request.
193*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
194*d5c09012SAndroid Build Coastguard Worker}
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker// The response message for
197*d5c09012SAndroid Build Coastguard Worker// [Versions.ListVersions][google.cloud.dialogflow.v2.Versions.ListVersions].
198*d5c09012SAndroid Build Coastguard Workermessage ListVersionsResponse {
199*d5c09012SAndroid Build Coastguard Worker  // The list of agent versions. There will be a maximum number of items
200*d5c09012SAndroid Build Coastguard Worker  // returned based on the page_size field in the request.
201*d5c09012SAndroid Build Coastguard Worker  repeated Version versions = 1;
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results, or empty if there are no
204*d5c09012SAndroid Build Coastguard Worker  // more results in the list.
205*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
206*d5c09012SAndroid Build Coastguard Worker}
207*d5c09012SAndroid Build Coastguard Worker
208*d5c09012SAndroid Build Coastguard Worker// The request message for
209*d5c09012SAndroid Build Coastguard Worker// [Versions.GetVersion][google.cloud.dialogflow.v2.Versions.GetVersion].
210*d5c09012SAndroid Build Coastguard Workermessage GetVersionRequest {
211*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the version.
212*d5c09012SAndroid Build Coastguard Worker  // Supported formats:
213*d5c09012SAndroid Build Coastguard Worker  //
214*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent/versions/<Version ID>`
215*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version
216*d5c09012SAndroid Build Coastguard Worker  //   ID>`
217*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
218*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
219*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
220*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Version"
221*d5c09012SAndroid Build Coastguard Worker    }
222*d5c09012SAndroid Build Coastguard Worker  ];
223*d5c09012SAndroid Build Coastguard Worker}
224*d5c09012SAndroid Build Coastguard Worker
225*d5c09012SAndroid Build Coastguard Worker// The request message for
226*d5c09012SAndroid Build Coastguard Worker// [Versions.CreateVersion][google.cloud.dialogflow.v2.Versions.CreateVersion].
227*d5c09012SAndroid Build Coastguard Workermessage CreateVersionRequest {
228*d5c09012SAndroid Build Coastguard Worker  // Required. The agent to create a version for.
229*d5c09012SAndroid Build Coastguard Worker  // Supported formats:
230*d5c09012SAndroid Build Coastguard Worker  //
231*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent`
232*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent`
233*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
234*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
235*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
236*d5c09012SAndroid Build Coastguard Worker      child_type: "dialogflow.googleapis.com/Version"
237*d5c09012SAndroid Build Coastguard Worker    }
238*d5c09012SAndroid Build Coastguard Worker  ];
239*d5c09012SAndroid Build Coastguard Worker
240*d5c09012SAndroid Build Coastguard Worker  // Required. The version to create.
241*d5c09012SAndroid Build Coastguard Worker  Version version = 2 [(google.api.field_behavior) = REQUIRED];
242*d5c09012SAndroid Build Coastguard Worker}
243*d5c09012SAndroid Build Coastguard Worker
244*d5c09012SAndroid Build Coastguard Worker// The request message for
245*d5c09012SAndroid Build Coastguard Worker// [Versions.UpdateVersion][google.cloud.dialogflow.v2.Versions.UpdateVersion].
246*d5c09012SAndroid Build Coastguard Workermessage UpdateVersionRequest {
247*d5c09012SAndroid Build Coastguard Worker  // Required. The version to update.
248*d5c09012SAndroid Build Coastguard Worker  // Supported formats:
249*d5c09012SAndroid Build Coastguard Worker  //
250*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent/versions/<Version ID>`
251*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version
252*d5c09012SAndroid Build Coastguard Worker  //   ID>`
253*d5c09012SAndroid Build Coastguard Worker  Version version = 1 [(google.api.field_behavior) = REQUIRED];
254*d5c09012SAndroid Build Coastguard Worker
255*d5c09012SAndroid Build Coastguard Worker  // Required. The mask to control which fields get updated.
256*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
257*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
258*d5c09012SAndroid Build Coastguard Worker}
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker// The request message for
261*d5c09012SAndroid Build Coastguard Worker// [Versions.DeleteVersion][google.cloud.dialogflow.v2.Versions.DeleteVersion].
262*d5c09012SAndroid Build Coastguard Workermessage DeleteVersionRequest {
263*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the version to delete.
264*d5c09012SAndroid Build Coastguard Worker  // Supported formats:
265*d5c09012SAndroid Build Coastguard Worker  //
266*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/agent/versions/<Version ID>`
267*d5c09012SAndroid Build Coastguard Worker  // - `projects/<Project ID>/locations/<Location ID>/agent/versions/<Version
268*d5c09012SAndroid Build Coastguard Worker  //   ID>`
269*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
270*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
271*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
272*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Version"
273*d5c09012SAndroid Build Coastguard Worker    }
274*d5c09012SAndroid Build Coastguard Worker  ];
275*d5c09012SAndroid Build Coastguard Worker}
276