# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/channel/v1/reports_service.proto for package 'google.cloud.channel.v1'
# Original file comments:
# Copyright 2022 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/channel/v1/reports_service_pb'

module Google
  module Cloud
    module Channel
      module V1
        module CloudChannelReportsService
          # CloudChannelReportsService lets Google Cloud resellers and
          # distributors retrieve and combine a variety of data in Cloud Channel for
          # multiple products (Google Cloud, Google Voice, and Google Workspace.)
          #
          # Deprecated: This service is being deprecated. Please use [Export Channel
          # Services data to
          # BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery)
          # instead.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.channel.v1.CloudChannelReportsService'

            # Begins generation of data for a given report. The report
            # identifier is a UID (for example, `613bf59q`).
            #
            # Possible error codes:
            #
            # * PERMISSION_DENIED: The user doesn't have access to this report.
            # * INVALID_ARGUMENT: Required request parameters are missing
            #   or invalid.
            # * NOT_FOUND: The report identifier was not found.
            # * INTERNAL: Any non-user error related to a technical issue
            #   in the backend. Contact Cloud Channel support.
            # * UNKNOWN: Any non-user error related to a technical issue
            #   in the backend. Contact Cloud Channel support.
            #
            # Return value:
            # The ID of a long-running operation.
            #
            # To get the results of the operation, call the GetOperation method of
            # CloudChannelOperationsService. The Operation metadata contains an
            # instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
            #
            # To get the results of report generation, call
            # [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults]
            # with the
            # [RunReportJobResponse.report_job][google.cloud.channel.v1.RunReportJobResponse.report_job].
            #
            # Deprecated: Please use [Export Channel Services data to
            # BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery)
            # instead.
            rpc :RunReportJob, ::Google::Cloud::Channel::V1::RunReportJobRequest, ::Google::Longrunning::Operation
            # Retrieves data generated by
            # [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob].
            #
            # Deprecated: Please use [Export Channel Services data to
            # BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery)
            # instead.
            rpc :FetchReportResults, ::Google::Cloud::Channel::V1::FetchReportResultsRequest, ::Google::Cloud::Channel::V1::FetchReportResultsResponse
            # Lists the reports that RunReportJob can run. These reports include an ID,
            # a description, and the list of columns that will be in the result.
            #
            # Deprecated: Please use [Export Channel Services data to
            # BigQuery](https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery)
            # instead.
            rpc :ListReports, ::Google::Cloud::Channel::V1::ListReportsRequest, ::Google::Cloud::Channel::V1::ListReportsResponse
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
