# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/contactcenterinsights/v1/contact_center_insights.proto for package 'Google.Cloud.ContactCenterInsights.V1'
# Original file comments:
# Copyright 2021 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/contactcenterinsights/v1/contact_center_insights_pb'

module Google
  module Cloud
    module ContactCenterInsights
      module V1
        module ContactCenterInsights
          # An API that lets users analyze and explore their business conversation data.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.contactcenterinsights.v1.ContactCenterInsights'

            # Creates a conversation.
            # Note that this method does not support audio transcription or redaction.
            # Use `conversations.upload` instead.
            rpc :CreateConversation, ::Google::Cloud::ContactCenterInsights::V1::CreateConversationRequest, ::Google::Cloud::ContactCenterInsights::V1::Conversation
            # Create a long-running conversation upload operation. This method differs
            # from `CreateConversation` by allowing audio transcription and optional DLP
            # redaction.
            rpc :UploadConversation, ::Google::Cloud::ContactCenterInsights::V1::UploadConversationRequest, ::Google::Longrunning::Operation
            # Updates a conversation.
            rpc :UpdateConversation, ::Google::Cloud::ContactCenterInsights::V1::UpdateConversationRequest, ::Google::Cloud::ContactCenterInsights::V1::Conversation
            # Gets a conversation.
            rpc :GetConversation, ::Google::Cloud::ContactCenterInsights::V1::GetConversationRequest, ::Google::Cloud::ContactCenterInsights::V1::Conversation
            # Lists conversations.
            rpc :ListConversations, ::Google::Cloud::ContactCenterInsights::V1::ListConversationsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListConversationsResponse
            # Deletes a conversation.
            rpc :DeleteConversation, ::Google::Cloud::ContactCenterInsights::V1::DeleteConversationRequest, ::Google::Protobuf::Empty
            # Creates an analysis. The long running operation is done when the analysis
            # has completed.
            rpc :CreateAnalysis, ::Google::Cloud::ContactCenterInsights::V1::CreateAnalysisRequest, ::Google::Longrunning::Operation
            # Gets an analysis.
            rpc :GetAnalysis, ::Google::Cloud::ContactCenterInsights::V1::GetAnalysisRequest, ::Google::Cloud::ContactCenterInsights::V1::Analysis
            # Lists analyses.
            rpc :ListAnalyses, ::Google::Cloud::ContactCenterInsights::V1::ListAnalysesRequest, ::Google::Cloud::ContactCenterInsights::V1::ListAnalysesResponse
            # Deletes an analysis.
            rpc :DeleteAnalysis, ::Google::Cloud::ContactCenterInsights::V1::DeleteAnalysisRequest, ::Google::Protobuf::Empty
            # Analyzes multiple conversations in a single request.
            rpc :BulkAnalyzeConversations, ::Google::Cloud::ContactCenterInsights::V1::BulkAnalyzeConversationsRequest, ::Google::Longrunning::Operation
            # Deletes multiple conversations in a single request.
            rpc :BulkDeleteConversations, ::Google::Cloud::ContactCenterInsights::V1::BulkDeleteConversationsRequest, ::Google::Longrunning::Operation
            # Imports conversations and processes them according to the user's
            # configuration.
            rpc :IngestConversations, ::Google::Cloud::ContactCenterInsights::V1::IngestConversationsRequest, ::Google::Longrunning::Operation
            # Export insights data to a destination defined in the request body.
            rpc :ExportInsightsData, ::Google::Cloud::ContactCenterInsights::V1::ExportInsightsDataRequest, ::Google::Longrunning::Operation
            # Creates an issue model.
            rpc :CreateIssueModel, ::Google::Cloud::ContactCenterInsights::V1::CreateIssueModelRequest, ::Google::Longrunning::Operation
            # Updates an issue model.
            rpc :UpdateIssueModel, ::Google::Cloud::ContactCenterInsights::V1::UpdateIssueModelRequest, ::Google::Cloud::ContactCenterInsights::V1::IssueModel
            # Gets an issue model.
            rpc :GetIssueModel, ::Google::Cloud::ContactCenterInsights::V1::GetIssueModelRequest, ::Google::Cloud::ContactCenterInsights::V1::IssueModel
            # Lists issue models.
            rpc :ListIssueModels, ::Google::Cloud::ContactCenterInsights::V1::ListIssueModelsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListIssueModelsResponse
            # Deletes an issue model.
            rpc :DeleteIssueModel, ::Google::Cloud::ContactCenterInsights::V1::DeleteIssueModelRequest, ::Google::Longrunning::Operation
            # Deploys an issue model. Returns an error if a model is already deployed.
            # An issue model can only be used in analysis after it has been deployed.
            rpc :DeployIssueModel, ::Google::Cloud::ContactCenterInsights::V1::DeployIssueModelRequest, ::Google::Longrunning::Operation
            # Undeploys an issue model.
            # An issue model can not be used in analysis after it has been undeployed.
            rpc :UndeployIssueModel, ::Google::Cloud::ContactCenterInsights::V1::UndeployIssueModelRequest, ::Google::Longrunning::Operation
            # Exports an issue model to the provided destination.
            rpc :ExportIssueModel, ::Google::Cloud::ContactCenterInsights::V1::ExportIssueModelRequest, ::Google::Longrunning::Operation
            # Imports an issue model from a Cloud Storage bucket.
            rpc :ImportIssueModel, ::Google::Cloud::ContactCenterInsights::V1::ImportIssueModelRequest, ::Google::Longrunning::Operation
            # Gets an issue.
            rpc :GetIssue, ::Google::Cloud::ContactCenterInsights::V1::GetIssueRequest, ::Google::Cloud::ContactCenterInsights::V1::Issue
            # Lists issues.
            rpc :ListIssues, ::Google::Cloud::ContactCenterInsights::V1::ListIssuesRequest, ::Google::Cloud::ContactCenterInsights::V1::ListIssuesResponse
            # Updates an issue.
            rpc :UpdateIssue, ::Google::Cloud::ContactCenterInsights::V1::UpdateIssueRequest, ::Google::Cloud::ContactCenterInsights::V1::Issue
            # Deletes an issue.
            rpc :DeleteIssue, ::Google::Cloud::ContactCenterInsights::V1::DeleteIssueRequest, ::Google::Protobuf::Empty
            # Gets an issue model's statistics.
            rpc :CalculateIssueModelStats, ::Google::Cloud::ContactCenterInsights::V1::CalculateIssueModelStatsRequest, ::Google::Cloud::ContactCenterInsights::V1::CalculateIssueModelStatsResponse
            # Creates a phrase matcher.
            rpc :CreatePhraseMatcher, ::Google::Cloud::ContactCenterInsights::V1::CreatePhraseMatcherRequest, ::Google::Cloud::ContactCenterInsights::V1::PhraseMatcher
            # Gets a phrase matcher.
            rpc :GetPhraseMatcher, ::Google::Cloud::ContactCenterInsights::V1::GetPhraseMatcherRequest, ::Google::Cloud::ContactCenterInsights::V1::PhraseMatcher
            # Lists phrase matchers.
            rpc :ListPhraseMatchers, ::Google::Cloud::ContactCenterInsights::V1::ListPhraseMatchersRequest, ::Google::Cloud::ContactCenterInsights::V1::ListPhraseMatchersResponse
            # Deletes a phrase matcher.
            rpc :DeletePhraseMatcher, ::Google::Cloud::ContactCenterInsights::V1::DeletePhraseMatcherRequest, ::Google::Protobuf::Empty
            # Updates a phrase matcher.
            rpc :UpdatePhraseMatcher, ::Google::Cloud::ContactCenterInsights::V1::UpdatePhraseMatcherRequest, ::Google::Cloud::ContactCenterInsights::V1::PhraseMatcher
            # Gets conversation statistics.
            rpc :CalculateStats, ::Google::Cloud::ContactCenterInsights::V1::CalculateStatsRequest, ::Google::Cloud::ContactCenterInsights::V1::CalculateStatsResponse
            # Gets project-level settings.
            rpc :GetSettings, ::Google::Cloud::ContactCenterInsights::V1::GetSettingsRequest, ::Google::Cloud::ContactCenterInsights::V1::Settings
            # Updates project-level settings.
            rpc :UpdateSettings, ::Google::Cloud::ContactCenterInsights::V1::UpdateSettingsRequest, ::Google::Cloud::ContactCenterInsights::V1::Settings
            # Creates a analysis rule.
            rpc :CreateAnalysisRule, ::Google::Cloud::ContactCenterInsights::V1::CreateAnalysisRuleRequest, ::Google::Cloud::ContactCenterInsights::V1::AnalysisRule
            # Get a analysis rule.
            rpc :GetAnalysisRule, ::Google::Cloud::ContactCenterInsights::V1::GetAnalysisRuleRequest, ::Google::Cloud::ContactCenterInsights::V1::AnalysisRule
            # Lists analysis rules.
            rpc :ListAnalysisRules, ::Google::Cloud::ContactCenterInsights::V1::ListAnalysisRulesRequest, ::Google::Cloud::ContactCenterInsights::V1::ListAnalysisRulesResponse
            # Updates a analysis rule.
            rpc :UpdateAnalysisRule, ::Google::Cloud::ContactCenterInsights::V1::UpdateAnalysisRuleRequest, ::Google::Cloud::ContactCenterInsights::V1::AnalysisRule
            # Deletes a analysis rule.
            rpc :DeleteAnalysisRule, ::Google::Cloud::ContactCenterInsights::V1::DeleteAnalysisRuleRequest, ::Google::Protobuf::Empty
            # Gets location-level encryption key specification.
            rpc :GetEncryptionSpec, ::Google::Cloud::ContactCenterInsights::V1::GetEncryptionSpecRequest, ::Google::Cloud::ContactCenterInsights::V1::EncryptionSpec
            # Initializes a location-level encryption key specification. An error will
            # result if the location has resources already created before the
            # initialization. After the encryption specification is initialized at a
            # location, it is immutable and all newly created resources under the
            # location will be encrypted with the existing specification.
            rpc :InitializeEncryptionSpec, ::Google::Cloud::ContactCenterInsights::V1::InitializeEncryptionSpecRequest, ::Google::Longrunning::Operation
            # Creates a view.
            rpc :CreateView, ::Google::Cloud::ContactCenterInsights::V1::CreateViewRequest, ::Google::Cloud::ContactCenterInsights::V1::View
            # Gets a view.
            rpc :GetView, ::Google::Cloud::ContactCenterInsights::V1::GetViewRequest, ::Google::Cloud::ContactCenterInsights::V1::View
            # Lists views.
            rpc :ListViews, ::Google::Cloud::ContactCenterInsights::V1::ListViewsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListViewsResponse
            # Updates a view.
            rpc :UpdateView, ::Google::Cloud::ContactCenterInsights::V1::UpdateViewRequest, ::Google::Cloud::ContactCenterInsights::V1::View
            # Deletes a view.
            rpc :DeleteView, ::Google::Cloud::ContactCenterInsights::V1::DeleteViewRequest, ::Google::Protobuf::Empty
            # Query metrics.
            rpc :QueryMetrics, ::Google::Cloud::ContactCenterInsights::V1::QueryMetricsRequest, ::Google::Longrunning::Operation
            # Create a QaQuestion.
            rpc :CreateQaQuestion, ::Google::Cloud::ContactCenterInsights::V1::CreateQaQuestionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaQuestion
            # Gets a QaQuestion.
            rpc :GetQaQuestion, ::Google::Cloud::ContactCenterInsights::V1::GetQaQuestionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaQuestion
            # Updates a QaQuestion.
            rpc :UpdateQaQuestion, ::Google::Cloud::ContactCenterInsights::V1::UpdateQaQuestionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaQuestion
            # Deletes a QaQuestion.
            rpc :DeleteQaQuestion, ::Google::Cloud::ContactCenterInsights::V1::DeleteQaQuestionRequest, ::Google::Protobuf::Empty
            # Lists QaQuestions.
            rpc :ListQaQuestions, ::Google::Cloud::ContactCenterInsights::V1::ListQaQuestionsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListQaQuestionsResponse
            # Create a QaScorecard.
            rpc :CreateQaScorecard, ::Google::Cloud::ContactCenterInsights::V1::CreateQaScorecardRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecard
            # Gets a QaScorecard.
            rpc :GetQaScorecard, ::Google::Cloud::ContactCenterInsights::V1::GetQaScorecardRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecard
            # Updates a QaScorecard.
            rpc :UpdateQaScorecard, ::Google::Cloud::ContactCenterInsights::V1::UpdateQaScorecardRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecard
            # Deletes a QaScorecard.
            rpc :DeleteQaScorecard, ::Google::Cloud::ContactCenterInsights::V1::DeleteQaScorecardRequest, ::Google::Protobuf::Empty
            # Lists QaScorecards.
            rpc :ListQaScorecards, ::Google::Cloud::ContactCenterInsights::V1::ListQaScorecardsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListQaScorecardsResponse
            # Creates a QaScorecardRevision.
            rpc :CreateQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::CreateQaScorecardRevisionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecardRevision
            # Gets a QaScorecardRevision.
            rpc :GetQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::GetQaScorecardRevisionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecardRevision
            # Fine tune one or more QaModels.
            rpc :TuneQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::TuneQaScorecardRevisionRequest, ::Google::Longrunning::Operation
            # Deploy a QaScorecardRevision.
            rpc :DeployQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::DeployQaScorecardRevisionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecardRevision
            # Undeploy a QaScorecardRevision.
            rpc :UndeployQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::UndeployQaScorecardRevisionRequest, ::Google::Cloud::ContactCenterInsights::V1::QaScorecardRevision
            # Deletes a QaScorecardRevision.
            rpc :DeleteQaScorecardRevision, ::Google::Cloud::ContactCenterInsights::V1::DeleteQaScorecardRevisionRequest, ::Google::Protobuf::Empty
            # Lists all revisions under the parent QaScorecard.
            rpc :ListQaScorecardRevisions, ::Google::Cloud::ContactCenterInsights::V1::ListQaScorecardRevisionsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListQaScorecardRevisionsResponse
            # Create feedback label.
            rpc :CreateFeedbackLabel, ::Google::Cloud::ContactCenterInsights::V1::CreateFeedbackLabelRequest, ::Google::Cloud::ContactCenterInsights::V1::FeedbackLabel
            # List feedback labels.
            rpc :ListFeedbackLabels, ::Google::Cloud::ContactCenterInsights::V1::ListFeedbackLabelsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListFeedbackLabelsResponse
            # Get feedback label.
            rpc :GetFeedbackLabel, ::Google::Cloud::ContactCenterInsights::V1::GetFeedbackLabelRequest, ::Google::Cloud::ContactCenterInsights::V1::FeedbackLabel
            # Update feedback label.
            rpc :UpdateFeedbackLabel, ::Google::Cloud::ContactCenterInsights::V1::UpdateFeedbackLabelRequest, ::Google::Cloud::ContactCenterInsights::V1::FeedbackLabel
            # Delete feedback label.
            rpc :DeleteFeedbackLabel, ::Google::Cloud::ContactCenterInsights::V1::DeleteFeedbackLabelRequest, ::Google::Protobuf::Empty
            # List all feedback labels by project number.
            rpc :ListAllFeedbackLabels, ::Google::Cloud::ContactCenterInsights::V1::ListAllFeedbackLabelsRequest, ::Google::Cloud::ContactCenterInsights::V1::ListAllFeedbackLabelsResponse
            # Upload feedback labels in bulk.
            rpc :BulkUploadFeedbackLabels, ::Google::Cloud::ContactCenterInsights::V1::BulkUploadFeedbackLabelsRequest, ::Google::Longrunning::Operation
            # Download feedback labels in bulk.
            rpc :BulkDownloadFeedbackLabels, ::Google::Cloud::ContactCenterInsights::V1::BulkDownloadFeedbackLabelsRequest, ::Google::Longrunning::Operation
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
