# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/datalabeling/v1beta1/data_labeling_service.proto for package 'Google.Cloud.DataLabeling.V1beta1'
# Original file comments:
# Copyright 2024 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.
#
#

require 'grpc'
require 'google/cloud/datalabeling/v1beta1/data_labeling_service_pb'

module Google
  module Cloud
    module DataLabeling
      module V1beta1
        module DataLabelingService
          # Service for the AI Platform Data Labeling API.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.datalabeling.v1beta1.DataLabelingService'

            # Creates dataset. If success return a Dataset resource.
            rpc :CreateDataset, ::Google::Cloud::DataLabeling::V1beta1::CreateDatasetRequest, ::Google::Cloud::DataLabeling::V1beta1::Dataset
            # Gets dataset by resource name.
            rpc :GetDataset, ::Google::Cloud::DataLabeling::V1beta1::GetDatasetRequest, ::Google::Cloud::DataLabeling::V1beta1::Dataset
            # Lists datasets under a project. Pagination is supported.
            rpc :ListDatasets, ::Google::Cloud::DataLabeling::V1beta1::ListDatasetsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListDatasetsResponse
            # Deletes a dataset by resource name.
            rpc :DeleteDataset, ::Google::Cloud::DataLabeling::V1beta1::DeleteDatasetRequest, ::Google::Protobuf::Empty
            # Imports data into dataset based on source locations defined in request.
            # It can be called multiple times for the same dataset. Each dataset can
            # only have one long running operation running on it. For example, no
            # labeling task (also long running operation) can be started while
            # importing is still ongoing. Vice versa.
            rpc :ImportData, ::Google::Cloud::DataLabeling::V1beta1::ImportDataRequest, ::Google::Longrunning::Operation
            # Exports data and annotations from dataset.
            rpc :ExportData, ::Google::Cloud::DataLabeling::V1beta1::ExportDataRequest, ::Google::Longrunning::Operation
            # Gets a data item in a dataset by resource name. This API can be
            # called after data are imported into dataset.
            rpc :GetDataItem, ::Google::Cloud::DataLabeling::V1beta1::GetDataItemRequest, ::Google::Cloud::DataLabeling::V1beta1::DataItem
            # Lists data items in a dataset. This API can be called after data
            # are imported into dataset. Pagination is supported.
            rpc :ListDataItems, ::Google::Cloud::DataLabeling::V1beta1::ListDataItemsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListDataItemsResponse
            # Gets an annotated dataset by resource name.
            rpc :GetAnnotatedDataset, ::Google::Cloud::DataLabeling::V1beta1::GetAnnotatedDatasetRequest, ::Google::Cloud::DataLabeling::V1beta1::AnnotatedDataset
            # Lists annotated datasets for a dataset. Pagination is supported.
            rpc :ListAnnotatedDatasets, ::Google::Cloud::DataLabeling::V1beta1::ListAnnotatedDatasetsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListAnnotatedDatasetsResponse
            # Deletes an annotated dataset by resource name.
            rpc :DeleteAnnotatedDataset, ::Google::Cloud::DataLabeling::V1beta1::DeleteAnnotatedDatasetRequest, ::Google::Protobuf::Empty
            # Starts a labeling task for image. The type of image labeling task is
            # configured by feature in the request.
            rpc :LabelImage, ::Google::Cloud::DataLabeling::V1beta1::LabelImageRequest, ::Google::Longrunning::Operation
            # Starts a labeling task for video. The type of video labeling task is
            # configured by feature in the request.
            rpc :LabelVideo, ::Google::Cloud::DataLabeling::V1beta1::LabelVideoRequest, ::Google::Longrunning::Operation
            # Starts a labeling task for text. The type of text labeling task is
            # configured by feature in the request.
            rpc :LabelText, ::Google::Cloud::DataLabeling::V1beta1::LabelTextRequest, ::Google::Longrunning::Operation
            # Gets an example by resource name, including both data and annotation.
            rpc :GetExample, ::Google::Cloud::DataLabeling::V1beta1::GetExampleRequest, ::Google::Cloud::DataLabeling::V1beta1::Example
            # Lists examples in an annotated dataset. Pagination is supported.
            rpc :ListExamples, ::Google::Cloud::DataLabeling::V1beta1::ListExamplesRequest, ::Google::Cloud::DataLabeling::V1beta1::ListExamplesResponse
            # Creates an annotation spec set by providing a set of labels.
            rpc :CreateAnnotationSpecSet, ::Google::Cloud::DataLabeling::V1beta1::CreateAnnotationSpecSetRequest, ::Google::Cloud::DataLabeling::V1beta1::AnnotationSpecSet
            # Gets an annotation spec set by resource name.
            rpc :GetAnnotationSpecSet, ::Google::Cloud::DataLabeling::V1beta1::GetAnnotationSpecSetRequest, ::Google::Cloud::DataLabeling::V1beta1::AnnotationSpecSet
            # Lists annotation spec sets for a project. Pagination is supported.
            rpc :ListAnnotationSpecSets, ::Google::Cloud::DataLabeling::V1beta1::ListAnnotationSpecSetsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListAnnotationSpecSetsResponse
            # Deletes an annotation spec set by resource name.
            rpc :DeleteAnnotationSpecSet, ::Google::Cloud::DataLabeling::V1beta1::DeleteAnnotationSpecSetRequest, ::Google::Protobuf::Empty
            # Creates an instruction for how data should be labeled.
            rpc :CreateInstruction, ::Google::Cloud::DataLabeling::V1beta1::CreateInstructionRequest, ::Google::Longrunning::Operation
            # Gets an instruction by resource name.
            rpc :GetInstruction, ::Google::Cloud::DataLabeling::V1beta1::GetInstructionRequest, ::Google::Cloud::DataLabeling::V1beta1::Instruction
            # Lists instructions for a project. Pagination is supported.
            rpc :ListInstructions, ::Google::Cloud::DataLabeling::V1beta1::ListInstructionsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListInstructionsResponse
            # Deletes an instruction object by resource name.
            rpc :DeleteInstruction, ::Google::Cloud::DataLabeling::V1beta1::DeleteInstructionRequest, ::Google::Protobuf::Empty
            # Gets an evaluation by resource name (to search, use
            # [projects.evaluations.search][google.cloud.datalabeling.v1beta1.DataLabelingService.SearchEvaluations]).
            rpc :GetEvaluation, ::Google::Cloud::DataLabeling::V1beta1::GetEvaluationRequest, ::Google::Cloud::DataLabeling::V1beta1::Evaluation
            # Searches [evaluations][google.cloud.datalabeling.v1beta1.Evaluation] within a project.
            rpc :SearchEvaluations, ::Google::Cloud::DataLabeling::V1beta1::SearchEvaluationsRequest, ::Google::Cloud::DataLabeling::V1beta1::SearchEvaluationsResponse
            # Searches example comparisons from an evaluation. The return format is a
            # list of example comparisons that show ground truth and prediction(s) for
            # a single input. Search by providing an evaluation ID.
            rpc :SearchExampleComparisons, ::Google::Cloud::DataLabeling::V1beta1::SearchExampleComparisonsRequest, ::Google::Cloud::DataLabeling::V1beta1::SearchExampleComparisonsResponse
            # Creates an evaluation job.
            rpc :CreateEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::CreateEvaluationJobRequest, ::Google::Cloud::DataLabeling::V1beta1::EvaluationJob
            # Updates an evaluation job. You can only update certain fields of the job's
            # [EvaluationJobConfig][google.cloud.datalabeling.v1beta1.EvaluationJobConfig]: `humanAnnotationConfig.instruction`,
            # `exampleCount`, and `exampleSamplePercentage`.
            #
            # If you want to change any other aspect of the evaluation job, you must
            # delete the job and create a new one.
            rpc :UpdateEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::UpdateEvaluationJobRequest, ::Google::Cloud::DataLabeling::V1beta1::EvaluationJob
            # Gets an evaluation job by resource name.
            rpc :GetEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::GetEvaluationJobRequest, ::Google::Cloud::DataLabeling::V1beta1::EvaluationJob
            # Pauses an evaluation job. Pausing an evaluation job that is already in a
            # `PAUSED` state is a no-op.
            rpc :PauseEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::PauseEvaluationJobRequest, ::Google::Protobuf::Empty
            # Resumes a paused evaluation job. A deleted evaluation job can't be resumed.
            # Resuming a running or scheduled evaluation job is a no-op.
            rpc :ResumeEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::ResumeEvaluationJobRequest, ::Google::Protobuf::Empty
            # Stops and deletes an evaluation job.
            rpc :DeleteEvaluationJob, ::Google::Cloud::DataLabeling::V1beta1::DeleteEvaluationJobRequest, ::Google::Protobuf::Empty
            # Lists all evaluation jobs within a project with possible filters.
            # Pagination is supported.
            rpc :ListEvaluationJobs, ::Google::Cloud::DataLabeling::V1beta1::ListEvaluationJobsRequest, ::Google::Cloud::DataLabeling::V1beta1::ListEvaluationJobsResponse
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
