You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kratos/third_party/google/cloud/automl/v1beta1/service.proto

641 lines
24 KiB

// Copyright 2018 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
syntax = "proto3";
package google.cloud.automl.v1beta1;
import "google/api/annotations.proto";
import "google/cloud/automl/v1beta1/annotation_payload.proto";
import "google/cloud/automl/v1beta1/column_spec.proto";
import "google/cloud/automl/v1beta1/dataset.proto";
import "google/cloud/automl/v1beta1/image.proto";
import "google/cloud/automl/v1beta1/io.proto";
import "google/cloud/automl/v1beta1/model.proto";
import "google/cloud/automl/v1beta1/model_evaluation.proto";
import "google/cloud/automl/v1beta1/operations.proto";
import "google/cloud/automl/v1beta1/table_spec.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/field_mask.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/automl/v1beta1;automl";
option java_multiple_files = true;
option java_outer_classname = "AutoMlProto";
option java_package = "com.google.cloud.automl.v1beta1";
option php_namespace = "Google\\Cloud\\AutoMl\\V1beta1";
// AutoML Server API.
//
// The resource names are assigned by the server.
// The server never reuses names that it has created after the resources with
// those names are deleted.
//
// An ID of a resource is the last element of the item's resource name. For
// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`, then
// the id for the item is `{dataset_id}`.
//
// Currently the only supported `location_id` is "us-central1".
//
// On any input that is documented to expect a string parameter in
// snake_case or kebab-case, either of those cases is accepted.
service AutoMl {
// Creates a dataset.
rpc CreateDataset(CreateDatasetRequest) returns (Dataset) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/datasets"
body: "dataset"
};
}
// Gets a dataset.
rpc GetDataset(GetDatasetRequest) returns (Dataset) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/datasets/*}"
};
}
// Lists datasets in a project.
rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*}/datasets"
};
}
// Updates a dataset.
rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
option (google.api.http) = {
patch: "/v1beta1/{dataset.name=projects/*/locations/*/datasets/*}"
body: "dataset"
};
}
// Deletes a dataset and all of its contents.
// Returns empty response in the
// [response][google.longrunning.Operation.response] field when it completes,
// and `delete_details` in the
// [metadata][google.longrunning.Operation.metadata] field.
rpc DeleteDataset(DeleteDatasetRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/datasets/*}"
};
}
// Imports data into a dataset. For Tables this method can only be called on an empty Dataset.
//
// For Tables:
// * A
// [schema_inference_version][google.cloud.automl.v1beta1.InputConfig.params]
// parameter must be explicitly set.
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc ImportData(ImportDataRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/datasets/*}:importData"
body: "*"
};
}
// Exports dataset's data to the provided output location.
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc ExportData(ExportDataRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/datasets/*}:exportData"
body: "*"
};
}
// Gets an annotation spec.
rpc GetAnnotationSpec(GetAnnotationSpecRequest) returns (AnnotationSpec) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}"
};
}
// Gets a table spec.
rpc GetTableSpec(GetTableSpecRequest) returns (TableSpec) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/datasets/*/tableSpecs/*}"
};
}
// Lists table specs in a dataset.
rpc ListTableSpecs(ListTableSpecsRequest) returns (ListTableSpecsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/datasets/*}/tableSpecs"
};
}
// Updates a table spec.
rpc UpdateTableSpec(UpdateTableSpecRequest) returns (TableSpec) {
option (google.api.http) = {
patch: "/v1beta1/{table_spec.name=projects/*/locations/*/datasets/*/tableSpecs/*}"
body: "table_spec"
};
}
// Gets a column spec.
rpc GetColumnSpec(GetColumnSpecRequest) returns (ColumnSpec) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/datasets/*/tableSpecs/*/columnSpecs/*}"
};
}
// Lists column specs in a table spec.
rpc ListColumnSpecs(ListColumnSpecsRequest) returns (ListColumnSpecsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/datasets/*/tableSpecs/*}/columnSpecs"
};
}
// Updates a column spec.
rpc UpdateColumnSpec(UpdateColumnSpecRequest) returns (ColumnSpec) {
option (google.api.http) = {
patch: "/v1beta1/{column_spec.name=projects/*/locations/*/datasets/*/tableSpecs/*/columnSpecs/*}"
body: "column_spec"
};
}
// Creates a model.
// Returns a Model in the [response][google.longrunning.Operation.response]
// field when it completes.
// When you create a model, several model evaluations are created for it:
// a global evaluation, and one evaluation for each annotation spec.
rpc CreateModel(CreateModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/models"
body: "model"
};
}
// Gets a model.
rpc GetModel(GetModelRequest) returns (Model) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/models/*}"
};
}
// Lists models.
rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*}/models"
};
}
// Deletes a model.
// Returns `google.protobuf.Empty` in the
// [response][google.longrunning.Operation.response] field when it completes,
// and `delete_details` in the
// [metadata][google.longrunning.Operation.metadata] field.
rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/models/*}"
};
}
// Deploys a model. If a model is already deployed, deploying it with the
// same parameters has no effect. Deploying with different parametrs
// (as e.g. changing
//
// [node_number][google.cloud.automl.v1beta1.ImageObjectDetectionModelDeploymentMetadata.node_number]
// ) will update the deployment without pausing the model's availability.
//
// Only applicable for Text Classification, Image Object Detection and Tables;
// all other domains manage deployment automatically.
//
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc DeployModel(DeployModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/models/*}:deploy"
body: "*"
};
}
// Undeploys a model. If the model is not deployed this method has no effect.
//
// Only applicable for Text Classification, Image Object Detection and Tables;
// all other domains manage deployment automatically.
//
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc UndeployModel(UndeployModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/models/*}:undeploy"
body: "*"
};
}
// Exports a trained, "export-able", model to a user specified Google Cloud
// Storage location. A model is considered export-able if and only if it has
// an export format defined for it in
//
// [ModelExportOutputConfig][google.cloud.automl.v1beta1.ModelExportOutputConfig].
//
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc ExportModel(ExportModelRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/models/*}:export"
body: "*"
};
}
// Exports examples on which the model was evaluated (i.e. which were in the
// TEST set of the dataset the model was created from), together with their
// ground truth annotations and the annotations created (predicted) by the
// model.
// The examples, ground truth and predictions are exported in the state
// they were at the moment the model was evaluated.
//
// This export is available only for 30 days since the model evaluation is
// created.
//
// Currently only available for Tables.
//
// Returns an empty response in the
// [response][google.longrunning.Operation.response] field when it completes.
rpc ExportEvaluatedExamples(ExportEvaluatedExamplesRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/models/*}:exportEvaluatedExamples"
body: "*"
};
}
// Gets a model evaluation.
rpc GetModelEvaluation(GetModelEvaluationRequest) returns (ModelEvaluation) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/models/*/modelEvaluations/*}"
};
}
// Lists model evaluations.
rpc ListModelEvaluations(ListModelEvaluationsRequest) returns (ListModelEvaluationsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/models/*}/modelEvaluations"
};
}
}
// Request message for [AutoMl.CreateDataset][google.cloud.automl.v1beta1.AutoMl.CreateDataset].
message CreateDatasetRequest {
// The resource name of the project to create the dataset for.
string parent = 1;
// The dataset to create.
Dataset dataset = 2;
}
// Request message for [AutoMl.GetDataset][google.cloud.automl.v1beta1.AutoMl.GetDataset].
message GetDatasetRequest {
// The resource name of the dataset to retrieve.
string name = 1;
}
// Request message for [AutoMl.ListDatasets][google.cloud.automl.v1beta1.AutoMl.ListDatasets].
message ListDatasetsRequest {
// The resource name of the project from which to list datasets.
string parent = 1;
// An expression for filtering the results of the request.
//
// * `dataset_metadata` - for existence of the case (e.g.
// image_classification_dataset_metadata:*). Some examples of using the filter are:
//
// * `translation_dataset_metadata:*` --> The dataset has
// translation_dataset_metadata.
string filter = 3;
// Requested page size. Server may return fewer results than requested.
// If unspecified, server will pick a default size.
int32 page_size = 4;
// A token identifying a page of results for the server to return
// Typically obtained via
// [ListDatasetsResponse.next_page_token][google.cloud.automl.v1beta1.ListDatasetsResponse.next_page_token] of the previous
// [AutoMl.ListDatasets][google.cloud.automl.v1beta1.AutoMl.ListDatasets] call.
string page_token = 6;
}
// Response message for [AutoMl.ListDatasets][google.cloud.automl.v1beta1.AutoMl.ListDatasets].
message ListDatasetsResponse {
// The datasets read.
repeated Dataset datasets = 1;
// A token to retrieve next page of results.
// Pass to [ListDatasetsRequest.page_token][google.cloud.automl.v1beta1.ListDatasetsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [AutoMl.UpdateDataset][google.cloud.automl.v1beta1.AutoMl.UpdateDataset]
message UpdateDatasetRequest {
// The dataset which replaces the resource on the server.
Dataset dataset = 1;
// The update mask applies to the resource. For the `FieldMask` definition,
// see
//
// https:
// //developers.google.com/protocol-buffers
// // /docs/reference/google.protobuf#fieldmask
google.protobuf.FieldMask update_mask = 2;
}
// Request message for [AutoMl.DeleteDataset][google.cloud.automl.v1beta1.AutoMl.DeleteDataset].
message DeleteDatasetRequest {
// The resource name of the dataset to delete.
string name = 1;
}
// Request message for [AutoMl.ImportData][google.cloud.automl.v1beta1.AutoMl.ImportData].
message ImportDataRequest {
// Required. Dataset name. Dataset must already exist. All imported
// annotations and examples will be added.
string name = 1;
// Required. The desired input location and its domain specific semantics,
// if any.
InputConfig input_config = 3;
}
// Request message for [AutoMl.ExportData][google.cloud.automl.v1beta1.AutoMl.ExportData].
message ExportDataRequest {
// Required. The resource name of the dataset.
string name = 1;
// Required. The desired output location.
OutputConfig output_config = 3;
}
// Request message for [AutoMl.GetAnnotationSpec][google.cloud.automl.v1beta1.AutoMl.GetAnnotationSpec].
message GetAnnotationSpecRequest {
// The resource name of the annotation spec to retrieve.
string name = 1;
}
// Request message for [AutoMl.GetTableSpec][google.cloud.automl.v1beta1.AutoMl.GetTableSpec].
message GetTableSpecRequest {
// The resource name of the table spec to retrieve.
string name = 1;
// Mask specifying which fields to read.
google.protobuf.FieldMask field_mask = 2;
}
// Request message for [AutoMl.ListTableSpecs][google.cloud.automl.v1beta1.AutoMl.ListTableSpecs].
message ListTableSpecsRequest {
// The resource name of the dataset to list table specs from.
string parent = 1;
// Mask specifying which fields to read.
google.protobuf.FieldMask field_mask = 2;
// Filter expression, see go/filtering.
string filter = 3;
// Requested page size. The server can return fewer results than requested.
// If unspecified, the server will pick a default size.
int32 page_size = 4;
// A token identifying a page of results for the server to return.
// Typically obtained from the
// [ListTableSpecsResponse.next_page_token][google.cloud.automl.v1beta1.ListTableSpecsResponse.next_page_token] field of the previous
// [AutoMl.ListTableSpecs][google.cloud.automl.v1beta1.AutoMl.ListTableSpecs] call.
string page_token = 6;
}
// Response message for [AutoMl.ListTableSpecs][google.cloud.automl.v1beta1.AutoMl.ListTableSpecs].
message ListTableSpecsResponse {
// The table specs read.
repeated TableSpec table_specs = 1;
// A token to retrieve next page of results.
// Pass to [ListTableSpecsRequest.page_token][google.cloud.automl.v1beta1.ListTableSpecsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [AutoMl.UpdateTableSpec][google.cloud.automl.v1beta1.AutoMl.UpdateTableSpec]
message UpdateTableSpecRequest {
// The table spec which replaces the resource on the server.
TableSpec table_spec = 1;
// The update mask applies to the resource. For the `FieldMask` definition,
// see
//
// https:
// //developers.google.com/protocol-buffers
// // /docs/reference/google.protobuf#fieldmask
google.protobuf.FieldMask update_mask = 2;
}
// Request message for [AutoMl.GetColumnSpec][google.cloud.automl.v1beta1.AutoMl.GetColumnSpec].
message GetColumnSpecRequest {
// The resource name of the column spec to retrieve.
string name = 1;
// Mask specifying which fields to read.
google.protobuf.FieldMask field_mask = 2;
}
// Request message for [AutoMl.ListColumnSpecs][google.cloud.automl.v1beta1.AutoMl.ListColumnSpecs].
message ListColumnSpecsRequest {
// The resource name of the table spec to list column specs from.
string parent = 1;
// Mask specifying which fields to read.
google.protobuf.FieldMask field_mask = 2;
// Filter expression, see go/filtering.
string filter = 3;
// Requested page size. The server can return fewer results than requested.
// If unspecified, the server will pick a default size.
int32 page_size = 4;
// A token identifying a page of results for the server to return.
// Typically obtained from the
// [ListColumnSpecsResponse.next_page_token][google.cloud.automl.v1beta1.ListColumnSpecsResponse.next_page_token] field of the previous
// [AutoMl.ListColumnSpecs][google.cloud.automl.v1beta1.AutoMl.ListColumnSpecs] call.
string page_token = 6;
}
// Response message for [AutoMl.ListColumnSpecs][google.cloud.automl.v1beta1.AutoMl.ListColumnSpecs].
message ListColumnSpecsResponse {
// The column specs read.
repeated ColumnSpec column_specs = 1;
// A token to retrieve next page of results.
// Pass to [ListColumnSpecsRequest.page_token][google.cloud.automl.v1beta1.ListColumnSpecsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [AutoMl.UpdateColumnSpec][google.cloud.automl.v1beta1.AutoMl.UpdateColumnSpec]
message UpdateColumnSpecRequest {
// The column spec which replaces the resource on the server.
ColumnSpec column_spec = 1;
// The update mask applies to the resource. For the `FieldMask` definition,
// see
//
// https:
// //developers.google.com/protocol-buffers
// // /docs/reference/google.protobuf#fieldmask
google.protobuf.FieldMask update_mask = 2;
}
// Request message for [AutoMl.CreateModel][google.cloud.automl.v1beta1.AutoMl.CreateModel].
message CreateModelRequest {
// Resource name of the parent project where the model is being created.
string parent = 1;
// The model to create.
Model model = 4;
}
// Request message for [AutoMl.GetModel][google.cloud.automl.v1beta1.AutoMl.GetModel].
message GetModelRequest {
// Resource name of the model.
string name = 1;
}
// Request message for [AutoMl.ListModels][google.cloud.automl.v1beta1.AutoMl.ListModels].
message ListModelsRequest {
// Resource name of the project, from which to list the models.
string parent = 1;
// An expression for filtering the results of the request.
//
// * `model_metadata` - for existence of the case (e.g.
// video_classification_model_metadata:*).
// * `dataset_id` - for = or !=. Some examples of using the filter are:
//
// * `image_classification_model_metadata:*` --> The model has
// image_classification_model_metadata.
// * `dataset_id=5` --> The model was created from a dataset with ID 5.
string filter = 3;
// Requested page size.
int32 page_size = 4;
// A token identifying a page of results for the server to return
// Typically obtained via
// [ListModelsResponse.next_page_token][google.cloud.automl.v1beta1.ListModelsResponse.next_page_token] of the previous
// [AutoMl.ListModels][google.cloud.automl.v1beta1.AutoMl.ListModels] call.
string page_token = 6;
}
// Response message for [AutoMl.ListModels][google.cloud.automl.v1beta1.AutoMl.ListModels].
message ListModelsResponse {
// List of models in the requested page.
repeated Model model = 1;
// A token to retrieve next page of results.
// Pass to [ListModelsRequest.page_token][google.cloud.automl.v1beta1.ListModelsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
// Request message for [AutoMl.DeleteModel][google.cloud.automl.v1beta1.AutoMl.DeleteModel].
message DeleteModelRequest {
// Resource name of the model being deleted.
string name = 1;
}
// Request message for [AutoMl.DeployModel][google.cloud.automl.v1beta1.AutoMl.DeployModel].
message DeployModelRequest {
// The per-domain specific deployment parameters.
oneof model_deployment_metadata {
// Model deployment metadata specific to Image Object Detection.
ImageObjectDetectionModelDeploymentMetadata image_object_detection_model_deployment_metadata = 2;
}
// Resource name of the model to deploy.
string name = 1;
}
// Request message for [AutoMl.UndeployModel][google.cloud.automl.v1beta1.AutoMl.UndeployModel].
message UndeployModelRequest {
// Resource name of the model to undeploy.
string name = 1;
}
// Request message for [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel].
// Models need to be enabled for exporting, otherwise an error code will be
// returned.
message ExportModelRequest {
// Required. The resource name of the model to export.
string name = 1;
// Required. The desired output location and configuration.
ModelExportOutputConfig output_config = 3;
}
// Request message for [AutoMl.ExportEvaluatedExamples][google.cloud.automl.v1beta1.AutoMl.ExportEvaluatedExamples].
message ExportEvaluatedExamplesRequest {
// Required. The resource name of the model whose evaluated examples are to
// be exported.
string name = 1;
// Required. The desired output location and configuration.
ExportEvaluatedExamplesOutputConfig output_config = 3;
}
// Request message for [AutoMl.GetModelEvaluation][google.cloud.automl.v1beta1.AutoMl.GetModelEvaluation].
message GetModelEvaluationRequest {
// Resource name for the model evaluation.
string name = 1;
}
// Request message for [AutoMl.ListModelEvaluations][google.cloud.automl.v1beta1.AutoMl.ListModelEvaluations].
message ListModelEvaluationsRequest {
// Resource name of the model to list the model evaluations for.
// If modelId is set as "-", this will list model evaluations from across all
// models of the parent location.
string parent = 1;
// An expression for filtering the results of the request.
//
// * `annotation_spec_id` - for =, != or existence. See example below for
// the last.
//
// Some examples of using the filter are:
//
// * `annotation_spec_id!=4` --> The model evaluation was done for
// annotation spec with ID different than 4.
// * `NOT annotation_spec_id:*` --> The model evaluation was done for
// aggregate of all annotation specs.
string filter = 3;
// Requested page size.
int32 page_size = 4;
// A token identifying a page of results for the server to return.
// Typically obtained via
// [ListModelEvaluationsResponse.next_page_token][google.cloud.automl.v1beta1.ListModelEvaluationsResponse.next_page_token] of the previous
// [AutoMl.ListModelEvaluations][google.cloud.automl.v1beta1.AutoMl.ListModelEvaluations] call.
string page_token = 6;
}
// Response message for [AutoMl.ListModelEvaluations][google.cloud.automl.v1beta1.AutoMl.ListModelEvaluations].
message ListModelEvaluationsResponse {
// List of model evaluations in the requested page.
repeated ModelEvaluation model_evaluation = 1;
// A token to retrieve next page of results.
// Pass to the [ListModelEvaluationsRequest.page_token][google.cloud.automl.v1beta1.ListModelEvaluationsRequest.page_token] field of a new
// [AutoMl.ListModelEvaluations][google.cloud.automl.v1beta1.AutoMl.ListModelEvaluations] request to obtain that page.
string next_page_token = 2;
}