# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/privacy/dlp/v2/dlp.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/privacy/dlp/v2/storage_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/empty_pb'
require 'google/protobuf/field_mask_pb'
require 'google/protobuf/timestamp_pb'
require 'google/rpc/status_pb'
require 'google/type/date_pb'
require 'google/type/dayofweek_pb'
require 'google/type/timeofday_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_message "google.privacy.dlp.v2.InspectConfig" do
    repeated :info_types, :message, 1, "google.privacy.dlp.v2.InfoType"
    optional :min_likelihood, :enum, 2, "google.privacy.dlp.v2.Likelihood"
    optional :limits, :message, 3, "google.privacy.dlp.v2.InspectConfig.FindingLimits"
    optional :include_quote, :bool, 4
    optional :exclude_info_types, :bool, 5
    repeated :custom_info_types, :message, 6, "google.privacy.dlp.v2.CustomInfoType"
    repeated :content_options, :enum, 8, "google.privacy.dlp.v2.ContentOption"
  end
  add_message "google.privacy.dlp.v2.InspectConfig.FindingLimits" do
    optional :max_findings_per_item, :int32, 1
    optional :max_findings_per_request, :int32, 2
    repeated :max_findings_per_info_type, :message, 3, "google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit"
  end
  add_message "google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit" do
    optional :info_type, :message, 1, "google.privacy.dlp.v2.InfoType"
    optional :max_findings, :int32, 2
  end
  add_message "google.privacy.dlp.v2.ByteContentItem" do
    optional :type, :enum, 1, "google.privacy.dlp.v2.ByteContentItem.BytesType"
    optional :data, :bytes, 2
  end
  add_enum "google.privacy.dlp.v2.ByteContentItem.BytesType" do
    value :BYTES_TYPE_UNSPECIFIED, 0
    value :IMAGE, 6
    value :IMAGE_JPEG, 1
    value :IMAGE_BMP, 2
    value :IMAGE_PNG, 3
    value :IMAGE_SVG, 4
    value :TEXT_UTF8, 5
  end
  add_message "google.privacy.dlp.v2.ContentItem" do
    oneof :data_item do
      optional :value, :string, 3
      optional :table, :message, 4, "google.privacy.dlp.v2.Table"
      optional :byte_item, :message, 5, "google.privacy.dlp.v2.ByteContentItem"
    end
  end
  add_message "google.privacy.dlp.v2.Table" do
    repeated :headers, :message, 1, "google.privacy.dlp.v2.FieldId"
    repeated :rows, :message, 2, "google.privacy.dlp.v2.Table.Row"
  end
  add_message "google.privacy.dlp.v2.Table.Row" do
    repeated :values, :message, 1, "google.privacy.dlp.v2.Value"
  end
  add_message "google.privacy.dlp.v2.InspectResult" do
    repeated :findings, :message, 1, "google.privacy.dlp.v2.Finding"
    optional :findings_truncated, :bool, 2
  end
  add_message "google.privacy.dlp.v2.Finding" do
    optional :quote, :string, 1
    optional :info_type, :message, 2, "google.privacy.dlp.v2.InfoType"
    optional :likelihood, :enum, 3, "google.privacy.dlp.v2.Likelihood"
    optional :location, :message, 4, "google.privacy.dlp.v2.Location"
    optional :create_time, :message, 6, "google.protobuf.Timestamp"
    optional :quote_info, :message, 7, "google.privacy.dlp.v2.QuoteInfo"
  end
  add_message "google.privacy.dlp.v2.Location" do
    optional :byte_range, :message, 1, "google.privacy.dlp.v2.Range"
    optional :codepoint_range, :message, 2, "google.privacy.dlp.v2.Range"
    repeated :content_locations, :message, 7, "google.privacy.dlp.v2.ContentLocation"
  end
  add_message "google.privacy.dlp.v2.ContentLocation" do
    optional :container_name, :string, 1
    optional :container_timestamp, :message, 6, "google.protobuf.Timestamp"
    optional :container_version, :string, 7
    oneof :location do
      optional :record_location, :message, 2, "google.privacy.dlp.v2.RecordLocation"
      optional :image_location, :message, 3, "google.privacy.dlp.v2.ImageLocation"
      optional :document_location, :message, 5, "google.privacy.dlp.v2.DocumentLocation"
    end
  end
  add_message "google.privacy.dlp.v2.DocumentLocation" do
    optional :file_offset, :int64, 1
  end
  add_message "google.privacy.dlp.v2.RecordLocation" do
    optional :record_key, :message, 1, "google.privacy.dlp.v2.RecordKey"
    optional :field_id, :message, 2, "google.privacy.dlp.v2.FieldId"
    optional :table_location, :message, 3, "google.privacy.dlp.v2.TableLocation"
  end
  add_message "google.privacy.dlp.v2.TableLocation" do
    optional :row_index, :int64, 1
  end
  add_message "google.privacy.dlp.v2.Range" do
    optional :start, :int64, 1
    optional :end, :int64, 2
  end
  add_message "google.privacy.dlp.v2.ImageLocation" do
    repeated :bounding_boxes, :message, 1, "google.privacy.dlp.v2.BoundingBox"
  end
  add_message "google.privacy.dlp.v2.BoundingBox" do
    optional :top, :int32, 1
    optional :left, :int32, 2
    optional :width, :int32, 3
    optional :height, :int32, 4
  end
  add_message "google.privacy.dlp.v2.RedactImageRequest" do
    optional :parent, :string, 1
    optional :inspect_config, :message, 2, "google.privacy.dlp.v2.InspectConfig"
    repeated :image_redaction_configs, :message, 5, "google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig"
    optional :byte_item, :message, 7, "google.privacy.dlp.v2.ByteContentItem"
  end
  add_message "google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig" do
    optional :redaction_color, :message, 3, "google.privacy.dlp.v2.Color"
    oneof :target do
      optional :info_type, :message, 1, "google.privacy.dlp.v2.InfoType"
      optional :redact_all_text, :bool, 2
    end
  end
  add_message "google.privacy.dlp.v2.Color" do
    optional :red, :float, 1
    optional :green, :float, 2
    optional :blue, :float, 3
  end
  add_message "google.privacy.dlp.v2.RedactImageResponse" do
    optional :redacted_image, :bytes, 1
    optional :extracted_text, :string, 2
  end
  add_message "google.privacy.dlp.v2.DeidentifyContentRequest" do
    optional :parent, :string, 1
    optional :deidentify_config, :message, 2, "google.privacy.dlp.v2.DeidentifyConfig"
    optional :inspect_config, :message, 3, "google.privacy.dlp.v2.InspectConfig"
    optional :item, :message, 4, "google.privacy.dlp.v2.ContentItem"
    optional :inspect_template_name, :string, 5
    optional :deidentify_template_name, :string, 6
  end
  add_message "google.privacy.dlp.v2.DeidentifyContentResponse" do
    optional :item, :message, 1, "google.privacy.dlp.v2.ContentItem"
    optional :overview, :message, 2, "google.privacy.dlp.v2.TransformationOverview"
  end
  add_message "google.privacy.dlp.v2.ReidentifyContentRequest" do
    optional :parent, :string, 1
    optional :reidentify_config, :message, 2, "google.privacy.dlp.v2.DeidentifyConfig"
    optional :inspect_config, :message, 3, "google.privacy.dlp.v2.InspectConfig"
    optional :item, :message, 4, "google.privacy.dlp.v2.ContentItem"
    optional :inspect_template_name, :string, 5
    optional :reidentify_template_name, :string, 6
  end
  add_message "google.privacy.dlp.v2.ReidentifyContentResponse" do
    optional :item, :message, 1, "google.privacy.dlp.v2.ContentItem"
    optional :overview, :message, 2, "google.privacy.dlp.v2.TransformationOverview"
  end
  add_message "google.privacy.dlp.v2.InspectContentRequest" do
    optional :parent, :string, 1
    optional :inspect_config, :message, 2, "google.privacy.dlp.v2.InspectConfig"
    optional :item, :message, 3, "google.privacy.dlp.v2.ContentItem"
    optional :inspect_template_name, :string, 4
  end
  add_message "google.privacy.dlp.v2.InspectContentResponse" do
    optional :result, :message, 1, "google.privacy.dlp.v2.InspectResult"
  end
  add_message "google.privacy.dlp.v2.OutputStorageConfig" do
    optional :output_schema, :enum, 3, "google.privacy.dlp.v2.OutputStorageConfig.OutputSchema"
    oneof :type do
      optional :table, :message, 1, "google.privacy.dlp.v2.BigQueryTable"
    end
  end
  add_enum "google.privacy.dlp.v2.OutputStorageConfig.OutputSchema" do
    value :OUTPUT_SCHEMA_UNSPECIFIED, 0
    value :BASIC_COLUMNS, 1
    value :GCS_COLUMNS, 2
    value :DATASTORE_COLUMNS, 3
    value :BIG_QUERY_COLUMNS, 4
    value :ALL_COLUMNS, 5
  end
  add_message "google.privacy.dlp.v2.InfoTypeStats" do
    optional :info_type, :message, 1, "google.privacy.dlp.v2.InfoType"
    optional :count, :int64, 2
  end
  add_message "google.privacy.dlp.v2.InspectDataSourceDetails" do
    optional :requested_options, :message, 2, "google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions"
    optional :result, :message, 3, "google.privacy.dlp.v2.InspectDataSourceDetails.Result"
  end
  add_message "google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions" do
    optional :snapshot_inspect_template, :message, 1, "google.privacy.dlp.v2.InspectTemplate"
    optional :job_config, :message, 3, "google.privacy.dlp.v2.InspectJobConfig"
  end
  add_message "google.privacy.dlp.v2.InspectDataSourceDetails.Result" do
    optional :processed_bytes, :int64, 1
    optional :total_estimated_bytes, :int64, 2
    repeated :info_type_stats, :message, 3, "google.privacy.dlp.v2.InfoTypeStats"
  end
  add_message "google.privacy.dlp.v2.InfoTypeDescription" do
    optional :name, :string, 1
    optional :display_name, :string, 2
    repeated :supported_by, :enum, 3, "google.privacy.dlp.v2.InfoTypeSupportedBy"
  end
  add_message "google.privacy.dlp.v2.ListInfoTypesRequest" do
    optional :language_code, :string, 1
    optional :filter, :string, 2
  end
  add_message "google.privacy.dlp.v2.ListInfoTypesResponse" do
    repeated :info_types, :message, 1, "google.privacy.dlp.v2.InfoTypeDescription"
  end
  add_message "google.privacy.dlp.v2.RiskAnalysisJobConfig" do
    optional :privacy_metric, :message, 1, "google.privacy.dlp.v2.PrivacyMetric"
    optional :source_table, :message, 2, "google.privacy.dlp.v2.BigQueryTable"
    repeated :actions, :message, 3, "google.privacy.dlp.v2.Action"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric" do
    oneof :type do
      optional :numerical_stats_config, :message, 1, "google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig"
      optional :categorical_stats_config, :message, 2, "google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig"
      optional :k_anonymity_config, :message, 3, "google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig"
      optional :l_diversity_config, :message, 4, "google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig"
      optional :k_map_estimation_config, :message, 5, "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig"
    end
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig" do
    optional :field, :message, 1, "google.privacy.dlp.v2.FieldId"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig" do
    optional :field, :message, 1, "google.privacy.dlp.v2.FieldId"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig" do
    repeated :quasi_ids, :message, 1, "google.privacy.dlp.v2.FieldId"
    optional :entity_id, :message, 2, "google.privacy.dlp.v2.EntityId"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig" do
    repeated :quasi_ids, :message, 1, "google.privacy.dlp.v2.FieldId"
    optional :sensitive_attribute, :message, 2, "google.privacy.dlp.v2.FieldId"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig" do
    repeated :quasi_ids, :message, 1, "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField"
    optional :region_code, :string, 2
    repeated :auxiliary_tables, :message, 3, "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField" do
    optional :field, :message, 1, "google.privacy.dlp.v2.FieldId"
    oneof :tag do
      optional :info_type, :message, 2, "google.privacy.dlp.v2.InfoType"
      optional :custom_tag, :string, 3
      optional :inferred, :message, 4, "google.protobuf.Empty"
    end
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable" do
    optional :table, :message, 3, "google.privacy.dlp.v2.BigQueryTable"
    repeated :quasi_ids, :message, 1, "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField"
    optional :relative_frequency, :message, 2, "google.privacy.dlp.v2.FieldId"
  end
  add_message "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField" do
    optional :field, :message, 1, "google.privacy.dlp.v2.FieldId"
    optional :custom_tag, :string, 2
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails" do
    optional :requested_privacy_metric, :message, 1, "google.privacy.dlp.v2.PrivacyMetric"
    optional :requested_source_table, :message, 2, "google.privacy.dlp.v2.BigQueryTable"
    oneof :result do
      optional :numerical_stats_result, :message, 3, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult"
      optional :categorical_stats_result, :message, 4, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult"
      optional :k_anonymity_result, :message, 5, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult"
      optional :l_diversity_result, :message, 6, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult"
      optional :k_map_estimation_result, :message, 7, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult"
    end
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult" do
    optional :min_value, :message, 1, "google.privacy.dlp.v2.Value"
    optional :max_value, :message, 2, "google.privacy.dlp.v2.Value"
    repeated :quantile_values, :message, 4, "google.privacy.dlp.v2.Value"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult" do
    repeated :value_frequency_histogram_buckets, :message, 5, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket" do
    optional :value_frequency_lower_bound, :int64, 1
    optional :value_frequency_upper_bound, :int64, 2
    optional :bucket_size, :int64, 3
    repeated :bucket_values, :message, 4, "google.privacy.dlp.v2.ValueFrequency"
    optional :bucket_value_count, :int64, 5
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult" do
    repeated :equivalence_class_histogram_buckets, :message, 5, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass" do
    repeated :quasi_ids_values, :message, 1, "google.privacy.dlp.v2.Value"
    optional :equivalence_class_size, :int64, 2
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket" do
    optional :equivalence_class_size_lower_bound, :int64, 1
    optional :equivalence_class_size_upper_bound, :int64, 2
    optional :bucket_size, :int64, 3
    repeated :bucket_values, :message, 4, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass"
    optional :bucket_value_count, :int64, 5
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult" do
    repeated :sensitive_value_frequency_histogram_buckets, :message, 5, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass" do
    repeated :quasi_ids_values, :message, 1, "google.privacy.dlp.v2.Value"
    optional :equivalence_class_size, :int64, 2
    optional :num_distinct_sensitive_values, :int64, 3
    repeated :top_sensitive_values, :message, 4, "google.privacy.dlp.v2.ValueFrequency"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket" do
    optional :sensitive_value_frequency_lower_bound, :int64, 1
    optional :sensitive_value_frequency_upper_bound, :int64, 2
    optional :bucket_size, :int64, 3
    repeated :bucket_values, :message, 4, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass"
    optional :bucket_value_count, :int64, 5
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult" do
    repeated :k_map_estimation_histogram, :message, 1, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket"
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues" do
    repeated :quasi_ids_values, :message, 1, "google.privacy.dlp.v2.Value"
    optional :estimated_anonymity, :int64, 2
  end
  add_message "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket" do
    optional :min_anonymity, :int64, 1
    optional :max_anonymity, :int64, 2
    optional :bucket_size, :int64, 5
    repeated :bucket_values, :message, 6, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues"
    optional :bucket_value_count, :int64, 7
  end
  add_message "google.privacy.dlp.v2.ValueFrequency" do
    optional :value, :message, 1, "google.privacy.dlp.v2.Value"
    optional :count, :int64, 2
  end
  add_message "google.privacy.dlp.v2.Value" do
    oneof :type do
      optional :integer_value, :int64, 1
      optional :float_value, :double, 2
      optional :string_value, :string, 3
      optional :boolean_value, :bool, 4
      optional :timestamp_value, :message, 5, "google.protobuf.Timestamp"
      optional :time_value, :message, 6, "google.type.TimeOfDay"
      optional :date_value, :message, 7, "google.type.Date"
      optional :day_of_week_value, :enum, 8, "google.type.DayOfWeek"
    end
  end
  add_message "google.privacy.dlp.v2.QuoteInfo" do
    oneof :parsed_quote do
      optional :date_time, :message, 2, "google.privacy.dlp.v2.DateTime"
    end
  end
  add_message "google.privacy.dlp.v2.DateTime" do
    optional :date, :message, 1, "google.type.Date"
    optional :day_of_week, :enum, 2, "google.type.DayOfWeek"
    optional :time, :message, 3, "google.type.TimeOfDay"
    optional :time_zone, :message, 4, "google.privacy.dlp.v2.DateTime.TimeZone"
  end
  add_message "google.privacy.dlp.v2.DateTime.TimeZone" do
    optional :offset_minutes, :int32, 1
  end
  add_message "google.privacy.dlp.v2.DeidentifyConfig" do
    oneof :transformation do
      optional :info_type_transformations, :message, 1, "google.privacy.dlp.v2.InfoTypeTransformations"
      optional :record_transformations, :message, 2, "google.privacy.dlp.v2.RecordTransformations"
    end
  end
  add_message "google.privacy.dlp.v2.PrimitiveTransformation" do
    oneof :transformation do
      optional :replace_config, :message, 1, "google.privacy.dlp.v2.ReplaceValueConfig"
      optional :redact_config, :message, 2, "google.privacy.dlp.v2.RedactConfig"
      optional :character_mask_config, :message, 3, "google.privacy.dlp.v2.CharacterMaskConfig"
      optional :crypto_replace_ffx_fpe_config, :message, 4, "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig"
      optional :fixed_size_bucketing_config, :message, 5, "google.privacy.dlp.v2.FixedSizeBucketingConfig"
      optional :bucketing_config, :message, 6, "google.privacy.dlp.v2.BucketingConfig"
      optional :replace_with_info_type_config, :message, 7, "google.privacy.dlp.v2.ReplaceWithInfoTypeConfig"
      optional :time_part_config, :message, 8, "google.privacy.dlp.v2.TimePartConfig"
      optional :crypto_hash_config, :message, 9, "google.privacy.dlp.v2.CryptoHashConfig"
      optional :date_shift_config, :message, 11, "google.privacy.dlp.v2.DateShiftConfig"
    end
  end
  add_message "google.privacy.dlp.v2.TimePartConfig" do
    optional :part_to_extract, :enum, 1, "google.privacy.dlp.v2.TimePartConfig.TimePart"
  end
  add_enum "google.privacy.dlp.v2.TimePartConfig.TimePart" do
    value :TIME_PART_UNSPECIFIED, 0
    value :YEAR, 1
    value :MONTH, 2
    value :DAY_OF_MONTH, 3
    value :DAY_OF_WEEK, 4
    value :WEEK_OF_YEAR, 5
    value :HOUR_OF_DAY, 6
  end
  add_message "google.privacy.dlp.v2.CryptoHashConfig" do
    optional :crypto_key, :message, 1, "google.privacy.dlp.v2.CryptoKey"
  end
  add_message "google.privacy.dlp.v2.ReplaceValueConfig" do
    optional :new_value, :message, 1, "google.privacy.dlp.v2.Value"
  end
  add_message "google.privacy.dlp.v2.ReplaceWithInfoTypeConfig" do
  end
  add_message "google.privacy.dlp.v2.RedactConfig" do
  end
  add_message "google.privacy.dlp.v2.CharsToIgnore" do
    oneof :characters do
      optional :characters_to_skip, :string, 1
      optional :common_characters_to_ignore, :enum, 2, "google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore"
    end
  end
  add_enum "google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore" do
    value :COMMON_CHARS_TO_IGNORE_UNSPECIFIED, 0
    value :NUMERIC, 1
    value :ALPHA_UPPER_CASE, 2
    value :ALPHA_LOWER_CASE, 3
    value :PUNCTUATION, 4
    value :WHITESPACE, 5
  end
  add_message "google.privacy.dlp.v2.CharacterMaskConfig" do
    optional :masking_character, :string, 1
    optional :number_to_mask, :int32, 2
    optional :reverse_order, :bool, 3
    repeated :characters_to_ignore, :message, 4, "google.privacy.dlp.v2.CharsToIgnore"
  end
  add_message "google.privacy.dlp.v2.FixedSizeBucketingConfig" do
    optional :lower_bound, :message, 1, "google.privacy.dlp.v2.Value"
    optional :upper_bound, :message, 2, "google.privacy.dlp.v2.Value"
    optional :bucket_size, :double, 3
  end
  add_message "google.privacy.dlp.v2.BucketingConfig" do
    repeated :buckets, :message, 1, "google.privacy.dlp.v2.BucketingConfig.Bucket"
  end
  add_message "google.privacy.dlp.v2.BucketingConfig.Bucket" do
    optional :min, :message, 1, "google.privacy.dlp.v2.Value"
    optional :max, :message, 2, "google.privacy.dlp.v2.Value"
    optional :replacement_value, :message, 3, "google.privacy.dlp.v2.Value"
  end
  add_message "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig" do
    optional :crypto_key, :message, 1, "google.privacy.dlp.v2.CryptoKey"
    optional :context, :message, 2, "google.privacy.dlp.v2.FieldId"
    optional :surrogate_info_type, :message, 8, "google.privacy.dlp.v2.InfoType"
    oneof :alphabet do
      optional :common_alphabet, :enum, 4, "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet"
      optional :custom_alphabet, :string, 5
      optional :radix, :int32, 6
    end
  end
  add_enum "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet" do
    value :FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED, 0
    value :NUMERIC, 1
    value :HEXADECIMAL, 2
    value :UPPER_CASE_ALPHA_NUMERIC, 3
    value :ALPHA_NUMERIC, 4
  end
  add_message "google.privacy.dlp.v2.CryptoKey" do
    oneof :source do
      optional :transient, :message, 1, "google.privacy.dlp.v2.TransientCryptoKey"
      optional :unwrapped, :message, 2, "google.privacy.dlp.v2.UnwrappedCryptoKey"
      optional :kms_wrapped, :message, 3, "google.privacy.dlp.v2.KmsWrappedCryptoKey"
    end
  end
  add_message "google.privacy.dlp.v2.TransientCryptoKey" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.UnwrappedCryptoKey" do
    optional :key, :bytes, 1
  end
  add_message "google.privacy.dlp.v2.KmsWrappedCryptoKey" do
    optional :wrapped_key, :bytes, 1
    optional :crypto_key_name, :string, 2
  end
  add_message "google.privacy.dlp.v2.DateShiftConfig" do
    optional :upper_bound_days, :int32, 1
    optional :lower_bound_days, :int32, 2
    optional :context, :message, 3, "google.privacy.dlp.v2.FieldId"
    oneof :method do
      optional :crypto_key, :message, 4, "google.privacy.dlp.v2.CryptoKey"
    end
  end
  add_message "google.privacy.dlp.v2.InfoTypeTransformations" do
    repeated :transformations, :message, 1, "google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation"
  end
  add_message "google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation" do
    repeated :info_types, :message, 1, "google.privacy.dlp.v2.InfoType"
    optional :primitive_transformation, :message, 2, "google.privacy.dlp.v2.PrimitiveTransformation"
  end
  add_message "google.privacy.dlp.v2.FieldTransformation" do
    repeated :fields, :message, 1, "google.privacy.dlp.v2.FieldId"
    optional :condition, :message, 3, "google.privacy.dlp.v2.RecordCondition"
    oneof :transformation do
      optional :primitive_transformation, :message, 4, "google.privacy.dlp.v2.PrimitiveTransformation"
      optional :info_type_transformations, :message, 5, "google.privacy.dlp.v2.InfoTypeTransformations"
    end
  end
  add_message "google.privacy.dlp.v2.RecordTransformations" do
    repeated :field_transformations, :message, 1, "google.privacy.dlp.v2.FieldTransformation"
    repeated :record_suppressions, :message, 2, "google.privacy.dlp.v2.RecordSuppression"
  end
  add_message "google.privacy.dlp.v2.RecordSuppression" do
    optional :condition, :message, 1, "google.privacy.dlp.v2.RecordCondition"
  end
  add_message "google.privacy.dlp.v2.RecordCondition" do
    optional :expressions, :message, 3, "google.privacy.dlp.v2.RecordCondition.Expressions"
  end
  add_message "google.privacy.dlp.v2.RecordCondition.Condition" do
    optional :field, :message, 1, "google.privacy.dlp.v2.FieldId"
    optional :operator, :enum, 3, "google.privacy.dlp.v2.RelationalOperator"
    optional :value, :message, 4, "google.privacy.dlp.v2.Value"
  end
  add_message "google.privacy.dlp.v2.RecordCondition.Conditions" do
    repeated :conditions, :message, 1, "google.privacy.dlp.v2.RecordCondition.Condition"
  end
  add_message "google.privacy.dlp.v2.RecordCondition.Expressions" do
    optional :logical_operator, :enum, 1, "google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator"
    oneof :type do
      optional :conditions, :message, 3, "google.privacy.dlp.v2.RecordCondition.Conditions"
    end
  end
  add_enum "google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator" do
    value :LOGICAL_OPERATOR_UNSPECIFIED, 0
    value :AND, 1
  end
  add_message "google.privacy.dlp.v2.TransformationOverview" do
    optional :transformed_bytes, :int64, 2
    repeated :transformation_summaries, :message, 3, "google.privacy.dlp.v2.TransformationSummary"
  end
  add_message "google.privacy.dlp.v2.TransformationSummary" do
    optional :info_type, :message, 1, "google.privacy.dlp.v2.InfoType"
    optional :field, :message, 2, "google.privacy.dlp.v2.FieldId"
    optional :transformation, :message, 3, "google.privacy.dlp.v2.PrimitiveTransformation"
    repeated :field_transformations, :message, 5, "google.privacy.dlp.v2.FieldTransformation"
    optional :record_suppress, :message, 6, "google.privacy.dlp.v2.RecordSuppression"
    repeated :results, :message, 4, "google.privacy.dlp.v2.TransformationSummary.SummaryResult"
    optional :transformed_bytes, :int64, 7
  end
  add_message "google.privacy.dlp.v2.TransformationSummary.SummaryResult" do
    optional :count, :int64, 1
    optional :code, :enum, 2, "google.privacy.dlp.v2.TransformationSummary.TransformationResultCode"
    optional :details, :string, 3
  end
  add_enum "google.privacy.dlp.v2.TransformationSummary.TransformationResultCode" do
    value :TRANSFORMATION_RESULT_CODE_UNSPECIFIED, 0
    value :SUCCESS, 1
    value :ERROR, 2
  end
  add_message "google.privacy.dlp.v2.Schedule" do
    oneof :option do
      optional :recurrence_period_duration, :message, 1, "google.protobuf.Duration"
    end
  end
  add_message "google.privacy.dlp.v2.InspectTemplate" do
    optional :name, :string, 1
    optional :display_name, :string, 2
    optional :description, :string, 3
    optional :create_time, :message, 4, "google.protobuf.Timestamp"
    optional :update_time, :message, 5, "google.protobuf.Timestamp"
    optional :inspect_config, :message, 6, "google.privacy.dlp.v2.InspectConfig"
  end
  add_message "google.privacy.dlp.v2.DeidentifyTemplate" do
    optional :name, :string, 1
    optional :display_name, :string, 2
    optional :description, :string, 3
    optional :create_time, :message, 4, "google.protobuf.Timestamp"
    optional :update_time, :message, 5, "google.protobuf.Timestamp"
    optional :deidentify_config, :message, 6, "google.privacy.dlp.v2.DeidentifyConfig"
  end
  add_message "google.privacy.dlp.v2.Error" do
    optional :details, :message, 1, "google.rpc.Status"
    repeated :timestamps, :message, 2, "google.protobuf.Timestamp"
  end
  add_message "google.privacy.dlp.v2.JobTrigger" do
    optional :name, :string, 1
    optional :display_name, :string, 2
    optional :description, :string, 3
    repeated :triggers, :message, 5, "google.privacy.dlp.v2.JobTrigger.Trigger"
    repeated :errors, :message, 6, "google.privacy.dlp.v2.Error"
    optional :create_time, :message, 7, "google.protobuf.Timestamp"
    optional :update_time, :message, 8, "google.protobuf.Timestamp"
    optional :last_run_time, :message, 9, "google.protobuf.Timestamp"
    optional :status, :enum, 10, "google.privacy.dlp.v2.JobTrigger.Status"
    oneof :job do
      optional :inspect_job, :message, 4, "google.privacy.dlp.v2.InspectJobConfig"
    end
  end
  add_message "google.privacy.dlp.v2.JobTrigger.Trigger" do
    oneof :trigger do
      optional :schedule, :message, 1, "google.privacy.dlp.v2.Schedule"
    end
  end
  add_enum "google.privacy.dlp.v2.JobTrigger.Status" do
    value :STATUS_UNSPECIFIED, 0
    value :HEALTHY, 1
    value :PAUSED, 2
    value :CANCELLED, 3
  end
  add_message "google.privacy.dlp.v2.Action" do
    oneof :action do
      optional :save_findings, :message, 1, "google.privacy.dlp.v2.Action.SaveFindings"
      optional :pub_sub, :message, 2, "google.privacy.dlp.v2.Action.PublishToPubSub"
      optional :publish_summary_to_cscc, :message, 3, "google.privacy.dlp.v2.Action.PublishSummaryToCscc"
    end
  end
  add_message "google.privacy.dlp.v2.Action.SaveFindings" do
    optional :output_config, :message, 1, "google.privacy.dlp.v2.OutputStorageConfig"
  end
  add_message "google.privacy.dlp.v2.Action.PublishToPubSub" do
    optional :topic, :string, 1
  end
  add_message "google.privacy.dlp.v2.Action.PublishSummaryToCscc" do
  end
  add_message "google.privacy.dlp.v2.CreateInspectTemplateRequest" do
    optional :parent, :string, 1
    optional :inspect_template, :message, 2, "google.privacy.dlp.v2.InspectTemplate"
    optional :template_id, :string, 3
  end
  add_message "google.privacy.dlp.v2.UpdateInspectTemplateRequest" do
    optional :name, :string, 1
    optional :inspect_template, :message, 2, "google.privacy.dlp.v2.InspectTemplate"
    optional :update_mask, :message, 3, "google.protobuf.FieldMask"
  end
  add_message "google.privacy.dlp.v2.GetInspectTemplateRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.ListInspectTemplatesRequest" do
    optional :parent, :string, 1
    optional :page_token, :string, 2
    optional :page_size, :int32, 3
  end
  add_message "google.privacy.dlp.v2.ListInspectTemplatesResponse" do
    repeated :inspect_templates, :message, 1, "google.privacy.dlp.v2.InspectTemplate"
    optional :next_page_token, :string, 2
  end
  add_message "google.privacy.dlp.v2.DeleteInspectTemplateRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.CreateJobTriggerRequest" do
    optional :parent, :string, 1
    optional :job_trigger, :message, 2, "google.privacy.dlp.v2.JobTrigger"
    optional :trigger_id, :string, 3
  end
  add_message "google.privacy.dlp.v2.UpdateJobTriggerRequest" do
    optional :name, :string, 1
    optional :job_trigger, :message, 2, "google.privacy.dlp.v2.JobTrigger"
    optional :update_mask, :message, 3, "google.protobuf.FieldMask"
  end
  add_message "google.privacy.dlp.v2.GetJobTriggerRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.CreateDlpJobRequest" do
    optional :parent, :string, 1
    optional :job_id, :string, 4
    oneof :job do
      optional :inspect_job, :message, 2, "google.privacy.dlp.v2.InspectJobConfig"
      optional :risk_job, :message, 3, "google.privacy.dlp.v2.RiskAnalysisJobConfig"
    end
  end
  add_message "google.privacy.dlp.v2.ListJobTriggersRequest" do
    optional :parent, :string, 1
    optional :page_token, :string, 2
    optional :page_size, :int32, 3
    optional :order_by, :string, 4
  end
  add_message "google.privacy.dlp.v2.ListJobTriggersResponse" do
    repeated :job_triggers, :message, 1, "google.privacy.dlp.v2.JobTrigger"
    optional :next_page_token, :string, 2
  end
  add_message "google.privacy.dlp.v2.DeleteJobTriggerRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.InspectJobConfig" do
    optional :storage_config, :message, 1, "google.privacy.dlp.v2.StorageConfig"
    optional :inspect_config, :message, 2, "google.privacy.dlp.v2.InspectConfig"
    optional :inspect_template_name, :string, 3
    repeated :actions, :message, 4, "google.privacy.dlp.v2.Action"
  end
  add_message "google.privacy.dlp.v2.DlpJob" do
    optional :name, :string, 1
    optional :type, :enum, 2, "google.privacy.dlp.v2.DlpJobType"
    optional :state, :enum, 3, "google.privacy.dlp.v2.DlpJob.JobState"
    optional :create_time, :message, 6, "google.protobuf.Timestamp"
    optional :start_time, :message, 7, "google.protobuf.Timestamp"
    optional :end_time, :message, 8, "google.protobuf.Timestamp"
    optional :job_trigger_name, :string, 10
    repeated :errors, :message, 11, "google.privacy.dlp.v2.Error"
    oneof :details do
      optional :risk_details, :message, 4, "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails"
      optional :inspect_details, :message, 5, "google.privacy.dlp.v2.InspectDataSourceDetails"
    end
  end
  add_enum "google.privacy.dlp.v2.DlpJob.JobState" do
    value :JOB_STATE_UNSPECIFIED, 0
    value :PENDING, 1
    value :RUNNING, 2
    value :DONE, 3
    value :CANCELED, 4
    value :FAILED, 5
  end
  add_message "google.privacy.dlp.v2.GetDlpJobRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.ListDlpJobsRequest" do
    optional :parent, :string, 4
    optional :filter, :string, 1
    optional :page_size, :int32, 2
    optional :page_token, :string, 3
    optional :type, :enum, 5, "google.privacy.dlp.v2.DlpJobType"
  end
  add_message "google.privacy.dlp.v2.ListDlpJobsResponse" do
    repeated :jobs, :message, 1, "google.privacy.dlp.v2.DlpJob"
    optional :next_page_token, :string, 2
  end
  add_message "google.privacy.dlp.v2.CancelDlpJobRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.DeleteDlpJobRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.CreateDeidentifyTemplateRequest" do
    optional :parent, :string, 1
    optional :deidentify_template, :message, 2, "google.privacy.dlp.v2.DeidentifyTemplate"
    optional :template_id, :string, 3
  end
  add_message "google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest" do
    optional :name, :string, 1
    optional :deidentify_template, :message, 2, "google.privacy.dlp.v2.DeidentifyTemplate"
    optional :update_mask, :message, 3, "google.protobuf.FieldMask"
  end
  add_message "google.privacy.dlp.v2.GetDeidentifyTemplateRequest" do
    optional :name, :string, 1
  end
  add_message "google.privacy.dlp.v2.ListDeidentifyTemplatesRequest" do
    optional :parent, :string, 1
    optional :page_token, :string, 2
    optional :page_size, :int32, 3
  end
  add_message "google.privacy.dlp.v2.ListDeidentifyTemplatesResponse" do
    repeated :deidentify_templates, :message, 1, "google.privacy.dlp.v2.DeidentifyTemplate"
    optional :next_page_token, :string, 2
  end
  add_message "google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest" do
    optional :name, :string, 1
  end
  add_enum "google.privacy.dlp.v2.ContentOption" do
    value :CONTENT_UNSPECIFIED, 0
    value :CONTENT_TEXT, 1
    value :CONTENT_IMAGE, 2
  end
  add_enum "google.privacy.dlp.v2.InfoTypeSupportedBy" do
    value :ENUM_TYPE_UNSPECIFIED, 0
    value :INSPECT, 1
    value :RISK_ANALYSIS, 2
  end
  add_enum "google.privacy.dlp.v2.RelationalOperator" do
    value :RELATIONAL_OPERATOR_UNSPECIFIED, 0
    value :EQUAL_TO, 1
    value :NOT_EQUAL_TO, 2
    value :GREATER_THAN, 3
    value :LESS_THAN, 4
    value :GREATER_THAN_OR_EQUALS, 5
    value :LESS_THAN_OR_EQUALS, 6
    value :EXISTS, 7
  end
  add_enum "google.privacy.dlp.v2.DlpJobType" do
    value :DLP_JOB_TYPE_UNSPECIFIED, 0
    value :INSPECT_JOB, 1
    value :RISK_ANALYSIS_JOB, 2
  end
