# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/privacy/dlp/v2/dlp.proto for package 'Google.Cloud.Dlp.V2'
# Original file comments:
# Copyright 2020 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/privacy/dlp/v2/dlp_pb'

module Google
  module Cloud
    module Dlp
      module V2
        module DlpService
          # Sensitive Data Protection provides access to a powerful sensitive data
          # inspection, classification, and de-identification platform that works
          # on text, images, and Google Cloud storage repositories.
          # To learn more about concepts and find how-to guides see
          # https://cloud.google.com/sensitive-data-protection/docs/.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.privacy.dlp.v2.DlpService'

            # Finds potentially sensitive info in content.
            # This method has limits on input size, processing time, and output size.
            #
            # When no InfoTypes or CustomInfoTypes are specified in this request, the
            # system will automatically choose what detectors to run. By default this may
            # be all types, but may change over time as detectors are updated.
            #
            # For how to guides, see
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-images
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-text,
            rpc :InspectContent, ::Google::Cloud::Dlp::V2::InspectContentRequest, ::Google::Cloud::Dlp::V2::InspectContentResponse
            # Redacts potentially sensitive info from an image.
            # This method has limits on input size, processing time, and output size.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images
            # to learn more.
            #
            # When no InfoTypes or CustomInfoTypes are specified in this request, the
            # system will automatically choose what detectors to run. By default this may
            # be all types, but may change over time as detectors are updated.
            #
            # Only the first frame of each multiframe image is redacted. Metadata and
            # other frames are omitted in the response.
            rpc :RedactImage, ::Google::Cloud::Dlp::V2::RedactImageRequest, ::Google::Cloud::Dlp::V2::RedactImageResponse
            # De-identifies potentially sensitive info from a ContentItem.
            # This method has limits on input size and output size.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data
            # to learn more.
            #
            # When no InfoTypes or CustomInfoTypes are specified in this request, the
            # system will automatically choose what detectors to run. By default this may
            # be all types, but may change over time as detectors are updated.
            rpc :DeidentifyContent, ::Google::Cloud::Dlp::V2::DeidentifyContentRequest, ::Google::Cloud::Dlp::V2::DeidentifyContentResponse
            # Re-identifies content that has been de-identified.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example
            # to learn more.
            rpc :ReidentifyContent, ::Google::Cloud::Dlp::V2::ReidentifyContentRequest, ::Google::Cloud::Dlp::V2::ReidentifyContentResponse
            # Returns a list of the sensitive information types that the DLP API
            # supports. See
            # https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference
            # to learn more.
            rpc :ListInfoTypes, ::Google::Cloud::Dlp::V2::ListInfoTypesRequest, ::Google::Cloud::Dlp::V2::ListInfoTypesResponse
            # Creates an InspectTemplate for reusing frequently used configuration
            # for inspecting content, images, and storage.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates
            # to learn more.
            rpc :CreateInspectTemplate, ::Google::Cloud::Dlp::V2::CreateInspectTemplateRequest, ::Google::Cloud::Dlp::V2::InspectTemplate
            # Updates the InspectTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates
            # to learn more.
            rpc :UpdateInspectTemplate, ::Google::Cloud::Dlp::V2::UpdateInspectTemplateRequest, ::Google::Cloud::Dlp::V2::InspectTemplate
            # Gets an InspectTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates
            # to learn more.
            rpc :GetInspectTemplate, ::Google::Cloud::Dlp::V2::GetInspectTemplateRequest, ::Google::Cloud::Dlp::V2::InspectTemplate
            # Lists InspectTemplates.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates
            # to learn more.
            rpc :ListInspectTemplates, ::Google::Cloud::Dlp::V2::ListInspectTemplatesRequest, ::Google::Cloud::Dlp::V2::ListInspectTemplatesResponse
            # Deletes an InspectTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates
            # to learn more.
            rpc :DeleteInspectTemplate, ::Google::Cloud::Dlp::V2::DeleteInspectTemplateRequest, ::Google::Protobuf::Empty
            # Creates a DeidentifyTemplate for reusing frequently used configuration
            # for de-identifying content, images, and storage.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid
            # to learn more.
            rpc :CreateDeidentifyTemplate, ::Google::Cloud::Dlp::V2::CreateDeidentifyTemplateRequest, ::Google::Cloud::Dlp::V2::DeidentifyTemplate
            # Updates the DeidentifyTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid
            # to learn more.
            rpc :UpdateDeidentifyTemplate, ::Google::Cloud::Dlp::V2::UpdateDeidentifyTemplateRequest, ::Google::Cloud::Dlp::V2::DeidentifyTemplate
            # Gets a DeidentifyTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid
            # to learn more.
            rpc :GetDeidentifyTemplate, ::Google::Cloud::Dlp::V2::GetDeidentifyTemplateRequest, ::Google::Cloud::Dlp::V2::DeidentifyTemplate
            # Lists DeidentifyTemplates.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid
            # to learn more.
            rpc :ListDeidentifyTemplates, ::Google::Cloud::Dlp::V2::ListDeidentifyTemplatesRequest, ::Google::Cloud::Dlp::V2::ListDeidentifyTemplatesResponse
            # Deletes a DeidentifyTemplate.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid
            # to learn more.
            rpc :DeleteDeidentifyTemplate, ::Google::Cloud::Dlp::V2::DeleteDeidentifyTemplateRequest, ::Google::Protobuf::Empty
            # Creates a job trigger to run DLP actions such as scanning storage for
            # sensitive information on a set schedule.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers
            # to learn more.
            rpc :CreateJobTrigger, ::Google::Cloud::Dlp::V2::CreateJobTriggerRequest, ::Google::Cloud::Dlp::V2::JobTrigger
            # Updates a job trigger.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers
            # to learn more.
            rpc :UpdateJobTrigger, ::Google::Cloud::Dlp::V2::UpdateJobTriggerRequest, ::Google::Cloud::Dlp::V2::JobTrigger
            # Inspect hybrid content and store findings to a trigger. The inspection
            # will be processed asynchronously. To review the findings monitor the
            # jobs within the trigger.
            rpc :HybridInspectJobTrigger, ::Google::Cloud::Dlp::V2::HybridInspectJobTriggerRequest, ::Google::Cloud::Dlp::V2::HybridInspectResponse
            # Gets a job trigger.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers
            # to learn more.
            rpc :GetJobTrigger, ::Google::Cloud::Dlp::V2::GetJobTriggerRequest, ::Google::Cloud::Dlp::V2::JobTrigger
            # Lists job triggers.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers
            # to learn more.
            rpc :ListJobTriggers, ::Google::Cloud::Dlp::V2::ListJobTriggersRequest, ::Google::Cloud::Dlp::V2::ListJobTriggersResponse
            # Deletes a job trigger.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers
            # to learn more.
            rpc :DeleteJobTrigger, ::Google::Cloud::Dlp::V2::DeleteJobTriggerRequest, ::Google::Protobuf::Empty
            # Activate a job trigger. Causes the immediate execute of a trigger
            # instead of waiting on the trigger event to occur.
            rpc :ActivateJobTrigger, ::Google::Cloud::Dlp::V2::ActivateJobTriggerRequest, ::Google::Cloud::Dlp::V2::DlpJob
            # Creates a config for discovery to scan and profile storage.
            rpc :CreateDiscoveryConfig, ::Google::Cloud::Dlp::V2::CreateDiscoveryConfigRequest, ::Google::Cloud::Dlp::V2::DiscoveryConfig
            # Updates a discovery configuration.
            rpc :UpdateDiscoveryConfig, ::Google::Cloud::Dlp::V2::UpdateDiscoveryConfigRequest, ::Google::Cloud::Dlp::V2::DiscoveryConfig
            # Gets a discovery configuration.
            rpc :GetDiscoveryConfig, ::Google::Cloud::Dlp::V2::GetDiscoveryConfigRequest, ::Google::Cloud::Dlp::V2::DiscoveryConfig
            # Lists discovery configurations.
            rpc :ListDiscoveryConfigs, ::Google::Cloud::Dlp::V2::ListDiscoveryConfigsRequest, ::Google::Cloud::Dlp::V2::ListDiscoveryConfigsResponse
            # Deletes a discovery configuration.
            rpc :DeleteDiscoveryConfig, ::Google::Cloud::Dlp::V2::DeleteDiscoveryConfigRequest, ::Google::Protobuf::Empty
            # Creates a new job to inspect storage or calculate risk metrics.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis
            # to learn more.
            #
            # When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
            # system will automatically choose what detectors to run. By default this may
            # be all types, but may change over time as detectors are updated.
            rpc :CreateDlpJob, ::Google::Cloud::Dlp::V2::CreateDlpJobRequest, ::Google::Cloud::Dlp::V2::DlpJob
            # Lists DlpJobs that match the specified filter in the request.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis
            # to learn more.
            rpc :ListDlpJobs, ::Google::Cloud::Dlp::V2::ListDlpJobsRequest, ::Google::Cloud::Dlp::V2::ListDlpJobsResponse
            # Gets the latest state of a long-running DlpJob.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis
            # to learn more.
            rpc :GetDlpJob, ::Google::Cloud::Dlp::V2::GetDlpJobRequest, ::Google::Cloud::Dlp::V2::DlpJob
            # Deletes a long-running DlpJob. This method indicates that the client is
            # no longer interested in the DlpJob result. The job will be canceled if
            # possible.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis
            # to learn more.
            rpc :DeleteDlpJob, ::Google::Cloud::Dlp::V2::DeleteDlpJobRequest, ::Google::Protobuf::Empty
            # Starts asynchronous cancellation on a long-running DlpJob. The server
            # makes a best effort to cancel the DlpJob, but success is not
            # guaranteed.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage
            # and
            # https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis
            # to learn more.
            rpc :CancelDlpJob, ::Google::Cloud::Dlp::V2::CancelDlpJobRequest, ::Google::Protobuf::Empty
            # Creates a pre-built stored infoType to be used for inspection.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes
            # to learn more.
            rpc :CreateStoredInfoType, ::Google::Cloud::Dlp::V2::CreateStoredInfoTypeRequest, ::Google::Cloud::Dlp::V2::StoredInfoType
            # Updates the stored infoType by creating a new version. The existing version
            # will continue to be used until the new version is ready.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes
            # to learn more.
            rpc :UpdateStoredInfoType, ::Google::Cloud::Dlp::V2::UpdateStoredInfoTypeRequest, ::Google::Cloud::Dlp::V2::StoredInfoType
            # Gets a stored infoType.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes
            # to learn more.
            rpc :GetStoredInfoType, ::Google::Cloud::Dlp::V2::GetStoredInfoTypeRequest, ::Google::Cloud::Dlp::V2::StoredInfoType
            # Lists stored infoTypes.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes
            # to learn more.
            rpc :ListStoredInfoTypes, ::Google::Cloud::Dlp::V2::ListStoredInfoTypesRequest, ::Google::Cloud::Dlp::V2::ListStoredInfoTypesResponse
            # Deletes a stored infoType.
            # See
            # https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes
            # to learn more.
            rpc :DeleteStoredInfoType, ::Google::Cloud::Dlp::V2::DeleteStoredInfoTypeRequest, ::Google::Protobuf::Empty
            # Lists project data profiles for an organization.
            rpc :ListProjectDataProfiles, ::Google::Cloud::Dlp::V2::ListProjectDataProfilesRequest, ::Google::Cloud::Dlp::V2::ListProjectDataProfilesResponse
            # Lists table data profiles for an organization.
            rpc :ListTableDataProfiles, ::Google::Cloud::Dlp::V2::ListTableDataProfilesRequest, ::Google::Cloud::Dlp::V2::ListTableDataProfilesResponse
            # Lists column data profiles for an organization.
            rpc :ListColumnDataProfiles, ::Google::Cloud::Dlp::V2::ListColumnDataProfilesRequest, ::Google::Cloud::Dlp::V2::ListColumnDataProfilesResponse
            # Gets a project data profile.
            rpc :GetProjectDataProfile, ::Google::Cloud::Dlp::V2::GetProjectDataProfileRequest, ::Google::Cloud::Dlp::V2::ProjectDataProfile
            # Lists file store data profiles for an organization.
            rpc :ListFileStoreDataProfiles, ::Google::Cloud::Dlp::V2::ListFileStoreDataProfilesRequest, ::Google::Cloud::Dlp::V2::ListFileStoreDataProfilesResponse
            # Gets a file store data profile.
            rpc :GetFileStoreDataProfile, ::Google::Cloud::Dlp::V2::GetFileStoreDataProfileRequest, ::Google::Cloud::Dlp::V2::FileStoreDataProfile
            # Delete a FileStoreDataProfile. Will not prevent the profile from being
            # regenerated if the resource is still included in a discovery configuration.
            rpc :DeleteFileStoreDataProfile, ::Google::Cloud::Dlp::V2::DeleteFileStoreDataProfileRequest, ::Google::Protobuf::Empty
            # Gets a table data profile.
            rpc :GetTableDataProfile, ::Google::Cloud::Dlp::V2::GetTableDataProfileRequest, ::Google::Cloud::Dlp::V2::TableDataProfile
            # Gets a column data profile.
            rpc :GetColumnDataProfile, ::Google::Cloud::Dlp::V2::GetColumnDataProfileRequest, ::Google::Cloud::Dlp::V2::ColumnDataProfile
            # Delete a TableDataProfile. Will not prevent the profile from being
            # regenerated if the table is still included in a discovery configuration.
            rpc :DeleteTableDataProfile, ::Google::Cloud::Dlp::V2::DeleteTableDataProfileRequest, ::Google::Protobuf::Empty
            # Inspect hybrid content and store findings to a job.
            # To review the findings, inspect the job. Inspection will occur
            # asynchronously.
            rpc :HybridInspectDlpJob, ::Google::Cloud::Dlp::V2::HybridInspectDlpJobRequest, ::Google::Cloud::Dlp::V2::HybridInspectResponse
            # Finish a running hybrid DlpJob. Triggers the finalization steps and running
            # of any enabled actions that have not yet run.
            rpc :FinishDlpJob, ::Google::Cloud::Dlp::V2::FinishDlpJobRequest, ::Google::Protobuf::Empty
            # Create a Connection to an external data source.
            rpc :CreateConnection, ::Google::Cloud::Dlp::V2::CreateConnectionRequest, ::Google::Cloud::Dlp::V2::Connection
            # Get a Connection by name.
            rpc :GetConnection, ::Google::Cloud::Dlp::V2::GetConnectionRequest, ::Google::Cloud::Dlp::V2::Connection
            # Lists Connections in a parent. Use SearchConnections to see all connections
            # within an organization.
            rpc :ListConnections, ::Google::Cloud::Dlp::V2::ListConnectionsRequest, ::Google::Cloud::Dlp::V2::ListConnectionsResponse
            # Searches for Connections in a parent.
            rpc :SearchConnections, ::Google::Cloud::Dlp::V2::SearchConnectionsRequest, ::Google::Cloud::Dlp::V2::SearchConnectionsResponse
            # Delete a Connection.
            rpc :DeleteConnection, ::Google::Cloud::Dlp::V2::DeleteConnectionRequest, ::Google::Protobuf::Empty
            # Update a Connection.
            rpc :UpdateConnection, ::Google::Cloud::Dlp::V2::UpdateConnectionRequest, ::Google::Cloud::Dlp::V2::Connection
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
