service.proto 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. // Copyright 2021 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. syntax = "proto3";
  15. package google.cloud.automl.v1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/automl/v1/annotation_payload.proto";
  21. import "google/cloud/automl/v1/annotation_spec.proto";
  22. import "google/cloud/automl/v1/dataset.proto";
  23. import "google/cloud/automl/v1/image.proto";
  24. import "google/cloud/automl/v1/io.proto";
  25. import "google/cloud/automl/v1/model.proto";
  26. import "google/cloud/automl/v1/model_evaluation.proto";
  27. import "google/longrunning/operations.proto";
  28. import "google/protobuf/field_mask.proto";
  29. option csharp_namespace = "Google.Cloud.AutoML.V1";
  30. option go_package = "google.golang.org/genproto/googleapis/cloud/automl/v1;automl";
  31. option java_multiple_files = true;
  32. option java_outer_classname = "AutoMlProto";
  33. option java_package = "com.google.cloud.automl.v1";
  34. option php_namespace = "Google\\Cloud\\AutoMl\\V1";
  35. option ruby_package = "Google::Cloud::AutoML::V1";
  36. // AutoML Server API.
  37. //
  38. // The resource names are assigned by the server.
  39. // The server never reuses names that it has created after the resources with
  40. // those names are deleted.
  41. //
  42. // An ID of a resource is the last element of the item's resource name. For
  43. // `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`, then
  44. // the id for the item is `{dataset_id}`.
  45. //
  46. // Currently the only supported `location_id` is "us-central1".
  47. //
  48. // On any input that is documented to expect a string parameter in
  49. // snake_case or dash-case, either of those cases is accepted.
  50. service AutoMl {
  51. option (google.api.default_host) = "automl.googleapis.com";
  52. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  53. // Creates a dataset.
  54. rpc CreateDataset(CreateDatasetRequest) returns (google.longrunning.Operation) {
  55. option (google.api.http) = {
  56. post: "/v1/{parent=projects/*/locations/*}/datasets"
  57. body: "dataset"
  58. };
  59. option (google.api.method_signature) = "parent,dataset";
  60. option (google.longrunning.operation_info) = {
  61. response_type: "Dataset"
  62. metadata_type: "OperationMetadata"
  63. };
  64. }
  65. // Gets a dataset.
  66. rpc GetDataset(GetDatasetRequest) returns (Dataset) {
  67. option (google.api.http) = {
  68. get: "/v1/{name=projects/*/locations/*/datasets/*}"
  69. };
  70. option (google.api.method_signature) = "name";
  71. }
  72. // Lists datasets in a project.
  73. rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
  74. option (google.api.http) = {
  75. get: "/v1/{parent=projects/*/locations/*}/datasets"
  76. };
  77. option (google.api.method_signature) = "parent";
  78. }
  79. // Updates a dataset.
  80. rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
  81. option (google.api.http) = {
  82. patch: "/v1/{dataset.name=projects/*/locations/*/datasets/*}"
  83. body: "dataset"
  84. };
  85. option (google.api.method_signature) = "dataset,update_mask";
  86. }
  87. // Deletes a dataset and all of its contents.
  88. // Returns empty response in the
  89. // [response][google.longrunning.Operation.response] field when it completes,
  90. // and `delete_details` in the
  91. // [metadata][google.longrunning.Operation.metadata] field.
  92. rpc DeleteDataset(DeleteDatasetRequest) returns (google.longrunning.Operation) {
  93. option (google.api.http) = {
  94. delete: "/v1/{name=projects/*/locations/*/datasets/*}"
  95. };
  96. option (google.api.method_signature) = "name";
  97. option (google.longrunning.operation_info) = {
  98. response_type: "google.protobuf.Empty"
  99. metadata_type: "OperationMetadata"
  100. };
  101. }
  102. // Imports data into a dataset.
  103. // For Tables this method can only be called on an empty Dataset.
  104. //
  105. // For Tables:
  106. // * A
  107. // [schema_inference_version][google.cloud.automl.v1.InputConfig.params]
  108. // parameter must be explicitly set.
  109. // Returns an empty response in the
  110. // [response][google.longrunning.Operation.response] field when it completes.
  111. rpc ImportData(ImportDataRequest) returns (google.longrunning.Operation) {
  112. option (google.api.http) = {
  113. post: "/v1/{name=projects/*/locations/*/datasets/*}:importData"
  114. body: "*"
  115. };
  116. option (google.api.method_signature) = "name,input_config";
  117. option (google.longrunning.operation_info) = {
  118. response_type: "google.protobuf.Empty"
  119. metadata_type: "OperationMetadata"
  120. };
  121. }
  122. // Exports dataset's data to the provided output location.
  123. // Returns an empty response in the
  124. // [response][google.longrunning.Operation.response] field when it completes.
  125. rpc ExportData(ExportDataRequest) returns (google.longrunning.Operation) {
  126. option (google.api.http) = {
  127. post: "/v1/{name=projects/*/locations/*/datasets/*}:exportData"
  128. body: "*"
  129. };
  130. option (google.api.method_signature) = "name,output_config";
  131. option (google.longrunning.operation_info) = {
  132. response_type: "google.protobuf.Empty"
  133. metadata_type: "OperationMetadata"
  134. };
  135. }
  136. // Gets an annotation spec.
  137. rpc GetAnnotationSpec(GetAnnotationSpecRequest) returns (AnnotationSpec) {
  138. option (google.api.http) = {
  139. get: "/v1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}"
  140. };
  141. option (google.api.method_signature) = "name";
  142. }
  143. // Creates a model.
  144. // Returns a Model in the [response][google.longrunning.Operation.response]
  145. // field when it completes.
  146. // When you create a model, several model evaluations are created for it:
  147. // a global evaluation, and one evaluation for each annotation spec.
  148. rpc CreateModel(CreateModelRequest) returns (google.longrunning.Operation) {
  149. option (google.api.http) = {
  150. post: "/v1/{parent=projects/*/locations/*}/models"
  151. body: "model"
  152. };
  153. option (google.api.method_signature) = "parent,model";
  154. option (google.longrunning.operation_info) = {
  155. response_type: "Model"
  156. metadata_type: "OperationMetadata"
  157. };
  158. }
  159. // Gets a model.
  160. rpc GetModel(GetModelRequest) returns (Model) {
  161. option (google.api.http) = {
  162. get: "/v1/{name=projects/*/locations/*/models/*}"
  163. };
  164. option (google.api.method_signature) = "name";
  165. }
  166. // Lists models.
  167. rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
  168. option (google.api.http) = {
  169. get: "/v1/{parent=projects/*/locations/*}/models"
  170. };
  171. option (google.api.method_signature) = "parent";
  172. }
  173. // Deletes a model.
  174. // Returns `google.protobuf.Empty` in the
  175. // [response][google.longrunning.Operation.response] field when it completes,
  176. // and `delete_details` in the
  177. // [metadata][google.longrunning.Operation.metadata] field.
  178. rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
  179. option (google.api.http) = {
  180. delete: "/v1/{name=projects/*/locations/*/models/*}"
  181. };
  182. option (google.api.method_signature) = "name";
  183. option (google.longrunning.operation_info) = {
  184. response_type: "google.protobuf.Empty"
  185. metadata_type: "OperationMetadata"
  186. };
  187. }
  188. // Updates a model.
  189. rpc UpdateModel(UpdateModelRequest) returns (Model) {
  190. option (google.api.http) = {
  191. patch: "/v1/{model.name=projects/*/locations/*/models/*}"
  192. body: "model"
  193. };
  194. option (google.api.method_signature) = "model,update_mask";
  195. }
  196. // Deploys a model. If a model is already deployed, deploying it with the
  197. // same parameters has no effect. Deploying with different parametrs
  198. // (as e.g. changing
  199. // [node_number][google.cloud.automl.v1p1beta.ImageObjectDetectionModelDeploymentMetadata.node_number])
  200. // will reset the deployment state without pausing the model's availability.
  201. //
  202. // Only applicable for Text Classification, Image Object Detection , Tables, and Image Segmentation; all other domains manage
  203. // deployment automatically.
  204. //
  205. // Returns an empty response in the
  206. // [response][google.longrunning.Operation.response] field when it completes.
  207. rpc DeployModel(DeployModelRequest) returns (google.longrunning.Operation) {
  208. option (google.api.http) = {
  209. post: "/v1/{name=projects/*/locations/*/models/*}:deploy"
  210. body: "*"
  211. };
  212. option (google.api.method_signature) = "name";
  213. option (google.longrunning.operation_info) = {
  214. response_type: "google.protobuf.Empty"
  215. metadata_type: "OperationMetadata"
  216. };
  217. }
  218. // Undeploys a model. If the model is not deployed this method has no effect.
  219. //
  220. // Only applicable for Text Classification, Image Object Detection and Tables;
  221. // all other domains manage deployment automatically.
  222. //
  223. // Returns an empty response in the
  224. // [response][google.longrunning.Operation.response] field when it completes.
  225. rpc UndeployModel(UndeployModelRequest) returns (google.longrunning.Operation) {
  226. option (google.api.http) = {
  227. post: "/v1/{name=projects/*/locations/*/models/*}:undeploy"
  228. body: "*"
  229. };
  230. option (google.api.method_signature) = "name";
  231. option (google.longrunning.operation_info) = {
  232. response_type: "google.protobuf.Empty"
  233. metadata_type: "OperationMetadata"
  234. };
  235. }
  236. // Exports a trained, "export-able", model to a user specified Google Cloud
  237. // Storage location. A model is considered export-able if and only if it has
  238. // an export format defined for it in
  239. // [ModelExportOutputConfig][google.cloud.automl.v1.ModelExportOutputConfig].
  240. //
  241. // Returns an empty response in the
  242. // [response][google.longrunning.Operation.response] field when it completes.
  243. rpc ExportModel(ExportModelRequest) returns (google.longrunning.Operation) {
  244. option (google.api.http) = {
  245. post: "/v1/{name=projects/*/locations/*/models/*}:export"
  246. body: "*"
  247. };
  248. option (google.api.method_signature) = "name,output_config";
  249. option (google.longrunning.operation_info) = {
  250. response_type: "google.protobuf.Empty"
  251. metadata_type: "OperationMetadata"
  252. };
  253. }
  254. // Gets a model evaluation.
  255. rpc GetModelEvaluation(GetModelEvaluationRequest) returns (ModelEvaluation) {
  256. option (google.api.http) = {
  257. get: "/v1/{name=projects/*/locations/*/models/*/modelEvaluations/*}"
  258. };
  259. option (google.api.method_signature) = "name";
  260. }
  261. // Lists model evaluations.
  262. rpc ListModelEvaluations(ListModelEvaluationsRequest) returns (ListModelEvaluationsResponse) {
  263. option (google.api.http) = {
  264. get: "/v1/{parent=projects/*/locations/*/models/*}/modelEvaluations"
  265. };
  266. option (google.api.method_signature) = "parent,filter";
  267. }
  268. }
  269. // Request message for [AutoMl.CreateDataset][google.cloud.automl.v1.AutoMl.CreateDataset].
  270. message CreateDatasetRequest {
  271. // Required. The resource name of the project to create the dataset for.
  272. string parent = 1 [
  273. (google.api.field_behavior) = REQUIRED,
  274. (google.api.resource_reference) = {
  275. type: "locations.googleapis.com/Location"
  276. }
  277. ];
  278. // Required. The dataset to create.
  279. Dataset dataset = 2 [(google.api.field_behavior) = REQUIRED];
  280. }
  281. // Request message for [AutoMl.GetDataset][google.cloud.automl.v1.AutoMl.GetDataset].
  282. message GetDatasetRequest {
  283. // Required. The resource name of the dataset to retrieve.
  284. string name = 1 [
  285. (google.api.field_behavior) = REQUIRED,
  286. (google.api.resource_reference) = {
  287. type: "automl.googleapis.com/Dataset"
  288. }
  289. ];
  290. }
  291. // Request message for [AutoMl.ListDatasets][google.cloud.automl.v1.AutoMl.ListDatasets].
  292. message ListDatasetsRequest {
  293. // Required. The resource name of the project from which to list datasets.
  294. string parent = 1 [
  295. (google.api.field_behavior) = REQUIRED,
  296. (google.api.resource_reference) = {
  297. type: "locations.googleapis.com/Location"
  298. }
  299. ];
  300. // An expression for filtering the results of the request.
  301. //
  302. // * `dataset_metadata` - for existence of the case (e.g.
  303. // `image_classification_dataset_metadata:*`). Some examples of using the filter are:
  304. //
  305. // * `translation_dataset_metadata:*` --> The dataset has
  306. // `translation_dataset_metadata`.
  307. string filter = 3;
  308. // Requested page size. Server may return fewer results than requested.
  309. // If unspecified, server will pick a default size.
  310. int32 page_size = 4;
  311. // A token identifying a page of results for the server to return
  312. // Typically obtained via
  313. // [ListDatasetsResponse.next_page_token][google.cloud.automl.v1.ListDatasetsResponse.next_page_token] of the previous
  314. // [AutoMl.ListDatasets][google.cloud.automl.v1.AutoMl.ListDatasets] call.
  315. string page_token = 6;
  316. }
  317. // Response message for [AutoMl.ListDatasets][google.cloud.automl.v1.AutoMl.ListDatasets].
  318. message ListDatasetsResponse {
  319. // The datasets read.
  320. repeated Dataset datasets = 1;
  321. // A token to retrieve next page of results.
  322. // Pass to [ListDatasetsRequest.page_token][google.cloud.automl.v1.ListDatasetsRequest.page_token] to obtain that page.
  323. string next_page_token = 2;
  324. }
  325. // Request message for [AutoMl.UpdateDataset][google.cloud.automl.v1.AutoMl.UpdateDataset]
  326. message UpdateDatasetRequest {
  327. // Required. The dataset which replaces the resource on the server.
  328. Dataset dataset = 1 [(google.api.field_behavior) = REQUIRED];
  329. // Required. The update mask applies to the resource.
  330. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  331. }
  332. // Request message for [AutoMl.DeleteDataset][google.cloud.automl.v1.AutoMl.DeleteDataset].
  333. message DeleteDatasetRequest {
  334. // Required. The resource name of the dataset to delete.
  335. string name = 1 [
  336. (google.api.field_behavior) = REQUIRED,
  337. (google.api.resource_reference) = {
  338. type: "automl.googleapis.com/Dataset"
  339. }
  340. ];
  341. }
  342. // Request message for [AutoMl.ImportData][google.cloud.automl.v1.AutoMl.ImportData].
  343. message ImportDataRequest {
  344. // Required. Dataset name. Dataset must already exist. All imported
  345. // annotations and examples will be added.
  346. string name = 1 [
  347. (google.api.field_behavior) = REQUIRED,
  348. (google.api.resource_reference) = {
  349. type: "automl.googleapis.com/Dataset"
  350. }
  351. ];
  352. // Required. The desired input location and its domain specific semantics,
  353. // if any.
  354. InputConfig input_config = 3 [(google.api.field_behavior) = REQUIRED];
  355. }
  356. // Request message for [AutoMl.ExportData][google.cloud.automl.v1.AutoMl.ExportData].
  357. message ExportDataRequest {
  358. // Required. The resource name of the dataset.
  359. string name = 1 [
  360. (google.api.field_behavior) = REQUIRED,
  361. (google.api.resource_reference) = {
  362. type: "automl.googleapis.com/Dataset"
  363. }
  364. ];
  365. // Required. The desired output location.
  366. OutputConfig output_config = 3 [(google.api.field_behavior) = REQUIRED];
  367. }
  368. // Request message for [AutoMl.GetAnnotationSpec][google.cloud.automl.v1.AutoMl.GetAnnotationSpec].
  369. message GetAnnotationSpecRequest {
  370. // Required. The resource name of the annotation spec to retrieve.
  371. string name = 1 [
  372. (google.api.field_behavior) = REQUIRED,
  373. (google.api.resource_reference) = {
  374. type: "automl.googleapis.com/AnnotationSpec"
  375. }
  376. ];
  377. }
  378. // Request message for [AutoMl.CreateModel][google.cloud.automl.v1.AutoMl.CreateModel].
  379. message CreateModelRequest {
  380. // Required. Resource name of the parent project where the model is being created.
  381. string parent = 1 [
  382. (google.api.field_behavior) = REQUIRED,
  383. (google.api.resource_reference) = {
  384. type: "locations.googleapis.com/Location"
  385. }
  386. ];
  387. // Required. The model to create.
  388. Model model = 4 [(google.api.field_behavior) = REQUIRED];
  389. }
  390. // Request message for [AutoMl.GetModel][google.cloud.automl.v1.AutoMl.GetModel].
  391. message GetModelRequest {
  392. // Required. Resource name of the model.
  393. string name = 1 [
  394. (google.api.field_behavior) = REQUIRED,
  395. (google.api.resource_reference) = {
  396. type: "automl.googleapis.com/Model"
  397. }
  398. ];
  399. }
  400. // Request message for [AutoMl.ListModels][google.cloud.automl.v1.AutoMl.ListModels].
  401. message ListModelsRequest {
  402. // Required. Resource name of the project, from which to list the models.
  403. string parent = 1 [
  404. (google.api.field_behavior) = REQUIRED,
  405. (google.api.resource_reference) = {
  406. type: "locations.googleapis.com/Location"
  407. }
  408. ];
  409. // An expression for filtering the results of the request.
  410. //
  411. // * `model_metadata` - for existence of the case (e.g.
  412. // `video_classification_model_metadata:*`).
  413. // * `dataset_id` - for = or !=. Some examples of using the filter are:
  414. //
  415. // * `image_classification_model_metadata:*` --> The model has
  416. // `image_classification_model_metadata`.
  417. // * `dataset_id=5` --> The model was created from a dataset with ID 5.
  418. string filter = 3;
  419. // Requested page size.
  420. int32 page_size = 4;
  421. // A token identifying a page of results for the server to return
  422. // Typically obtained via
  423. // [ListModelsResponse.next_page_token][google.cloud.automl.v1.ListModelsResponse.next_page_token] of the previous
  424. // [AutoMl.ListModels][google.cloud.automl.v1.AutoMl.ListModels] call.
  425. string page_token = 6;
  426. }
  427. // Response message for [AutoMl.ListModels][google.cloud.automl.v1.AutoMl.ListModels].
  428. message ListModelsResponse {
  429. // List of models in the requested page.
  430. repeated Model model = 1;
  431. // A token to retrieve next page of results.
  432. // Pass to [ListModelsRequest.page_token][google.cloud.automl.v1.ListModelsRequest.page_token] to obtain that page.
  433. string next_page_token = 2;
  434. }
  435. // Request message for [AutoMl.DeleteModel][google.cloud.automl.v1.AutoMl.DeleteModel].
  436. message DeleteModelRequest {
  437. // Required. Resource name of the model being deleted.
  438. string name = 1 [
  439. (google.api.field_behavior) = REQUIRED,
  440. (google.api.resource_reference) = {
  441. type: "automl.googleapis.com/Model"
  442. }
  443. ];
  444. }
  445. // Request message for [AutoMl.UpdateModel][google.cloud.automl.v1.AutoMl.UpdateModel]
  446. message UpdateModelRequest {
  447. // Required. The model which replaces the resource on the server.
  448. Model model = 1 [(google.api.field_behavior) = REQUIRED];
  449. // Required. The update mask applies to the resource.
  450. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  451. }
  452. // Request message for [AutoMl.DeployModel][google.cloud.automl.v1.AutoMl.DeployModel].
  453. message DeployModelRequest {
  454. // The per-domain specific deployment parameters.
  455. oneof model_deployment_metadata {
  456. // Model deployment metadata specific to Image Object Detection.
  457. ImageObjectDetectionModelDeploymentMetadata image_object_detection_model_deployment_metadata = 2;
  458. // Model deployment metadata specific to Image Classification.
  459. ImageClassificationModelDeploymentMetadata image_classification_model_deployment_metadata = 4;
  460. }
  461. // Required. Resource name of the model to deploy.
  462. string name = 1 [
  463. (google.api.field_behavior) = REQUIRED,
  464. (google.api.resource_reference) = {
  465. type: "automl.googleapis.com/Model"
  466. }
  467. ];
  468. }
  469. // Request message for [AutoMl.UndeployModel][google.cloud.automl.v1.AutoMl.UndeployModel].
  470. message UndeployModelRequest {
  471. // Required. Resource name of the model to undeploy.
  472. string name = 1 [
  473. (google.api.field_behavior) = REQUIRED,
  474. (google.api.resource_reference) = {
  475. type: "automl.googleapis.com/Model"
  476. }
  477. ];
  478. }
  479. // Request message for [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel].
  480. // Models need to be enabled for exporting, otherwise an error code will be
  481. // returned.
  482. message ExportModelRequest {
  483. // Required. The resource name of the model to export.
  484. string name = 1 [
  485. (google.api.field_behavior) = REQUIRED,
  486. (google.api.resource_reference) = {
  487. type: "automl.googleapis.com/Model"
  488. }
  489. ];
  490. // Required. The desired output location and configuration.
  491. ModelExportOutputConfig output_config = 3 [(google.api.field_behavior) = REQUIRED];
  492. }
  493. // Request message for [AutoMl.GetModelEvaluation][google.cloud.automl.v1.AutoMl.GetModelEvaluation].
  494. message GetModelEvaluationRequest {
  495. // Required. Resource name for the model evaluation.
  496. string name = 1 [
  497. (google.api.field_behavior) = REQUIRED,
  498. (google.api.resource_reference) = {
  499. type: "automl.googleapis.com/ModelEvaluation"
  500. }
  501. ];
  502. }
  503. // Request message for [AutoMl.ListModelEvaluations][google.cloud.automl.v1.AutoMl.ListModelEvaluations].
  504. message ListModelEvaluationsRequest {
  505. // Required. Resource name of the model to list the model evaluations for.
  506. // If modelId is set as "-", this will list model evaluations from across all
  507. // models of the parent location.
  508. string parent = 1 [
  509. (google.api.field_behavior) = REQUIRED,
  510. (google.api.resource_reference) = {
  511. type: "automl.googleapis.com/Model"
  512. }
  513. ];
  514. // Required. An expression for filtering the results of the request.
  515. //
  516. // * `annotation_spec_id` - for =, != or existence. See example below for
  517. // the last.
  518. //
  519. // Some examples of using the filter are:
  520. //
  521. // * `annotation_spec_id!=4` --> The model evaluation was done for
  522. // annotation spec with ID different than 4.
  523. // * `NOT annotation_spec_id:*` --> The model evaluation was done for
  524. // aggregate of all annotation specs.
  525. string filter = 3 [(google.api.field_behavior) = REQUIRED];
  526. // Requested page size.
  527. int32 page_size = 4;
  528. // A token identifying a page of results for the server to return.
  529. // Typically obtained via
  530. // [ListModelEvaluationsResponse.next_page_token][google.cloud.automl.v1.ListModelEvaluationsResponse.next_page_token] of the previous
  531. // [AutoMl.ListModelEvaluations][google.cloud.automl.v1.AutoMl.ListModelEvaluations] call.
  532. string page_token = 6;
  533. }
  534. // Response message for [AutoMl.ListModelEvaluations][google.cloud.automl.v1.AutoMl.ListModelEvaluations].
  535. message ListModelEvaluationsResponse {
  536. // List of model evaluations in the requested page.
  537. repeated ModelEvaluation model_evaluation = 1;
  538. // A token to retrieve next page of results.
  539. // Pass to the [ListModelEvaluationsRequest.page_token][google.cloud.automl.v1.ListModelEvaluationsRequest.page_token] field of a new
  540. // [AutoMl.ListModelEvaluations][google.cloud.automl.v1.AutoMl.ListModelEvaluations] request to obtain that page.
  541. string next_page_token = 2;
  542. }