end

module Google
  module Privacy
    module Dlp
      module V2
        InspectConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectConfig").msgclass
        InspectConfig::FindingLimits = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectConfig.FindingLimits").msgclass
        InspectConfig::FindingLimits::InfoTypeLimit = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit").msgclass
        ByteContentItem = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ByteContentItem").msgclass
        ByteContentItem::BytesType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ByteContentItem.BytesType").enummodule
        ContentItem = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ContentItem").msgclass
        Table = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Table").msgclass
        Table::Row = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Table.Row").msgclass
        InspectResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectResult").msgclass
        Finding = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Finding").msgclass
        Location = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Location").msgclass
        ContentLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ContentLocation").msgclass
        DocumentLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DocumentLocation").msgclass
        RecordLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordLocation").msgclass
        TableLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TableLocation").msgclass
        Range = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Range").msgclass
        ImageLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ImageLocation").msgclass
        BoundingBox = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.BoundingBox").msgclass
        RedactImageRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RedactImageRequest").msgclass
        RedactImageRequest::ImageRedactionConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig").msgclass
        Color = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Color").msgclass
        RedactImageResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RedactImageResponse").msgclass
        DeidentifyContentRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeidentifyContentRequest").msgclass
        DeidentifyContentResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeidentifyContentResponse").msgclass
        ReidentifyContentRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ReidentifyContentRequest").msgclass
        ReidentifyContentResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ReidentifyContentResponse").msgclass
        InspectContentRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectContentRequest").msgclass
        InspectContentResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectContentResponse").msgclass
        OutputStorageConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.OutputStorageConfig").msgclass
        OutputStorageConfig::OutputSchema = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.OutputStorageConfig.OutputSchema").enummodule
        InfoTypeStats = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InfoTypeStats").msgclass
        InspectDataSourceDetails = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectDataSourceDetails").msgclass
        InspectDataSourceDetails::RequestedOptions = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions").msgclass
        InspectDataSourceDetails::Result = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectDataSourceDetails.Result").msgclass
        InfoTypeDescription = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InfoTypeDescription").msgclass
        ListInfoTypesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListInfoTypesRequest").msgclass
        ListInfoTypesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListInfoTypesResponse").msgclass
        RiskAnalysisJobConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RiskAnalysisJobConfig").msgclass
        PrivacyMetric = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric").msgclass
        PrivacyMetric::NumericalStatsConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig").msgclass
        PrivacyMetric::CategoricalStatsConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig").msgclass
        PrivacyMetric::KAnonymityConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig").msgclass
        PrivacyMetric::LDiversityConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig").msgclass
        PrivacyMetric::KMapEstimationConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig").msgclass
        PrivacyMetric::KMapEstimationConfig::TaggedField = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField").msgclass
        PrivacyMetric::KMapEstimationConfig::AuxiliaryTable = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable").msgclass
        PrivacyMetric::KMapEstimationConfig::AuxiliaryTable::QuasiIdField = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField").msgclass
        AnalyzeDataSourceRiskDetails = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails").msgclass
        AnalyzeDataSourceRiskDetails::NumericalStatsResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult").msgclass
        AnalyzeDataSourceRiskDetails::CategoricalStatsResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult").msgclass
        AnalyzeDataSourceRiskDetails::CategoricalStatsResult::CategoricalStatsHistogramBucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket").msgclass
        AnalyzeDataSourceRiskDetails::KAnonymityResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult").msgclass
        AnalyzeDataSourceRiskDetails::KAnonymityResult::KAnonymityEquivalenceClass = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass").msgclass
        AnalyzeDataSourceRiskDetails::KAnonymityResult::KAnonymityHistogramBucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket").msgclass
        AnalyzeDataSourceRiskDetails::LDiversityResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult").msgclass
        AnalyzeDataSourceRiskDetails::LDiversityResult::LDiversityEquivalenceClass = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass").msgclass
        AnalyzeDataSourceRiskDetails::LDiversityResult::LDiversityHistogramBucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket").msgclass
        AnalyzeDataSourceRiskDetails::KMapEstimationResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult").msgclass
        AnalyzeDataSourceRiskDetails::KMapEstimationResult::KMapEstimationQuasiIdValues = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues").msgclass
        AnalyzeDataSourceRiskDetails::KMapEstimationResult::KMapEstimationHistogramBucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket").msgclass
        ValueFrequency = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ValueFrequency").msgclass
        Value = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Value").msgclass
        QuoteInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.QuoteInfo").msgclass
        DateTime = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DateTime").msgclass
        DateTime::TimeZone = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DateTime.TimeZone").msgclass
        DeidentifyConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeidentifyConfig").msgclass
        PrimitiveTransformation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.PrimitiveTransformation").msgclass
        TimePartConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TimePartConfig").msgclass
        TimePartConfig::TimePart = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TimePartConfig.TimePart").enummodule
        CryptoHashConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CryptoHashConfig").msgclass
        ReplaceValueConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ReplaceValueConfig").msgclass
        ReplaceWithInfoTypeConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ReplaceWithInfoTypeConfig").msgclass
        RedactConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RedactConfig").msgclass
        CharsToIgnore = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CharsToIgnore").msgclass
        CharsToIgnore::CommonCharsToIgnore = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore").enummodule
        CharacterMaskConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CharacterMaskConfig").msgclass
        FixedSizeBucketingConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.FixedSizeBucketingConfig").msgclass
        BucketingConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.BucketingConfig").msgclass
        BucketingConfig::Bucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.BucketingConfig.Bucket").msgclass
        CryptoReplaceFfxFpeConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig").msgclass
        CryptoReplaceFfxFpeConfig::FfxCommonNativeAlphabet = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet").enummodule
        CryptoKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CryptoKey").msgclass
        TransientCryptoKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TransientCryptoKey").msgclass
        UnwrappedCryptoKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.UnwrappedCryptoKey").msgclass
        KmsWrappedCryptoKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.KmsWrappedCryptoKey").msgclass
        DateShiftConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DateShiftConfig").msgclass
        InfoTypeTransformations = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InfoTypeTransformations").msgclass
        InfoTypeTransformations::InfoTypeTransformation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation").msgclass
        FieldTransformation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.FieldTransformation").msgclass
        RecordTransformations = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordTransformations").msgclass
        RecordSuppression = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordSuppression").msgclass
        RecordCondition = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordCondition").msgclass
        RecordCondition::Condition = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordCondition.Condition").msgclass
        RecordCondition::Conditions = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordCondition.Conditions").msgclass
        RecordCondition::Expressions = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordCondition.Expressions").msgclass
        RecordCondition::Expressions::LogicalOperator = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator").enummodule
        TransformationOverview = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TransformationOverview").msgclass
        TransformationSummary = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TransformationSummary").msgclass
        TransformationSummary::SummaryResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TransformationSummary.SummaryResult").msgclass
        TransformationSummary::TransformationResultCode = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.TransformationSummary.TransformationResultCode").enummodule
        Schedule = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Schedule").msgclass
        InspectTemplate = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectTemplate").msgclass
        DeidentifyTemplate = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeidentifyTemplate").msgclass
        Error = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Error").msgclass
        JobTrigger = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.JobTrigger").msgclass
        JobTrigger::Trigger = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.JobTrigger.Trigger").msgclass
        JobTrigger::Status = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.JobTrigger.Status").enummodule
        Action = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Action").msgclass
        Action::SaveFindings = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Action.SaveFindings").msgclass
        Action::PublishToPubSub = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Action.PublishToPubSub").msgclass
        Action::PublishSummaryToCscc = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.Action.PublishSummaryToCscc").msgclass
        CreateInspectTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CreateInspectTemplateRequest").msgclass
        UpdateInspectTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.UpdateInspectTemplateRequest").msgclass
        GetInspectTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.GetInspectTemplateRequest").msgclass
        ListInspectTemplatesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListInspectTemplatesRequest").msgclass
        ListInspectTemplatesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListInspectTemplatesResponse").msgclass
        DeleteInspectTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeleteInspectTemplateRequest").msgclass
        CreateJobTriggerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CreateJobTriggerRequest").msgclass
        UpdateJobTriggerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.UpdateJobTriggerRequest").msgclass
        GetJobTriggerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.GetJobTriggerRequest").msgclass
        CreateDlpJobRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CreateDlpJobRequest").msgclass
        ListJobTriggersRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListJobTriggersRequest").msgclass
        ListJobTriggersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListJobTriggersResponse").msgclass
        DeleteJobTriggerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeleteJobTriggerRequest").msgclass
        InspectJobConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InspectJobConfig").msgclass
        DlpJob = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DlpJob").msgclass
        DlpJob::JobState = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DlpJob.JobState").enummodule
        GetDlpJobRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.GetDlpJobRequest").msgclass
        ListDlpJobsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListDlpJobsRequest").msgclass
        ListDlpJobsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListDlpJobsResponse").msgclass
        CancelDlpJobRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CancelDlpJobRequest").msgclass
        DeleteDlpJobRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeleteDlpJobRequest").msgclass
        CreateDeidentifyTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.CreateDeidentifyTemplateRequest").msgclass
        UpdateDeidentifyTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest").msgclass
        GetDeidentifyTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.GetDeidentifyTemplateRequest").msgclass
        ListDeidentifyTemplatesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListDeidentifyTemplatesRequest").msgclass
        ListDeidentifyTemplatesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ListDeidentifyTemplatesResponse").msgclass
        DeleteDeidentifyTemplateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest").msgclass
        ContentOption = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.ContentOption").enummodule
        InfoTypeSupportedBy = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.InfoTypeSupportedBy").enummodule
        RelationalOperator = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.RelationalOperator").enummodule
        DlpJobType = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.privacy.dlp.v2.DlpJobType").enummodule
      end
    end
  end
end
