text: # -*- coding: utf-8 -*-
  # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: google/cloud/privacy/dlp_v2beta1/proto/dlp.proto
  
  import sys
  _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
  from google.protobuf.internal import enum_type_wrapper
  from google.protobuf import descriptor as _descriptor
  from google.protobuf import message as _message
  from google.protobuf import reflection as _reflection
  from google.protobuf import symbol_database as _symbol_database
  from google.protobuf import descriptor_pb2
  # @@protoc_insertion_point(imports)
  
  _sym_db = _symbol_database.Default()
  
  
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
  from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
  from google.cloud.dlp_v2beta1.proto import storage_pb2 as google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2
  from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
  from google.type import date_pb2 as google_dot_type_dot_date__pb2
  from google.type import timeofday_pb2 as google_dot_type_dot_timeofday__pb2
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='google/cloud/privacy/dlp_v2beta1/proto/dlp.proto',
    package='google.privacy.dlp.v2beta1',
    syntax='proto3',
    serialized_pb=_b('\n0google/cloud/privacy/dlp_v2beta1/proto/dlp.proto\x12\x1agoogle.privacy.dlp.v2beta1\x1a\x1cgoogle/api/annotations.proto\x1a#google/longrunning/operations.proto\x1a\x34google/cloud/privacy/dlp_v2beta1/proto/storage.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/date.proto\x1a\x1bgoogle/type/timeofday.proto\"\xc7\x03\n\rInspectConfig\x12\x38\n\ninfo_types\x18\x01 \x03(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12>\n\x0emin_likelihood\x18\x02 \x01(\x0e\x32&.google.privacy.dlp.v2beta1.Likelihood\x12\x14\n\x0cmax_findings\x18\x03 \x01(\x05\x12\x15\n\rinclude_quote\x18\x04 \x01(\x08\x12\x15\n\rexclude_types\x18\x06 \x01(\x08\x12Q\n\x10info_type_limits\x18\x07 \x03(\x0b\x32\x37.google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit\x12\x45\n\x11\x63ustom_info_types\x18\x08 \x03(\x0b\x32*.google.privacy.dlp.v2beta1.CustomInfoType\x1a^\n\rInfoTypeLimit\x12\x37\n\tinfo_type\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12\x14\n\x0cmax_findings\x18\x02 \x01(\x05\",\n\x0fOperationConfig\x12\x19\n\x11max_item_findings\x18\x01 \x01(\x03\"}\n\x0b\x43ontentItem\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x12\x0f\n\x05value\x18\x03 \x01(\tH\x00\x12\x32\n\x05table\x18\x04 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.TableH\x00\x42\x0b\n\tdata_item\"\xac\x01\n\x05Table\x12\x34\n\x07headers\x18\x01 \x03(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12\x33\n\x04rows\x18\x02 \x03(\x0b\x32%.google.privacy.dlp.v2beta1.Table.Row\x1a\x38\n\x03Row\x12\x31\n\x06values\x18\x01 \x03(\x0b\x32!.google.privacy.dlp.v2beta1.Value\"b\n\rInspectResult\x12\x35\n\x08\x66indings\x18\x01 \x03(\x0b\x32#.google.privacy.dlp.v2beta1.Finding\x12\x1a\n\x12\x66indings_truncated\x18\x02 \x01(\x08\"\xf6\x01\n\x07\x46inding\x12\r\n\x05quote\x18\x01 \x01(\t\x12\x37\n\tinfo_type\x18\x02 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12:\n\nlikelihood\x18\x03 \x01(\x0e\x32&.google.privacy.dlp.v2beta1.Likelihood\x12\x36\n\x08location\x18\x04 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.Location\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xf2\x02\n\x08Location\x12\x35\n\nbyte_range\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Range\x12:\n\x0f\x63odepoint_range\x18\x02 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Range\x12>\n\x0bimage_boxes\x18\x03 \x03(\x0b\x32).google.privacy.dlp.v2beta1.ImageLocation\x12\x39\n\nrecord_key\x18\x04 \x01(\x0b\x32%.google.privacy.dlp.v2beta1.RecordKey\x12\x35\n\x08\x66ield_id\x18\x05 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12\x41\n\x0etable_location\x18\x06 \x01(\x0b\x32).google.privacy.dlp.v2beta1.TableLocation\"\"\n\rTableLocation\x12\x11\n\trow_index\x18\x01 \x01(\x03\"#\n\x05Range\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\"I\n\rImageLocation\x12\x0b\n\x03top\x18\x01 \x01(\x05\x12\x0c\n\x04left\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\"\xe7\x04\n\x14RedactContentRequest\x12\x41\n\x0einspect_config\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectConfig\x12\x36\n\x05items\x18\x02 \x03(\x0b\x32\'.google.privacy.dlp.v2beta1.ContentItem\x12W\n\x0freplace_configs\x18\x03 \x03(\x0b\x32>.google.privacy.dlp.v2beta1.RedactContentRequest.ReplaceConfig\x12\x66\n\x17image_redaction_configs\x18\x04 \x03(\x0b\x32\x45.google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig\x1a^\n\rReplaceConfig\x12\x37\n\tinfo_type\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12\x14\n\x0creplace_with\x18\x02 \x01(\t\x1a\xb2\x01\n\x14ImageRedactionConfig\x12\x39\n\tinfo_type\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoTypeH\x00\x12\x19\n\x0fredact_all_text\x18\x02 \x01(\x08H\x00\x12:\n\x0fredaction_color\x18\x03 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.ColorB\x08\n\x06target\"1\n\x05\x43olor\x12\x0b\n\x03red\x18\x01 \x01(\x02\x12\r\n\x05green\x18\x02 \x01(\x02\x12\x0c\n\x04\x62lue\x18\x03 \x01(\x02\"O\n\x15RedactContentResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32\'.google.privacy.dlp.v2beta1.ContentItem\"\xde\x01\n\x18\x44\x65identifyContentRequest\x12G\n\x11\x64\x65identify_config\x18\x01 \x01(\x0b\x32,.google.privacy.dlp.v2beta1.DeidentifyConfig\x12\x41\n\x0einspect_config\x18\x02 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectConfig\x12\x36\n\x05items\x18\x03 \x03(\x0b\x32\'.google.privacy.dlp.v2beta1.ContentItem\"\x9b\x01\n\x19\x44\x65identifyContentResponse\x12\x36\n\x05items\x18\x01 \x03(\x0b\x32\'.google.privacy.dlp.v2beta1.ContentItem\x12\x46\n\tsummaries\x18\x02 \x03(\x0b\x32\x33.google.privacy.dlp.v2beta1.DeidentificationSummary\"\x92\x01\n\x15InspectContentRequest\x12\x41\n\x0einspect_config\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectConfig\x12\x36\n\x05items\x18\x02 \x03(\x0b\x32\'.google.privacy.dlp.v2beta1.ContentItem\"T\n\x16InspectContentResponse\x12:\n\x07results\x18\x01 \x03(\x0b\x32).google.privacy.dlp.v2beta1.InspectResult\"\xb4\x02\n\x1d\x43reateInspectOperationRequest\x12\x41\n\x0einspect_config\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectConfig\x12\x41\n\x0estorage_config\x18\x02 \x01(\x0b\x32).google.privacy.dlp.v2beta1.StorageConfig\x12\x46\n\routput_config\x18\x03 \x01(\x0b\x32/.google.privacy.dlp.v2beta1.OutputStorageConfig\x12\x45\n\x10operation_config\x18\x05 \x01(\x0b\x32+.google.privacy.dlp.v2beta1.OperationConfig\"\x9f\x01\n\x13OutputStorageConfig\x12:\n\x05table\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.BigQueryTableH\x00\x12\x44\n\x0cstorage_path\x18\x02 \x01(\x0b\x32,.google.privacy.dlp.v2beta1.CloudStoragePathH\x00\x42\x06\n\x04type\"\\\n\x12InfoTypeStatistics\x12\x37\n\tinfo_type\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\"\xb2\x03\n\x18InspectOperationMetadata\x12\x17\n\x0fprocessed_bytes\x18\x01 \x01(\x03\x12\x1d\n\x15total_estimated_bytes\x18\x04 \x01(\x03\x12G\n\x0finfo_type_stats\x18\x02 \x03(\x0b\x32..google.privacy.dlp.v2beta1.InfoTypeStatistics\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\x16request_inspect_config\x18\x05 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectConfig\x12I\n\x16request_storage_config\x18\x06 \x01(\x0b\x32).google.privacy.dlp.v2beta1.StorageConfig\x12N\n\x15request_output_config\x18\x07 \x01(\x0b\x32/.google.privacy.dlp.v2beta1.OutputStorageConfig\"&\n\x16InspectOperationResult\x12\x0c\n\x04name\x18\x01 \x01(\t\"a\n\x1aListInspectFindingsRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"q\n\x1bListInspectFindingsResponse\x12\x39\n\x06result\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.InspectResult\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"~\n\x13InfoTypeDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x43\n\ncategories\x18\x03 \x03(\x0b\x32/.google.privacy.dlp.v2beta1.CategoryDescription\"?\n\x14ListInfoTypesRequest\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x15\n\rlanguage_code\x18\x02 \x01(\t\"\\\n\x15ListInfoTypesResponse\x12\x43\n\ninfo_types\x18\x01 \x03(\x0b\x32/.google.privacy.dlp.v2beta1.InfoTypeDescription\"9\n\x13\x43\x61tegoryDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\"2\n\x19ListRootCategoriesRequest\x12\x15\n\rlanguage_code\x18\x01 \x01(\t\"a\n\x1aListRootCategoriesResponse\x12\x43\n\ncategories\x18\x01 \x03(\x0b\x32/.google.privacy.dlp.v2beta1.CategoryDescription\"\xa2\x01\n\x1c\x41nalyzeDataSourceRiskRequest\x12\x41\n\x0eprivacy_metric\x18\x01 \x01(\x0b\x32).google.privacy.dlp.v2beta1.PrivacyMetric\x12?\n\x0csource_table\x18\x03 \x01(\x0b\x32).google.privacy.dlp.v2beta1.BigQueryTable\"\xc2\x06\n\rPrivacyMetric\x12`\n\x16numerical_stats_config\x18\x01 \x01(\x0b\x32>.google.privacy.dlp.v2beta1.PrivacyMetric.NumericalStatsConfigH\x00\x12\x64\n\x18\x63\x61tegorical_stats_config\x18\x02 \x01(\x0b\x32@.google.privacy.dlp.v2beta1.PrivacyMetric.CategoricalStatsConfigH\x00\x12X\n\x12k_anonymity_config\x18\x03 \x01(\x0b\x32:.google.privacy.dlp.v2beta1.PrivacyMetric.KAnonymityConfigH\x00\x12X\n\x12l_diversity_config\x18\x04 \x01(\x0b\x32:.google.privacy.dlp.v2beta1.PrivacyMetric.LDiversityConfigH\x00\x1aJ\n\x14NumericalStatsConfig\x12\x32\n\x05\x66ield\x18\x01 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x1aL\n\x16\x43\x61tegoricalStatsConfig\x12\x32\n\x05\x66ield\x18\x01 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x1a\x83\x01\n\x10KAnonymityConfig\x12\x36\n\tquasi_ids\x18\x01 \x03(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12\x37\n\tentity_id\x18\x02 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.EntityId\x1a\x8c\x01\n\x10LDiversityConfig\x12\x36\n\tquasi_ids\x18\x01 \x03(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12@\n\x13sensitive_attribute\x18\x02 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldIdB\x06\n\x04type\"\xe8\x01\n\x1dRiskAnalysisOperationMetadata\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12K\n\x18requested_privacy_metric\x18\x02 \x01(\x0b\x32).google.privacy.dlp.v2beta1.PrivacyMetric\x12I\n\x16requested_source_table\x18\x03 \x01(\x0b\x32).google.privacy.dlp.v2beta1.BigQueryTable\"\xeb\x11\n\x1bRiskAnalysisOperationResult\x12n\n\x16numerical_stats_result\x18\x03 \x01(\x0b\x32L.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResultH\x00\x12r\n\x18\x63\x61tegorical_stats_result\x18\x04 \x01(\x0b\x32N.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResultH\x00\x12\x66\n\x12k_anonymity_result\x18\x05 \x01(\x0b\x32H.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResultH\x00\x12\x66\n\x12l_diversity_result\x18\x06 \x01(\x0b\x32H.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResultH\x00\x1a\xbe\x01\n\x14NumericalStatsResult\x12\x34\n\tmin_value\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\x34\n\tmax_value\x18\x02 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12:\n\x0fquantile_values\x18\x04 \x03(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x1a\xfa\x02\n\x16\x43\x61tegoricalStatsResult\x12\x99\x01\n!value_frequency_histogram_buckets\x18\x05 \x03(\x0b\x32n.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket\x1a\xc3\x01\n\x1f\x43\x61tegoricalStatsHistogramBucket\x12#\n\x1bvalue_frequency_lower_bound\x18\x01 \x01(\x03\x12#\n\x1bvalue_frequency_upper_bound\x18\x02 \x01(\x03\x12\x13\n\x0b\x62ucket_size\x18\x03 \x01(\x03\x12\x41\n\rbucket_values\x18\x04 \x03(\x0b\x32*.google.privacy.dlp.v2beta1.ValueFrequency\x1a\xa6\x04\n\x10KAnonymityResult\x12\x8f\x01\n#equivalence_class_histogram_buckets\x18\x05 \x03(\x0b\x32\x62.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket\x1ay\n\x1aKAnonymityEquivalenceClass\x12;\n\x10quasi_ids_values\x18\x01 \x03(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\x1e\n\x16\x65quivalence_class_size\x18\x02 \x01(\x03\x1a\x84\x02\n\x19KAnonymityHistogramBucket\x12*\n\"equivalence_class_size_lower_bound\x18\x01 \x01(\x03\x12*\n\"equivalence_class_size_upper_bound\x18\x02 \x01(\x03\x12\x13\n\x0b\x62ucket_size\x18\x03 \x01(\x03\x12z\n\rbucket_values\x18\x04 \x03(\x0b\x32\x63.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass\x1a\xa6\x05\n\x10LDiversityResult\x12\x97\x01\n+sensitive_value_frequency_histogram_buckets\x18\x05 \x03(\x0b\x32\x62.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket\x1a\xea\x01\n\x1aLDiversityEquivalenceClass\x12;\n\x10quasi_ids_values\x18\x01 \x03(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\x1e\n\x16\x65quivalence_class_size\x18\x02 \x01(\x03\x12%\n\x1dnum_distinct_sensitive_values\x18\x03 \x01(\x03\x12H\n\x14top_sensitive_values\x18\x04 \x03(\x0b\x32*.google.privacy.dlp.v2beta1.ValueFrequency\x1a\x8a\x02\n\x19LDiversityHistogramBucket\x12-\n%sensitive_value_frequency_lower_bound\x18\x01 \x01(\x03\x12-\n%sensitive_value_frequency_upper_bound\x18\x02 \x01(\x03\x12\x13\n\x0b\x62ucket_size\x18\x03 \x01(\x03\x12z\n\rbucket_values\x18\x04 \x03(\x0b\x32\x63.google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClassB\x08\n\x06result\"Q\n\x0eValueFrequency\x12\x30\n\x05value\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\"\xfe\x01\n\x05Value\x12\x17\n\rinteger_value\x18\x01 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x17\n\rboolean_value\x18\x04 \x01(\x08H\x00\x12\x35\n\x0ftimestamp_value\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12,\n\ntime_value\x18\x06 \x01(\x0b\x32\x16.google.type.TimeOfDayH\x00\x12\'\n\ndate_value\x18\x07 \x01(\x0b\x32\x11.google.type.DateH\x00\x42\x06\n\x04type\"\xd3\x01\n\x10\x44\x65identifyConfig\x12X\n\x19info_type_transformations\x18\x01 \x01(\x0b\x32\x33.google.privacy.dlp.v2beta1.InfoTypeTransformationsH\x00\x12S\n\x16record_transformations\x18\x02 \x01(\x0b\x32\x31.google.privacy.dlp.v2beta1.RecordTransformationsH\x00\x42\x10\n\x0etransformation\"\x84\x06\n\x17PrimitiveTransformation\x12H\n\x0ereplace_config\x18\x01 \x01(\x0b\x32..google.privacy.dlp.v2beta1.ReplaceValueConfigH\x00\x12\x41\n\rredact_config\x18\x02 \x01(\x0b\x32(.google.privacy.dlp.v2beta1.RedactConfigH\x00\x12P\n\x15\x63haracter_mask_config\x18\x03 \x01(\x0b\x32/.google.privacy.dlp.v2beta1.CharacterMaskConfigH\x00\x12^\n\x1d\x63rypto_replace_ffx_fpe_config\x18\x04 \x01(\x0b\x32\x35.google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfigH\x00\x12[\n\x1b\x66ixed_size_bucketing_config\x18\x05 \x01(\x0b\x32\x34.google.privacy.dlp.v2beta1.FixedSizeBucketingConfigH\x00\x12G\n\x10\x62ucketing_config\x18\x06 \x01(\x0b\x32+.google.privacy.dlp.v2beta1.BucketingConfigH\x00\x12^\n\x1dreplace_with_info_type_config\x18\x07 \x01(\x0b\x32\x35.google.privacy.dlp.v2beta1.ReplaceWithInfoTypeConfigH\x00\x12\x46\n\x10time_part_config\x18\x08 \x01(\x0b\x32*.google.privacy.dlp.v2beta1.TimePartConfigH\x00\x12J\n\x12\x63rypto_hash_config\x18\t \x01(\x0b\x32,.google.privacy.dlp.v2beta1.CryptoHashConfigH\x00\x42\x10\n\x0etransformation\"\xe1\x01\n\x0eTimePartConfig\x12L\n\x0fpart_to_extract\x18\x01 \x01(\x0e\x32\x33.google.privacy.dlp.v2beta1.TimePartConfig.TimePart\"\x80\x01\n\x08TimePart\x12\x19\n\x15TIME_PART_UNSPECIFIED\x10\x00\x12\x08\n\x04YEAR\x10\x01\x12\t\n\x05MONTH\x10\x02\x12\x10\n\x0c\x44\x41Y_OF_MONTH\x10\x03\x12\x0f\n\x0b\x44\x41Y_OF_WEEK\x10\x04\x12\x10\n\x0cWEEK_OF_YEAR\x10\x05\x12\x0f\n\x0bHOUR_OF_DAY\x10\x06\"M\n\x10\x43ryptoHashConfig\x12\x39\n\ncrypto_key\x18\x01 \x01(\x0b\x32%.google.privacy.dlp.v2beta1.CryptoKey\"J\n\x12ReplaceValueConfig\x12\x34\n\tnew_value\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\"\x1b\n\x19ReplaceWithInfoTypeConfig\"\x0e\n\x0cRedactConfig\"\xaa\x02\n\rCharsToIgnore\x12\x1c\n\x12\x63haracters_to_skip\x18\x01 \x01(\tH\x00\x12_\n\x1b\x63ommon_characters_to_ignore\x18\x02 \x01(\x0e\x32\x38.google.privacy.dlp.v2beta1.CharsToIgnore.CharacterGroupH\x00\"\x8b\x01\n\x0e\x43haracterGroup\x12\x1f\n\x1b\x43HARACTER_GROUP_UNSPECIFIED\x10\x00\x12\x0b\n\x07NUMERIC\x10\x01\x12\x14\n\x10\x41LPHA_UPPER_CASE\x10\x02\x12\x14\n\x10\x41LPHA_LOWER_CASE\x10\x03\x12\x0f\n\x0bPUNCTUATION\x10\x04\x12\x0e\n\nWHITESPACE\x10\x05\x42\x0c\n\ncharacters\"\xa8\x01\n\x13\x43haracterMaskConfig\x12\x19\n\x11masking_character\x18\x01 \x01(\t\x12\x16\n\x0enumber_to_mask\x18\x02 \x01(\x05\x12\x15\n\rreverse_order\x18\x03 \x01(\x08\x12G\n\x14\x63haracters_to_ignore\x18\x04 \x03(\x0b\x32).google.privacy.dlp.v2beta1.CharsToIgnore\"\x9f\x01\n\x18\x46ixedSizeBucketingConfig\x12\x36\n\x0blower_bound\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\x36\n\x0bupper_bound\x18\x02 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12\x13\n\x0b\x62ucket_size\x18\x03 \x01(\x01\"\xff\x01\n\x0f\x42ucketingConfig\x12\x43\n\x07\x62uckets\x18\x01 \x03(\x0b\x32\x32.google.privacy.dlp.v2beta1.BucketingConfig.Bucket\x1a\xa6\x01\n\x06\x42ucket\x12.\n\x03min\x18\x01 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12.\n\x03max\x18\x02 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x12<\n\x11replacement_value\x18\x03 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\"\xc5\x03\n\x19\x43ryptoReplaceFfxFpeConfig\x12\x39\n\ncrypto_key\x18\x01 \x01(\x0b\x32%.google.privacy.dlp.v2beta1.CryptoKey\x12\x34\n\x07\x63ontext\x18\x02 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12h\n\x0f\x63ommon_alphabet\x18\x04 \x01(\x0e\x32M.google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabetH\x00\x12\x19\n\x0f\x63ustom_alphabet\x18\x05 \x01(\tH\x00\x12\x0f\n\x05radix\x18\x06 \x01(\x05H\x00\"\x94\x01\n\x17\x46\x66xCommonNativeAlphabet\x12*\n&FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\x10\x00\x12\x0b\n\x07NUMERIC\x10\x01\x12\x0f\n\x0bHEXADECIMAL\x10\x02\x12\x1c\n\x18UPPER_CASE_ALPHA_NUMERIC\x10\x03\x12\x11\n\rALPHA_NUMERIC\x10\x04\x42\n\n\x08\x61lphabet\"\xe7\x01\n\tCryptoKey\x12\x43\n\ttransient\x18\x01 \x01(\x0b\x32..google.privacy.dlp.v2beta1.TransientCryptoKeyH\x00\x12\x43\n\tunwrapped\x18\x02 \x01(\x0b\x32..google.privacy.dlp.v2beta1.UnwrappedCryptoKeyH\x00\x12\x46\n\x0bkms_wrapped\x18\x03 \x01(\x0b\x32/.google.privacy.dlp.v2beta1.KmsWrappedCryptoKeyH\x00\x42\x08\n\x06source\"\"\n\x12TransientCryptoKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"!\n\x12UnwrappedCryptoKey\x12\x0b\n\x03key\x18\x01 \x01(\x0c\"C\n\x13KmsWrappedCryptoKey\x12\x13\n\x0bwrapped_key\x18\x01 \x01(\x0c\x12\x17\n\x0f\x63rypto_key_name\x18\x02 \x01(\t\"\xaa\x02\n\x17InfoTypeTransformations\x12\x63\n\x0ftransformations\x18\x01 \x03(\x0b\x32J.google.privacy.dlp.v2beta1.InfoTypeTransformations.InfoTypeTransformation\x1a\xa9\x01\n\x16InfoTypeTransformation\x12\x38\n\ninfo_types\x18\x01 \x03(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12U\n\x18primitive_transformation\x18\x02 \x01(\x0b\x32\x33.google.privacy.dlp.v2beta1.PrimitiveTransformation\"\xcf\x02\n\x13\x46ieldTransformation\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12>\n\tcondition\x18\x03 \x01(\x0b\x32+.google.privacy.dlp.v2beta1.RecordCondition\x12W\n\x18primitive_transformation\x18\x04 \x01(\x0b\x32\x33.google.privacy.dlp.v2beta1.PrimitiveTransformationH\x00\x12X\n\x19info_type_transformations\x18\x05 \x01(\x0b\x32\x33.google.privacy.dlp.v2beta1.InfoTypeTransformationsH\x00\x42\x10\n\x0etransformation\"\xb3\x01\n\x15RecordTransformations\x12N\n\x15\x66ield_transformations\x18\x01 \x03(\x0b\x32/.google.privacy.dlp.v2beta1.FieldTransformation\x12J\n\x13record_suppressions\x18\x02 \x03(\x0b\x32-.google.privacy.dlp.v2beta1.RecordSuppression\"S\n\x11RecordSuppression\x12>\n\tcondition\x18\x01 \x01(\x0b\x32+.google.privacy.dlp.v2beta1.RecordCondition\"\xf5\x04\n\x0fRecordCondition\x12L\n\x0b\x65xpressions\x18\x03 \x01(\x0b\x32\x37.google.privacy.dlp.v2beta1.RecordCondition.Expressions\x1a\xb3\x01\n\tCondition\x12\x32\n\x05\x66ield\x18\x01 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12@\n\x08operator\x18\x03 \x01(\x0e\x32..google.privacy.dlp.v2beta1.RelationalOperator\x12\x30\n\x05value\x18\x04 \x01(\x0b\x32!.google.privacy.dlp.v2beta1.Value\x1aW\n\nConditions\x12I\n\nconditions\x18\x01 \x03(\x0b\x32\x35.google.privacy.dlp.v2beta1.RecordCondition.Condition\x1a\x84\x02\n\x0b\x45xpressions\x12\x61\n\x10logical_operator\x18\x01 \x01(\x0e\x32G.google.privacy.dlp.v2beta1.RecordCondition.Expressions.LogicalOperator\x12L\n\nconditions\x18\x03 \x01(\x0b\x32\x36.google.privacy.dlp.v2beta1.RecordCondition.ConditionsH\x00\"<\n\x0fLogicalOperator\x12 \n\x1cLOGICAL_OPERATOR_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x42\x06\n\x04type\"\x89\x01\n\x17\x44\x65identificationSummary\x12\x19\n\x11transformed_bytes\x18\x02 \x01(\x03\x12S\n\x18transformation_summaries\x18\x03 \x03(\x0b\x32\x31.google.privacy.dlp.v2beta1.TransformationSummary\"\xa7\x05\n\x15TransformationSummary\x12\x37\n\tinfo_type\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2beta1.InfoType\x12\x32\n\x05\x66ield\x18\x02 \x01(\x0b\x32#.google.privacy.dlp.v2beta1.FieldId\x12K\n\x0etransformation\x18\x03 \x01(\x0b\x32\x33.google.privacy.dlp.v2beta1.PrimitiveTransformation\x12N\n\x15\x66ield_transformations\x18\x05 \x03(\x0b\x32/.google.privacy.dlp.v2beta1.FieldTransformation\x12\x46\n\x0frecord_suppress\x18\x06 \x01(\x0b\x32-.google.privacy.dlp.v2beta1.RecordSuppression\x12P\n\x07results\x18\x04 \x03(\x0b\x32?.google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult\x1a\x89\x01\n\rSummaryResult\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12X\n\x04\x63ode\x18\x02 \x01(\x0e\x32J.google.privacy.dlp.v2beta1.TransformationSummary.TransformationResultCode\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\"^\n\x18TransformationResultCode\x12*\n&TRANSFORMATION_RESULT_CODE_UNSPECIFIED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\t\n\x05\x45RROR\x10\x02*t\n\nLikelihood\x12\x1a\n\x16LIKELIHOOD_UNSPECIFIED\x10\x00\x12\x11\n\rVERY_UNLIKELY\x10\x01\x12\x0c\n\x08UNLIKELY\x10\x02\x12\x0c\n\x08POSSIBLE\x10\x03\x12\n\n\x06LIKELY\x10\x04\x12\x0f\n\x0bVERY_LIKELY\x10\x05*\xbb\x01\n\x12RelationalOperator\x12#\n\x1fRELATIONAL_OPERATOR_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x45QUAL_TO\x10\x01\x12\x10\n\x0cNOT_EQUAL_TO\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\x12\r\n\tLESS_THAN\x10\x04\x12\x1a\n\x16GREATER_THAN_OR_EQUALS\x10\x05\x12\x17\n\x13LESS_THAN_OR_EQUALS\x10\x06\x12\n\n\x06\x45XISTS\x10\x07\x32\xbc\n\n\nDlpService\x12\x9c\x01\n\x0eInspectContent\x12\x31.google.privacy.dlp.v2beta1.InspectContentRequest\x1a\x32.google.privacy.dlp.v2beta1.InspectContentResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v2beta1/content:inspect:\x01*\x12\x98\x01\n\rRedactContent\x12\x30.google.privacy.dlp.v2beta1.RedactContentRequest\x1a\x31.google.privacy.dlp.v2beta1.RedactContentResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v2beta1/content:redact:\x01*\x12\xa8\x01\n\x11\x44\x65identifyContent\x12\x34.google.privacy.dlp.v2beta1.DeidentifyContentRequest\x1a\x35.google.privacy.dlp.v2beta1.DeidentifyContentResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v2beta1/content:deidentify:\x01*\x12\x9a\x01\n\x16\x43reateInspectOperation\x12\x39.google.privacy.dlp.v2beta1.CreateInspectOperationRequest\x1a\x1d.google.longrunning.Operation\"&\x82\xd3\xe4\x93\x02 \"\x1b/v2beta1/inspect/operations:\x01*\x12\x98\x01\n\x15\x41nalyzeDataSourceRisk\x12\x38.google.privacy.dlp.v2beta1.AnalyzeDataSourceRiskRequest\x1a\x1d.google.longrunning.Operation\"&\x82\xd3\xe4\x93\x02 \"\x1b/v2beta1/dataSource:analyze:\x01*\x12\xba\x01\n\x13ListInspectFindings\x12\x36.google.privacy.dlp.v2beta1.ListInspectFindingsRequest\x1a\x37.google.privacy.dlp.v2beta1.ListInspectFindingsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v2beta1/{name=inspect/results/*}/findings\x12\xac\x01\n\rListInfoTypes\x12\x30.google.privacy.dlp.v2beta1.ListInfoTypesRequest\x1a\x31.google.privacy.dlp.v2beta1.ListInfoTypesResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./v2beta1/rootCategories/{category=*}/infoTypes\x12\xa4\x01\n\x12ListRootCategories\x12\x35.google.privacy.dlp.v2beta1.ListRootCategoriesRequest\x1a\x36.google.privacy.dlp.v2beta1.ListRootCategoriesResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2beta1/rootCategoriesB\xa1\x01\n\x1e\x63om.google.privacy.dlp.v2beta1B\x08\x44lpProtoP\x01Z=google.golang.org/genproto/googleapis/privacy/dlp/v2beta1;dlp\xaa\x02\x18Google.Cloud.Dlp.V2Beta1\xca\x02\x18Google\\Cloud\\Dlp\\V2beta1b\x06proto3')
    ,
    dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_type_dot_date__pb2.DESCRIPTOR,google_dot_type_dot_timeofday__pb2.DESCRIPTOR,])
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  _LIKELIHOOD = _descriptor.EnumDescriptor(
    name='Likelihood',
    full_name='google.privacy.dlp.v2beta1.Likelihood',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='LIKELIHOOD_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='VERY_UNLIKELY', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='UNLIKELY', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='POSSIBLE', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='LIKELY', index=4, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='VERY_LIKELY', index=5, number=5,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=14477,
    serialized_end=14593,
  )
  _sym_db.RegisterEnumDescriptor(_LIKELIHOOD)
  
  Likelihood = enum_type_wrapper.EnumTypeWrapper(_LIKELIHOOD)
  _RELATIONALOPERATOR = _descriptor.EnumDescriptor(
    name='RelationalOperator',
    full_name='google.privacy.dlp.v2beta1.RelationalOperator',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='RELATIONAL_OPERATOR_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='EQUAL_TO', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_EQUAL_TO', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GREATER_THAN', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='LESS_THAN', index=4, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GREATER_THAN_OR_EQUALS', index=5, number=5,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='LESS_THAN_OR_EQUALS', index=6, number=6,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='EXISTS', index=7, number=7,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=14596,
    serialized_end=14783,
  )
  _sym_db.RegisterEnumDescriptor(_RELATIONALOPERATOR)
  
  RelationalOperator = enum_type_wrapper.EnumTypeWrapper(_RELATIONALOPERATOR)
  LIKELIHOOD_UNSPECIFIED = 0
  VERY_UNLIKELY = 1
  UNLIKELY = 2
  POSSIBLE = 3
  LIKELY = 4
  VERY_LIKELY = 5
  RELATIONAL_OPERATOR_UNSPECIFIED = 0
  EQUAL_TO = 1
  NOT_EQUAL_TO = 2
  GREATER_THAN = 3
  LESS_THAN = 4
  GREATER_THAN_OR_EQUALS = 5
  LESS_THAN_OR_EQUALS = 6
  EXISTS = 7
  
  
  _TIMEPARTCONFIG_TIMEPART = _descriptor.EnumDescriptor(
    name='TimePart',
    full_name='google.privacy.dlp.v2beta1.TimePartConfig.TimePart',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='TIME_PART_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='YEAR', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MONTH', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DAY_OF_MONTH', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DAY_OF_WEEK', index=4, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='WEEK_OF_YEAR', index=5, number=5,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HOUR_OF_DAY', index=6, number=6,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=10065,
    serialized_end=10193,
  )
  _sym_db.RegisterEnumDescriptor(_TIMEPARTCONFIG_TIMEPART)
  
  _CHARSTOIGNORE_CHARACTERGROUP = _descriptor.EnumDescriptor(
    name='CharacterGroup',
    full_name='google.privacy.dlp.v2beta1.CharsToIgnore.CharacterGroup',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='CHARACTER_GROUP_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NUMERIC', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ALPHA_UPPER_CASE', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ALPHA_LOWER_CASE', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='PUNCTUATION', index=4, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='WHITESPACE', index=5, number=5,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=10541,
    serialized_end=10680,
  )
  _sym_db.RegisterEnumDescriptor(_CHARSTOIGNORE_CHARACTERGROUP)
  
  _CRYPTOREPLACEFFXFPECONFIG_FFXCOMMONNATIVEALPHABET = _descriptor.EnumDescriptor(
    name='FfxCommonNativeAlphabet',
    full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NUMERIC', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HEXADECIMAL', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='UPPER_CASE_ALPHA_NUMERIC', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ALPHA_NUMERIC', index=4, number=4,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=11581,
    serialized_end=11729,
  )
  _sym_db.RegisterEnumDescriptor(_CRYPTOREPLACEFFXFPECONFIG_FFXCOMMONNATIVEALPHABET)
  
  _RECORDCONDITION_EXPRESSIONS_LOGICALOPERATOR = _descriptor.EnumDescriptor(
    name='LogicalOperator',
    full_name='google.privacy.dlp.v2beta1.RecordCondition.Expressions.LogicalOperator',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='LOGICAL_OPERATOR_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='AND', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=13585,
    serialized_end=13645,
  )
  _sym_db.RegisterEnumDescriptor(_RECORDCONDITION_EXPRESSIONS_LOGICALOPERATOR)
  
  _TRANSFORMATIONSUMMARY_TRANSFORMATIONRESULTCODE = _descriptor.EnumDescriptor(
    name='TransformationResultCode',
    full_name='google.privacy.dlp.v2beta1.TransformationSummary.TransformationResultCode',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='TRANSFORMATION_RESULT_CODE_UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SUCCESS', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ERROR', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=14381,
    serialized_end=14475,
  )
  _sym_db.RegisterEnumDescriptor(_TRANSFORMATIONSUMMARY_TRANSFORMATIONRESULTCODE)
  
  
  _INSPECTCONFIG_INFOTYPELIMIT = _descriptor.Descriptor(
    name='InfoTypeLimit',
    full_name='google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit.info_type', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_findings', full_name='google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit.max_findings', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=678,
    serialized_end=772,
  )
  
  _INSPECTCONFIG = _descriptor.Descriptor(
    name='InspectConfig',
    full_name='google.privacy.dlp.v2beta1.InspectConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_types', full_name='google.privacy.dlp.v2beta1.InspectConfig.info_types', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='min_likelihood', full_name='google.privacy.dlp.v2beta1.InspectConfig.min_likelihood', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_findings', full_name='google.privacy.dlp.v2beta1.InspectConfig.max_findings', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='include_quote', full_name='google.privacy.dlp.v2beta1.InspectConfig.include_quote', index=3,
        number=4, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='exclude_types', full_name='google.privacy.dlp.v2beta1.InspectConfig.exclude_types', index=4,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='info_type_limits', full_name='google.privacy.dlp.v2beta1.InspectConfig.info_type_limits', index=5,
        number=7, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='custom_info_types', full_name='google.privacy.dlp.v2beta1.InspectConfig.custom_info_types', index=6,
        number=8, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_INSPECTCONFIG_INFOTYPELIMIT, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=317,
    serialized_end=772,
  )
  
  
  _OPERATIONCONFIG = _descriptor.Descriptor(
    name='OperationConfig',
    full_name='google.privacy.dlp.v2beta1.OperationConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='max_item_findings', full_name='google.privacy.dlp.v2beta1.OperationConfig.max_item_findings', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=774,
    serialized_end=818,
  )
  
  
  _CONTENTITEM = _descriptor.Descriptor(
    name='ContentItem',
    full_name='google.privacy.dlp.v2beta1.ContentItem',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='type', full_name='google.privacy.dlp.v2beta1.ContentItem.type', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='data', full_name='google.privacy.dlp.v2beta1.ContentItem.data', index=1,
        number=2, type=12, cpp_type=9, label=1,
        has_default_value=False, default_value=_b(""),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='google.privacy.dlp.v2beta1.ContentItem.value', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='table', full_name='google.privacy.dlp.v2beta1.ContentItem.table', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='data_item', full_name='google.privacy.dlp.v2beta1.ContentItem.data_item',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=820,
    serialized_end=945,
  )
  
  
  _TABLE_ROW = _descriptor.Descriptor(
    name='Row',
    full_name='google.privacy.dlp.v2beta1.Table.Row',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='values', full_name='google.privacy.dlp.v2beta1.Table.Row.values', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1064,
    serialized_end=1120,
  )
  
  _TABLE = _descriptor.Descriptor(
    name='Table',
    full_name='google.privacy.dlp.v2beta1.Table',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='headers', full_name='google.privacy.dlp.v2beta1.Table.headers', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rows', full_name='google.privacy.dlp.v2beta1.Table.rows', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_TABLE_ROW, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=948,
    serialized_end=1120,
  )
  
  
  _INSPECTRESULT = _descriptor.Descriptor(
    name='InspectResult',
    full_name='google.privacy.dlp.v2beta1.InspectResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='findings', full_name='google.privacy.dlp.v2beta1.InspectResult.findings', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='findings_truncated', full_name='google.privacy.dlp.v2beta1.InspectResult.findings_truncated', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1122,
    serialized_end=1220,
  )
  
  
  _FINDING = _descriptor.Descriptor(
    name='Finding',
    full_name='google.privacy.dlp.v2beta1.Finding',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='quote', full_name='google.privacy.dlp.v2beta1.Finding.quote', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.Finding.info_type', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='likelihood', full_name='google.privacy.dlp.v2beta1.Finding.likelihood', index=2,
        number=3, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='location', full_name='google.privacy.dlp.v2beta1.Finding.location', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='create_time', full_name='google.privacy.dlp.v2beta1.Finding.create_time', index=4,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1223,
    serialized_end=1469,
  )
  
  
  _LOCATION = _descriptor.Descriptor(
    name='Location',
    full_name='google.privacy.dlp.v2beta1.Location',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='byte_range', full_name='google.privacy.dlp.v2beta1.Location.byte_range', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='codepoint_range', full_name='google.privacy.dlp.v2beta1.Location.codepoint_range', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='image_boxes', full_name='google.privacy.dlp.v2beta1.Location.image_boxes', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='record_key', full_name='google.privacy.dlp.v2beta1.Location.record_key', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='field_id', full_name='google.privacy.dlp.v2beta1.Location.field_id', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='table_location', full_name='google.privacy.dlp.v2beta1.Location.table_location', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1472,
    serialized_end=1842,
  )
  
  
  _TABLELOCATION = _descriptor.Descriptor(
    name='TableLocation',
    full_name='google.privacy.dlp.v2beta1.TableLocation',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='row_index', full_name='google.privacy.dlp.v2beta1.TableLocation.row_index', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1844,
    serialized_end=1878,
  )
  
  
  _RANGE = _descriptor.Descriptor(
    name='Range',
    full_name='google.privacy.dlp.v2beta1.Range',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='start', full_name='google.privacy.dlp.v2beta1.Range.start', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='end', full_name='google.privacy.dlp.v2beta1.Range.end', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1880,
    serialized_end=1915,
  )
  
  
  _IMAGELOCATION = _descriptor.Descriptor(
    name='ImageLocation',
    full_name='google.privacy.dlp.v2beta1.ImageLocation',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='top', full_name='google.privacy.dlp.v2beta1.ImageLocation.top', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='left', full_name='google.privacy.dlp.v2beta1.ImageLocation.left', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='google.privacy.dlp.v2beta1.ImageLocation.width', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='google.privacy.dlp.v2beta1.ImageLocation.height', index=3,
        number=4, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1917,
    serialized_end=1990,
  )
  
  
  _REDACTCONTENTREQUEST_REPLACECONFIG = _descriptor.Descriptor(
    name='ReplaceConfig',
    full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ReplaceConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ReplaceConfig.info_type', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='replace_with', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ReplaceConfig.replace_with', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2333,
    serialized_end=2427,
  )
  
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG = _descriptor.Descriptor(
    name='ImageRedactionConfig',
    full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig.info_type', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='redact_all_text', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig.redact_all_text', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='redaction_color', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig.redaction_color', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='target', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig.target',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=2430,
    serialized_end=2608,
  )
  
  _REDACTCONTENTREQUEST = _descriptor.Descriptor(
    name='RedactContentRequest',
    full_name='google.privacy.dlp.v2beta1.RedactContentRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='inspect_config', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.inspect_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='items', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.items', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='replace_configs', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.replace_configs', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='image_redaction_configs', full_name='google.privacy.dlp.v2beta1.RedactContentRequest.image_redaction_configs', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_REDACTCONTENTREQUEST_REPLACECONFIG, _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1993,
    serialized_end=2608,
  )
  
  
  _COLOR = _descriptor.Descriptor(
    name='Color',
    full_name='google.privacy.dlp.v2beta1.Color',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='red', full_name='google.privacy.dlp.v2beta1.Color.red', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='green', full_name='google.privacy.dlp.v2beta1.Color.green', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blue', full_name='google.privacy.dlp.v2beta1.Color.blue', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2610,
    serialized_end=2659,
  )
  
  
  _REDACTCONTENTRESPONSE = _descriptor.Descriptor(
    name='RedactContentResponse',
    full_name='google.privacy.dlp.v2beta1.RedactContentResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='items', full_name='google.privacy.dlp.v2beta1.RedactContentResponse.items', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2661,
    serialized_end=2740,
  )
  
  
  _DEIDENTIFYCONTENTREQUEST = _descriptor.Descriptor(
    name='DeidentifyContentRequest',
    full_name='google.privacy.dlp.v2beta1.DeidentifyContentRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='deidentify_config', full_name='google.privacy.dlp.v2beta1.DeidentifyContentRequest.deidentify_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='inspect_config', full_name='google.privacy.dlp.v2beta1.DeidentifyContentRequest.inspect_config', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='items', full_name='google.privacy.dlp.v2beta1.DeidentifyContentRequest.items', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2743,
    serialized_end=2965,
  )
  
  
  _DEIDENTIFYCONTENTRESPONSE = _descriptor.Descriptor(
    name='DeidentifyContentResponse',
    full_name='google.privacy.dlp.v2beta1.DeidentifyContentResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='items', full_name='google.privacy.dlp.v2beta1.DeidentifyContentResponse.items', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='summaries', full_name='google.privacy.dlp.v2beta1.DeidentifyContentResponse.summaries', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2968,
    serialized_end=3123,
  )
  
  
  _INSPECTCONTENTREQUEST = _descriptor.Descriptor(
    name='InspectContentRequest',
    full_name='google.privacy.dlp.v2beta1.InspectContentRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='inspect_config', full_name='google.privacy.dlp.v2beta1.InspectContentRequest.inspect_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='items', full_name='google.privacy.dlp.v2beta1.InspectContentRequest.items', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3126,
    serialized_end=3272,
  )
  
  
  _INSPECTCONTENTRESPONSE = _descriptor.Descriptor(
    name='InspectContentResponse',
    full_name='google.privacy.dlp.v2beta1.InspectContentResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='results', full_name='google.privacy.dlp.v2beta1.InspectContentResponse.results', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3274,
    serialized_end=3358,
  )
  
  
  _CREATEINSPECTOPERATIONREQUEST = _descriptor.Descriptor(
    name='CreateInspectOperationRequest',
    full_name='google.privacy.dlp.v2beta1.CreateInspectOperationRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='inspect_config', full_name='google.privacy.dlp.v2beta1.CreateInspectOperationRequest.inspect_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='storage_config', full_name='google.privacy.dlp.v2beta1.CreateInspectOperationRequest.storage_config', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='output_config', full_name='google.privacy.dlp.v2beta1.CreateInspectOperationRequest.output_config', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='operation_config', full_name='google.privacy.dlp.v2beta1.CreateInspectOperationRequest.operation_config', index=3,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3361,
    serialized_end=3669,
  )
  
  
  _OUTPUTSTORAGECONFIG = _descriptor.Descriptor(
    name='OutputStorageConfig',
    full_name='google.privacy.dlp.v2beta1.OutputStorageConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='table', full_name='google.privacy.dlp.v2beta1.OutputStorageConfig.table', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='storage_path', full_name='google.privacy.dlp.v2beta1.OutputStorageConfig.storage_path', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='type', full_name='google.privacy.dlp.v2beta1.OutputStorageConfig.type',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=3672,
    serialized_end=3831,
  )
  
  
  _INFOTYPESTATISTICS = _descriptor.Descriptor(
    name='InfoTypeStatistics',
    full_name='google.privacy.dlp.v2beta1.InfoTypeStatistics',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.InfoTypeStatistics.info_type', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='count', full_name='google.privacy.dlp.v2beta1.InfoTypeStatistics.count', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3833,
    serialized_end=3925,
  )
  
  
  _INSPECTOPERATIONMETADATA = _descriptor.Descriptor(
    name='InspectOperationMetadata',
    full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='processed_bytes', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.processed_bytes', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='total_estimated_bytes', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.total_estimated_bytes', index=1,
        number=4, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='info_type_stats', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.info_type_stats', index=2,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='create_time', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.create_time', index=3,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='request_inspect_config', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.request_inspect_config', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='request_storage_config', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.request_storage_config', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='request_output_config', full_name='google.privacy.dlp.v2beta1.InspectOperationMetadata.request_output_config', index=6,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3928,
    serialized_end=4362,
  )
  
  
  _INSPECTOPERATIONRESULT = _descriptor.Descriptor(
    name='InspectOperationResult',
    full_name='google.privacy.dlp.v2beta1.InspectOperationResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='google.privacy.dlp.v2beta1.InspectOperationResult.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4364,
    serialized_end=4402,
  )
  
  
  _LISTINSPECTFINDINGSREQUEST = _descriptor.Descriptor(
    name='ListInspectFindingsRequest',
    full_name='google.privacy.dlp.v2beta1.ListInspectFindingsRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsRequest.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='page_size', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsRequest.page_size', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='page_token', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsRequest.page_token', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='filter', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsRequest.filter', index=3,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4404,
    serialized_end=4501,
  )
  
  
  _LISTINSPECTFINDINGSRESPONSE = _descriptor.Descriptor(
    name='ListInspectFindingsResponse',
    full_name='google.privacy.dlp.v2beta1.ListInspectFindingsResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsResponse.result', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='next_page_token', full_name='google.privacy.dlp.v2beta1.ListInspectFindingsResponse.next_page_token', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4503,
    serialized_end=4616,
  )
  
  
  _INFOTYPEDESCRIPTION = _descriptor.Descriptor(
    name='InfoTypeDescription',
    full_name='google.privacy.dlp.v2beta1.InfoTypeDescription',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='google.privacy.dlp.v2beta1.InfoTypeDescription.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='display_name', full_name='google.privacy.dlp.v2beta1.InfoTypeDescription.display_name', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='categories', full_name='google.privacy.dlp.v2beta1.InfoTypeDescription.categories', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4618,
    serialized_end=4744,
  )
  
  
  _LISTINFOTYPESREQUEST = _descriptor.Descriptor(
    name='ListInfoTypesRequest',
    full_name='google.privacy.dlp.v2beta1.ListInfoTypesRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='category', full_name='google.privacy.dlp.v2beta1.ListInfoTypesRequest.category', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='language_code', full_name='google.privacy.dlp.v2beta1.ListInfoTypesRequest.language_code', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4746,
    serialized_end=4809,
  )
  
  
  _LISTINFOTYPESRESPONSE = _descriptor.Descriptor(
    name='ListInfoTypesResponse',
    full_name='google.privacy.dlp.v2beta1.ListInfoTypesResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_types', full_name='google.privacy.dlp.v2beta1.ListInfoTypesResponse.info_types', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4811,
    serialized_end=4903,
  )
  
  
  _CATEGORYDESCRIPTION = _descriptor.Descriptor(
    name='CategoryDescription',
    full_name='google.privacy.dlp.v2beta1.CategoryDescription',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='google.privacy.dlp.v2beta1.CategoryDescription.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='display_name', full_name='google.privacy.dlp.v2beta1.CategoryDescription.display_name', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4905,
    serialized_end=4962,
  )
  
  
  _LISTROOTCATEGORIESREQUEST = _descriptor.Descriptor(
    name='ListRootCategoriesRequest',
    full_name='google.privacy.dlp.v2beta1.ListRootCategoriesRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='language_code', full_name='google.privacy.dlp.v2beta1.ListRootCategoriesRequest.language_code', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=4964,
    serialized_end=5014,
  )
  
  
  _LISTROOTCATEGORIESRESPONSE = _descriptor.Descriptor(
    name='ListRootCategoriesResponse',
    full_name='google.privacy.dlp.v2beta1.ListRootCategoriesResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='categories', full_name='google.privacy.dlp.v2beta1.ListRootCategoriesResponse.categories', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5016,
    serialized_end=5113,
  )
  
  
  _ANALYZEDATASOURCERISKREQUEST = _descriptor.Descriptor(
    name='AnalyzeDataSourceRiskRequest',
    full_name='google.privacy.dlp.v2beta1.AnalyzeDataSourceRiskRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='privacy_metric', full_name='google.privacy.dlp.v2beta1.AnalyzeDataSourceRiskRequest.privacy_metric', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='source_table', full_name='google.privacy.dlp.v2beta1.AnalyzeDataSourceRiskRequest.source_table', index=1,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5116,
    serialized_end=5278,
  )
  
  
  _PRIVACYMETRIC_NUMERICALSTATSCONFIG = _descriptor.Descriptor(
    name='NumericalStatsConfig',
    full_name='google.privacy.dlp.v2beta1.PrivacyMetric.NumericalStatsConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='field', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.NumericalStatsConfig.field', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5678,
    serialized_end=5752,
  )
  
  _PRIVACYMETRIC_CATEGORICALSTATSCONFIG = _descriptor.Descriptor(
    name='CategoricalStatsConfig',
    full_name='google.privacy.dlp.v2beta1.PrivacyMetric.CategoricalStatsConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='field', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.CategoricalStatsConfig.field', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5754,
    serialized_end=5830,
  )
  
  _PRIVACYMETRIC_KANONYMITYCONFIG = _descriptor.Descriptor(
    name='KAnonymityConfig',
    full_name='google.privacy.dlp.v2beta1.PrivacyMetric.KAnonymityConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='quasi_ids', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.KAnonymityConfig.quasi_ids', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='entity_id', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.KAnonymityConfig.entity_id', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5833,
    serialized_end=5964,
  )
  
  _PRIVACYMETRIC_LDIVERSITYCONFIG = _descriptor.Descriptor(
    name='LDiversityConfig',
    full_name='google.privacy.dlp.v2beta1.PrivacyMetric.LDiversityConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='quasi_ids', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.LDiversityConfig.quasi_ids', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='sensitive_attribute', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.LDiversityConfig.sensitive_attribute', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=5967,
    serialized_end=6107,
  )
  
  _PRIVACYMETRIC = _descriptor.Descriptor(
    name='PrivacyMetric',
    full_name='google.privacy.dlp.v2beta1.PrivacyMetric',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='numerical_stats_config', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.numerical_stats_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='categorical_stats_config', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.categorical_stats_config', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='k_anonymity_config', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.k_anonymity_config', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='l_diversity_config', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.l_diversity_config', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_PRIVACYMETRIC_NUMERICALSTATSCONFIG, _PRIVACYMETRIC_CATEGORICALSTATSCONFIG, _PRIVACYMETRIC_KANONYMITYCONFIG, _PRIVACYMETRIC_LDIVERSITYCONFIG, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='type', full_name='google.privacy.dlp.v2beta1.PrivacyMetric.type',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=5281,
    serialized_end=6115,
  )
  
  
  _RISKANALYSISOPERATIONMETADATA = _descriptor.Descriptor(
    name='RiskAnalysisOperationMetadata',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationMetadata',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='create_time', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationMetadata.create_time', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='requested_privacy_metric', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationMetadata.requested_privacy_metric', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='requested_source_table', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationMetadata.requested_source_table', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=6118,
    serialized_end=6350,
  )
  
  
  _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT = _descriptor.Descriptor(
    name='NumericalStatsResult',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='min_value', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResult.min_value', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_value', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResult.max_value', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='quantile_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResult.quantile_values', index=2,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=6821,
    serialized_end=7011,
  )
  
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET = _descriptor.Descriptor(
    name='CategoricalStatsHistogramBucket',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='value_frequency_lower_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket.value_frequency_lower_bound', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value_frequency_upper_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket.value_frequency_upper_bound', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_size', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket.bucket_size', index=2,
        number=3, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket.bucket_values', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7197,
    serialized_end=7392,
  )
  
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT = _descriptor.Descriptor(
    name='CategoricalStatsResult',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='value_frequency_histogram_buckets', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.value_frequency_histogram_buckets', index=0,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7014,
    serialized_end=7392,
  )
  
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS = _descriptor.Descriptor(
    name='KAnonymityEquivalenceClass',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='quasi_ids_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass.quasi_ids_values', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='equivalence_class_size', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass.equivalence_class_size', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7561,
    serialized_end=7682,
  )
  
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET = _descriptor.Descriptor(
    name='KAnonymityHistogramBucket',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='equivalence_class_size_lower_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket.equivalence_class_size_lower_bound', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='equivalence_class_size_upper_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket.equivalence_class_size_upper_bound', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_size', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket.bucket_size', index=2,
        number=3, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket.bucket_values', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7685,
    serialized_end=7945,
  )
  
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT = _descriptor.Descriptor(
    name='KAnonymityResult',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='equivalence_class_histogram_buckets', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.equivalence_class_histogram_buckets', index=0,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS, _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7395,
    serialized_end=7945,
  )
  
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS = _descriptor.Descriptor(
    name='LDiversityEquivalenceClass',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='quasi_ids_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass.quasi_ids_values', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='equivalence_class_size', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass.equivalence_class_size', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num_distinct_sensitive_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass.num_distinct_sensitive_values', index=2,
        number=3, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='top_sensitive_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass.top_sensitive_values', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=8123,
    serialized_end=8357,
  )
  
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET = _descriptor.Descriptor(
    name='LDiversityHistogramBucket',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='sensitive_value_frequency_lower_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket.sensitive_value_frequency_lower_bound', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='sensitive_value_frequency_upper_bound', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket.sensitive_value_frequency_upper_bound', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_size', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket.bucket_size', index=2,
        number=3, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_values', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket.bucket_values', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=8360,
    serialized_end=8626,
  )
  
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT = _descriptor.Descriptor(
    name='LDiversityResult',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='sensitive_value_frequency_histogram_buckets', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.sensitive_value_frequency_histogram_buckets', index=0,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS, _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=7948,
    serialized_end=8626,
  )
  
  _RISKANALYSISOPERATIONRESULT = _descriptor.Descriptor(
    name='RiskAnalysisOperationResult',
    full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='numerical_stats_result', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.numerical_stats_result', index=0,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='categorical_stats_result', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.categorical_stats_result', index=1,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='k_anonymity_result', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.k_anonymity_result', index=2,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='l_diversity_result', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.l_diversity_result', index=3,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT, _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT, _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT, _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='result', full_name='google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.result',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=6353,
    serialized_end=8636,
  )
  
  
  _VALUEFREQUENCY = _descriptor.Descriptor(
    name='ValueFrequency',
    full_name='google.privacy.dlp.v2beta1.ValueFrequency',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='value', full_name='google.privacy.dlp.v2beta1.ValueFrequency.value', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='count', full_name='google.privacy.dlp.v2beta1.ValueFrequency.count', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=8638,
    serialized_end=8719,
  )
  
  
  _VALUE = _descriptor.Descriptor(
    name='Value',
    full_name='google.privacy.dlp.v2beta1.Value',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='integer_value', full_name='google.privacy.dlp.v2beta1.Value.integer_value', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='float_value', full_name='google.privacy.dlp.v2beta1.Value.float_value', index=1,
        number=2, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='string_value', full_name='google.privacy.dlp.v2beta1.Value.string_value', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='boolean_value', full_name='google.privacy.dlp.v2beta1.Value.boolean_value', index=3,
        number=4, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='timestamp_value', full_name='google.privacy.dlp.v2beta1.Value.timestamp_value', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='time_value', full_name='google.privacy.dlp.v2beta1.Value.time_value', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='date_value', full_name='google.privacy.dlp.v2beta1.Value.date_value', index=6,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='type', full_name='google.privacy.dlp.v2beta1.Value.type',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=8722,
    serialized_end=8976,
  )
  
  
  _DEIDENTIFYCONFIG = _descriptor.Descriptor(
    name='DeidentifyConfig',
    full_name='google.privacy.dlp.v2beta1.DeidentifyConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type_transformations', full_name='google.privacy.dlp.v2beta1.DeidentifyConfig.info_type_transformations', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='record_transformations', full_name='google.privacy.dlp.v2beta1.DeidentifyConfig.record_transformations', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='transformation', full_name='google.privacy.dlp.v2beta1.DeidentifyConfig.transformation',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=8979,
    serialized_end=9190,
  )
  
  
  _PRIMITIVETRANSFORMATION = _descriptor.Descriptor(
    name='PrimitiveTransformation',
    full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='replace_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.replace_config', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='redact_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.redact_config', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='character_mask_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.character_mask_config', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crypto_replace_ffx_fpe_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.crypto_replace_ffx_fpe_config', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='fixed_size_bucketing_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.fixed_size_bucketing_config', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucketing_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.bucketing_config', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='replace_with_info_type_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.replace_with_info_type_config', index=6,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='time_part_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.time_part_config', index=7,
        number=8, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crypto_hash_config', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.crypto_hash_config', index=8,
        number=9, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='transformation', full_name='google.privacy.dlp.v2beta1.PrimitiveTransformation.transformation',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=9193,
    serialized_end=9965,
  )
  
  
  _TIMEPARTCONFIG = _descriptor.Descriptor(
    name='TimePartConfig',
    full_name='google.privacy.dlp.v2beta1.TimePartConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='part_to_extract', full_name='google.privacy.dlp.v2beta1.TimePartConfig.part_to_extract', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _TIMEPARTCONFIG_TIMEPART,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=9968,
    serialized_end=10193,
  )
  
  
  _CRYPTOHASHCONFIG = _descriptor.Descriptor(
    name='CryptoHashConfig',
    full_name='google.privacy.dlp.v2beta1.CryptoHashConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='crypto_key', full_name='google.privacy.dlp.v2beta1.CryptoHashConfig.crypto_key', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10195,
    serialized_end=10272,
  )
  
  
  _REPLACEVALUECONFIG = _descriptor.Descriptor(
    name='ReplaceValueConfig',
    full_name='google.privacy.dlp.v2beta1.ReplaceValueConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='new_value', full_name='google.privacy.dlp.v2beta1.ReplaceValueConfig.new_value', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10274,
    serialized_end=10348,
  )
  
  
  _REPLACEWITHINFOTYPECONFIG = _descriptor.Descriptor(
    name='ReplaceWithInfoTypeConfig',
    full_name='google.privacy.dlp.v2beta1.ReplaceWithInfoTypeConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10350,
    serialized_end=10377,
  )
  
  
  _REDACTCONFIG = _descriptor.Descriptor(
    name='RedactConfig',
    full_name='google.privacy.dlp.v2beta1.RedactConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10379,
    serialized_end=10393,
  )
  
  
  _CHARSTOIGNORE = _descriptor.Descriptor(
    name='CharsToIgnore',
    full_name='google.privacy.dlp.v2beta1.CharsToIgnore',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='characters_to_skip', full_name='google.privacy.dlp.v2beta1.CharsToIgnore.characters_to_skip', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='common_characters_to_ignore', full_name='google.privacy.dlp.v2beta1.CharsToIgnore.common_characters_to_ignore', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _CHARSTOIGNORE_CHARACTERGROUP,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='characters', full_name='google.privacy.dlp.v2beta1.CharsToIgnore.characters',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=10396,
    serialized_end=10694,
  )
  
  
  _CHARACTERMASKCONFIG = _descriptor.Descriptor(
    name='CharacterMaskConfig',
    full_name='google.privacy.dlp.v2beta1.CharacterMaskConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='masking_character', full_name='google.privacy.dlp.v2beta1.CharacterMaskConfig.masking_character', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='number_to_mask', full_name='google.privacy.dlp.v2beta1.CharacterMaskConfig.number_to_mask', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='reverse_order', full_name='google.privacy.dlp.v2beta1.CharacterMaskConfig.reverse_order', index=2,
        number=3, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='characters_to_ignore', full_name='google.privacy.dlp.v2beta1.CharacterMaskConfig.characters_to_ignore', index=3,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10697,
    serialized_end=10865,
  )
  
  
  _FIXEDSIZEBUCKETINGCONFIG = _descriptor.Descriptor(
    name='FixedSizeBucketingConfig',
    full_name='google.privacy.dlp.v2beta1.FixedSizeBucketingConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='lower_bound', full_name='google.privacy.dlp.v2beta1.FixedSizeBucketingConfig.lower_bound', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='upper_bound', full_name='google.privacy.dlp.v2beta1.FixedSizeBucketingConfig.upper_bound', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bucket_size', full_name='google.privacy.dlp.v2beta1.FixedSizeBucketingConfig.bucket_size', index=2,
        number=3, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=10868,
    serialized_end=11027,
  )
  
  
  _BUCKETINGCONFIG_BUCKET = _descriptor.Descriptor(
    name='Bucket',
    full_name='google.privacy.dlp.v2beta1.BucketingConfig.Bucket',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='min', full_name='google.privacy.dlp.v2beta1.BucketingConfig.Bucket.min', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max', full_name='google.privacy.dlp.v2beta1.BucketingConfig.Bucket.max', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='replacement_value', full_name='google.privacy.dlp.v2beta1.BucketingConfig.Bucket.replacement_value', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=11119,
    serialized_end=11285,
  )
  
  _BUCKETINGCONFIG = _descriptor.Descriptor(
    name='BucketingConfig',
    full_name='google.privacy.dlp.v2beta1.BucketingConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='buckets', full_name='google.privacy.dlp.v2beta1.BucketingConfig.buckets', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_BUCKETINGCONFIG_BUCKET, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=11030,
    serialized_end=11285,
  )
  
  
  _CRYPTOREPLACEFFXFPECONFIG = _descriptor.Descriptor(
    name='CryptoReplaceFfxFpeConfig',
    full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='crypto_key', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.crypto_key', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='context', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.context', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='common_alphabet', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.common_alphabet', index=2,
        number=4, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='custom_alphabet', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.custom_alphabet', index=3,
        number=5, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='radix', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.radix', index=4,
        number=6, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _CRYPTOREPLACEFFXFPECONFIG_FFXCOMMONNATIVEALPHABET,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='alphabet', full_name='google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig.alphabet',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=11288,
    serialized_end=11741,
  )
  
  
  _CRYPTOKEY = _descriptor.Descriptor(
    name='CryptoKey',
    full_name='google.privacy.dlp.v2beta1.CryptoKey',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='transient', full_name='google.privacy.dlp.v2beta1.CryptoKey.transient', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='unwrapped', full_name='google.privacy.dlp.v2beta1.CryptoKey.unwrapped', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kms_wrapped', full_name='google.privacy.dlp.v2beta1.CryptoKey.kms_wrapped', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='source', full_name='google.privacy.dlp.v2beta1.CryptoKey.source',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=11744,
    serialized_end=11975,
  )
  
  
  _TRANSIENTCRYPTOKEY = _descriptor.Descriptor(
    name='TransientCryptoKey',
    full_name='google.privacy.dlp.v2beta1.TransientCryptoKey',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='google.privacy.dlp.v2beta1.TransientCryptoKey.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=11977,
    serialized_end=12011,
  )
  
  
  _UNWRAPPEDCRYPTOKEY = _descriptor.Descriptor(
    name='UnwrappedCryptoKey',
    full_name='google.privacy.dlp.v2beta1.UnwrappedCryptoKey',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='google.privacy.dlp.v2beta1.UnwrappedCryptoKey.key', index=0,
        number=1, type=12, cpp_type=9, label=1,
        has_default_value=False, default_value=_b(""),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12013,
    serialized_end=12046,
  )
  
  
  _KMSWRAPPEDCRYPTOKEY = _descriptor.Descriptor(
    name='KmsWrappedCryptoKey',
    full_name='google.privacy.dlp.v2beta1.KmsWrappedCryptoKey',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='wrapped_key', full_name='google.privacy.dlp.v2beta1.KmsWrappedCryptoKey.wrapped_key', index=0,
        number=1, type=12, cpp_type=9, label=1,
        has_default_value=False, default_value=_b(""),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crypto_key_name', full_name='google.privacy.dlp.v2beta1.KmsWrappedCryptoKey.crypto_key_name', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12048,
    serialized_end=12115,
  )
  
  
  _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION = _descriptor.Descriptor(
    name='InfoTypeTransformation',
    full_name='google.privacy.dlp.v2beta1.InfoTypeTransformations.InfoTypeTransformation',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_types', full_name='google.privacy.dlp.v2beta1.InfoTypeTransformations.InfoTypeTransformation.info_types', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='primitive_transformation', full_name='google.privacy.dlp.v2beta1.InfoTypeTransformations.InfoTypeTransformation.primitive_transformation', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12247,
    serialized_end=12416,
  )
  
  _INFOTYPETRANSFORMATIONS = _descriptor.Descriptor(
    name='InfoTypeTransformations',
    full_name='google.privacy.dlp.v2beta1.InfoTypeTransformations',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='transformations', full_name='google.privacy.dlp.v2beta1.InfoTypeTransformations.transformations', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12118,
    serialized_end=12416,
  )
  
  
  _FIELDTRANSFORMATION = _descriptor.Descriptor(
    name='FieldTransformation',
    full_name='google.privacy.dlp.v2beta1.FieldTransformation',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='fields', full_name='google.privacy.dlp.v2beta1.FieldTransformation.fields', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='condition', full_name='google.privacy.dlp.v2beta1.FieldTransformation.condition', index=1,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='primitive_transformation', full_name='google.privacy.dlp.v2beta1.FieldTransformation.primitive_transformation', index=2,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='info_type_transformations', full_name='google.privacy.dlp.v2beta1.FieldTransformation.info_type_transformations', index=3,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='transformation', full_name='google.privacy.dlp.v2beta1.FieldTransformation.transformation',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=12419,
    serialized_end=12754,
  )
  
  
  _RECORDTRANSFORMATIONS = _descriptor.Descriptor(
    name='RecordTransformations',
    full_name='google.privacy.dlp.v2beta1.RecordTransformations',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='field_transformations', full_name='google.privacy.dlp.v2beta1.RecordTransformations.field_transformations', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='record_suppressions', full_name='google.privacy.dlp.v2beta1.RecordTransformations.record_suppressions', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12757,
    serialized_end=12936,
  )
  
  
  _RECORDSUPPRESSION = _descriptor.Descriptor(
    name='RecordSuppression',
    full_name='google.privacy.dlp.v2beta1.RecordSuppression',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='condition', full_name='google.privacy.dlp.v2beta1.RecordSuppression.condition', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=12938,
    serialized_end=13021,
  )
  
  
  _RECORDCONDITION_CONDITION = _descriptor.Descriptor(
    name='Condition',
    full_name='google.privacy.dlp.v2beta1.RecordCondition.Condition',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='field', full_name='google.privacy.dlp.v2beta1.RecordCondition.Condition.field', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='operator', full_name='google.privacy.dlp.v2beta1.RecordCondition.Condition.operator', index=1,
        number=3, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='google.privacy.dlp.v2beta1.RecordCondition.Condition.value', index=2,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=13122,
    serialized_end=13301,
  )
  
  _RECORDCONDITION_CONDITIONS = _descriptor.Descriptor(
    name='Conditions',
    full_name='google.privacy.dlp.v2beta1.RecordCondition.Conditions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='conditions', full_name='google.privacy.dlp.v2beta1.RecordCondition.Conditions.conditions', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=13303,
    serialized_end=13390,
  )
  
  _RECORDCONDITION_EXPRESSIONS = _descriptor.Descriptor(
    name='Expressions',
    full_name='google.privacy.dlp.v2beta1.RecordCondition.Expressions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='logical_operator', full_name='google.privacy.dlp.v2beta1.RecordCondition.Expressions.logical_operator', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='conditions', full_name='google.privacy.dlp.v2beta1.RecordCondition.Expressions.conditions', index=1,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _RECORDCONDITION_EXPRESSIONS_LOGICALOPERATOR,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='type', full_name='google.privacy.dlp.v2beta1.RecordCondition.Expressions.type',
        index=0, containing_type=None, fields=[]),
    ],
    serialized_start=13393,
    serialized_end=13653,
  )
  
  _RECORDCONDITION = _descriptor.Descriptor(
    name='RecordCondition',
    full_name='google.privacy.dlp.v2beta1.RecordCondition',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='expressions', full_name='google.privacy.dlp.v2beta1.RecordCondition.expressions', index=0,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_RECORDCONDITION_CONDITION, _RECORDCONDITION_CONDITIONS, _RECORDCONDITION_EXPRESSIONS, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=13024,
    serialized_end=13653,
  )
  
  
  _DEIDENTIFICATIONSUMMARY = _descriptor.Descriptor(
    name='DeidentificationSummary',
    full_name='google.privacy.dlp.v2beta1.DeidentificationSummary',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='transformed_bytes', full_name='google.privacy.dlp.v2beta1.DeidentificationSummary.transformed_bytes', index=0,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='transformation_summaries', full_name='google.privacy.dlp.v2beta1.DeidentificationSummary.transformation_summaries', index=1,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=13656,
    serialized_end=13793,
  )
  
  
  _TRANSFORMATIONSUMMARY_SUMMARYRESULT = _descriptor.Descriptor(
    name='SummaryResult',
    full_name='google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='count', full_name='google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult.count', index=0,
        number=1, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='code', full_name='google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult.code', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='details', full_name='google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult.details', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=14242,
    serialized_end=14379,
  )
  
  _TRANSFORMATIONSUMMARY = _descriptor.Descriptor(
    name='TransformationSummary',
    full_name='google.privacy.dlp.v2beta1.TransformationSummary',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='info_type', full_name='google.privacy.dlp.v2beta1.TransformationSummary.info_type', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='field', full_name='google.privacy.dlp.v2beta1.TransformationSummary.field', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='transformation', full_name='google.privacy.dlp.v2beta1.TransformationSummary.transformation', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='field_transformations', full_name='google.privacy.dlp.v2beta1.TransformationSummary.field_transformations', index=3,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='record_suppress', full_name='google.privacy.dlp.v2beta1.TransformationSummary.record_suppress', index=4,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='results', full_name='google.privacy.dlp.v2beta1.TransformationSummary.results', index=5,
        number=4, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_TRANSFORMATIONSUMMARY_SUMMARYRESULT, ],
    enum_types=[
      _TRANSFORMATIONSUMMARY_TRANSFORMATIONRESULTCODE,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=13796,
    serialized_end=14475,
  )
  
  _INSPECTCONFIG_INFOTYPELIMIT.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _INSPECTCONFIG_INFOTYPELIMIT.containing_type = _INSPECTCONFIG
  _INSPECTCONFIG.fields_by_name['info_types'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _INSPECTCONFIG.fields_by_name['min_likelihood'].enum_type = _LIKELIHOOD
  _INSPECTCONFIG.fields_by_name['info_type_limits'].message_type = _INSPECTCONFIG_INFOTYPELIMIT
  _INSPECTCONFIG.fields_by_name['custom_info_types'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._CUSTOMINFOTYPE
  _CONTENTITEM.fields_by_name['table'].message_type = _TABLE
  _CONTENTITEM.oneofs_by_name['data_item'].fields.append(
    _CONTENTITEM.fields_by_name['data'])
  _CONTENTITEM.fields_by_name['data'].containing_oneof = _CONTENTITEM.oneofs_by_name['data_item']
  _CONTENTITEM.oneofs_by_name['data_item'].fields.append(
    _CONTENTITEM.fields_by_name['value'])
  _CONTENTITEM.fields_by_name['value'].containing_oneof = _CONTENTITEM.oneofs_by_name['data_item']
  _CONTENTITEM.oneofs_by_name['data_item'].fields.append(
    _CONTENTITEM.fields_by_name['table'])
  _CONTENTITEM.fields_by_name['table'].containing_oneof = _CONTENTITEM.oneofs_by_name['data_item']
  _TABLE_ROW.fields_by_name['values'].message_type = _VALUE
  _TABLE_ROW.containing_type = _TABLE
  _TABLE.fields_by_name['headers'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _TABLE.fields_by_name['rows'].message_type = _TABLE_ROW
  _INSPECTRESULT.fields_by_name['findings'].message_type = _FINDING
  _FINDING.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _FINDING.fields_by_name['likelihood'].enum_type = _LIKELIHOOD
  _FINDING.fields_by_name['location'].message_type = _LOCATION
  _FINDING.fields_by_name['create_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _LOCATION.fields_by_name['byte_range'].message_type = _RANGE
  _LOCATION.fields_by_name['codepoint_range'].message_type = _RANGE
  _LOCATION.fields_by_name['image_boxes'].message_type = _IMAGELOCATION
  _LOCATION.fields_by_name['record_key'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._RECORDKEY
  _LOCATION.fields_by_name['field_id'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _LOCATION.fields_by_name['table_location'].message_type = _TABLELOCATION
  _REDACTCONTENTREQUEST_REPLACECONFIG.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _REDACTCONTENTREQUEST_REPLACECONFIG.containing_type = _REDACTCONTENTREQUEST
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['redaction_color'].message_type = _COLOR
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.containing_type = _REDACTCONTENTREQUEST
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.oneofs_by_name['target'].fields.append(
    _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['info_type'])
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['info_type'].containing_oneof = _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.oneofs_by_name['target']
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.oneofs_by_name['target'].fields.append(
    _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['redact_all_text'])
  _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.fields_by_name['redact_all_text'].containing_oneof = _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG.oneofs_by_name['target']
  _REDACTCONTENTREQUEST.fields_by_name['inspect_config'].message_type = _INSPECTCONFIG
  _REDACTCONTENTREQUEST.fields_by_name['items'].message_type = _CONTENTITEM
  _REDACTCONTENTREQUEST.fields_by_name['replace_configs'].message_type = _REDACTCONTENTREQUEST_REPLACECONFIG
  _REDACTCONTENTREQUEST.fields_by_name['image_redaction_configs'].message_type = _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG
  _REDACTCONTENTRESPONSE.fields_by_name['items'].message_type = _CONTENTITEM
  _DEIDENTIFYCONTENTREQUEST.fields_by_name['deidentify_config'].message_type = _DEIDENTIFYCONFIG
  _DEIDENTIFYCONTENTREQUEST.fields_by_name['inspect_config'].message_type = _INSPECTCONFIG
  _DEIDENTIFYCONTENTREQUEST.fields_by_name['items'].message_type = _CONTENTITEM
  _DEIDENTIFYCONTENTRESPONSE.fields_by_name['items'].message_type = _CONTENTITEM
  _DEIDENTIFYCONTENTRESPONSE.fields_by_name['summaries'].message_type = _DEIDENTIFICATIONSUMMARY
  _INSPECTCONTENTREQUEST.fields_by_name['inspect_config'].message_type = _INSPECTCONFIG
  _INSPECTCONTENTREQUEST.fields_by_name['items'].message_type = _CONTENTITEM
  _INSPECTCONTENTRESPONSE.fields_by_name['results'].message_type = _INSPECTRESULT
  _CREATEINSPECTOPERATIONREQUEST.fields_by_name['inspect_config'].message_type = _INSPECTCONFIG
  _CREATEINSPECTOPERATIONREQUEST.fields_by_name['storage_config'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._STORAGECONFIG
  _CREATEINSPECTOPERATIONREQUEST.fields_by_name['output_config'].message_type = _OUTPUTSTORAGECONFIG
  _CREATEINSPECTOPERATIONREQUEST.fields_by_name['operation_config'].message_type = _OPERATIONCONFIG
  _OUTPUTSTORAGECONFIG.fields_by_name['table'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._BIGQUERYTABLE
  _OUTPUTSTORAGECONFIG.fields_by_name['storage_path'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._CLOUDSTORAGEPATH
  _OUTPUTSTORAGECONFIG.oneofs_by_name['type'].fields.append(
    _OUTPUTSTORAGECONFIG.fields_by_name['table'])
  _OUTPUTSTORAGECONFIG.fields_by_name['table'].containing_oneof = _OUTPUTSTORAGECONFIG.oneofs_by_name['type']
  _OUTPUTSTORAGECONFIG.oneofs_by_name['type'].fields.append(
    _OUTPUTSTORAGECONFIG.fields_by_name['storage_path'])
  _OUTPUTSTORAGECONFIG.fields_by_name['storage_path'].containing_oneof = _OUTPUTSTORAGECONFIG.oneofs_by_name['type']
  _INFOTYPESTATISTICS.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _INSPECTOPERATIONMETADATA.fields_by_name['info_type_stats'].message_type = _INFOTYPESTATISTICS
  _INSPECTOPERATIONMETADATA.fields_by_name['create_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _INSPECTOPERATIONMETADATA.fields_by_name['request_inspect_config'].message_type = _INSPECTCONFIG
  _INSPECTOPERATIONMETADATA.fields_by_name['request_storage_config'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._STORAGECONFIG
  _INSPECTOPERATIONMETADATA.fields_by_name['request_output_config'].message_type = _OUTPUTSTORAGECONFIG
  _LISTINSPECTFINDINGSRESPONSE.fields_by_name['result'].message_type = _INSPECTRESULT
  _INFOTYPEDESCRIPTION.fields_by_name['categories'].message_type = _CATEGORYDESCRIPTION
  _LISTINFOTYPESRESPONSE.fields_by_name['info_types'].message_type = _INFOTYPEDESCRIPTION
  _LISTROOTCATEGORIESRESPONSE.fields_by_name['categories'].message_type = _CATEGORYDESCRIPTION
  _ANALYZEDATASOURCERISKREQUEST.fields_by_name['privacy_metric'].message_type = _PRIVACYMETRIC
  _ANALYZEDATASOURCERISKREQUEST.fields_by_name['source_table'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._BIGQUERYTABLE
  _PRIVACYMETRIC_NUMERICALSTATSCONFIG.fields_by_name['field'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _PRIVACYMETRIC_NUMERICALSTATSCONFIG.containing_type = _PRIVACYMETRIC
  _PRIVACYMETRIC_CATEGORICALSTATSCONFIG.fields_by_name['field'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _PRIVACYMETRIC_CATEGORICALSTATSCONFIG.containing_type = _PRIVACYMETRIC
  _PRIVACYMETRIC_KANONYMITYCONFIG.fields_by_name['quasi_ids'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _PRIVACYMETRIC_KANONYMITYCONFIG.fields_by_name['entity_id'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._ENTITYID
  _PRIVACYMETRIC_KANONYMITYCONFIG.containing_type = _PRIVACYMETRIC
  _PRIVACYMETRIC_LDIVERSITYCONFIG.fields_by_name['quasi_ids'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _PRIVACYMETRIC_LDIVERSITYCONFIG.fields_by_name['sensitive_attribute'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _PRIVACYMETRIC_LDIVERSITYCONFIG.containing_type = _PRIVACYMETRIC
  _PRIVACYMETRIC.fields_by_name['numerical_stats_config'].message_type = _PRIVACYMETRIC_NUMERICALSTATSCONFIG
  _PRIVACYMETRIC.fields_by_name['categorical_stats_config'].message_type = _PRIVACYMETRIC_CATEGORICALSTATSCONFIG
  _PRIVACYMETRIC.fields_by_name['k_anonymity_config'].message_type = _PRIVACYMETRIC_KANONYMITYCONFIG
  _PRIVACYMETRIC.fields_by_name['l_diversity_config'].message_type = _PRIVACYMETRIC_LDIVERSITYCONFIG
  _PRIVACYMETRIC.oneofs_by_name['type'].fields.append(
    _PRIVACYMETRIC.fields_by_name['numerical_stats_config'])
  _PRIVACYMETRIC.fields_by_name['numerical_stats_config'].containing_oneof = _PRIVACYMETRIC.oneofs_by_name['type']
  _PRIVACYMETRIC.oneofs_by_name['type'].fields.append(
    _PRIVACYMETRIC.fields_by_name['categorical_stats_config'])
  _PRIVACYMETRIC.fields_by_name['categorical_stats_config'].containing_oneof = _PRIVACYMETRIC.oneofs_by_name['type']
  _PRIVACYMETRIC.oneofs_by_name['type'].fields.append(
    _PRIVACYMETRIC.fields_by_name['k_anonymity_config'])
  _PRIVACYMETRIC.fields_by_name['k_anonymity_config'].containing_oneof = _PRIVACYMETRIC.oneofs_by_name['type']
  _PRIVACYMETRIC.oneofs_by_name['type'].fields.append(
    _PRIVACYMETRIC.fields_by_name['l_diversity_config'])
  _PRIVACYMETRIC.fields_by_name['l_diversity_config'].containing_oneof = _PRIVACYMETRIC.oneofs_by_name['type']
  _RISKANALYSISOPERATIONMETADATA.fields_by_name['create_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _RISKANALYSISOPERATIONMETADATA.fields_by_name['requested_privacy_metric'].message_type = _PRIVACYMETRIC
  _RISKANALYSISOPERATIONMETADATA.fields_by_name['requested_source_table'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._BIGQUERYTABLE
  _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT.fields_by_name['min_value'].message_type = _VALUE
  _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT.fields_by_name['max_value'].message_type = _VALUE
  _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT.fields_by_name['quantile_values'].message_type = _VALUE
  _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT.containing_type = _RISKANALYSISOPERATIONRESULT
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET.fields_by_name['bucket_values'].message_type = _VALUEFREQUENCY
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET.containing_type = _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT.fields_by_name['value_frequency_histogram_buckets'].message_type = _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET
  _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT.containing_type = _RISKANALYSISOPERATIONRESULT
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS.fields_by_name['quasi_ids_values'].message_type = _VALUE
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS.containing_type = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET.fields_by_name['bucket_values'].message_type = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET.containing_type = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT.fields_by_name['equivalence_class_histogram_buckets'].message_type = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET
  _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT.containing_type = _RISKANALYSISOPERATIONRESULT
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS.fields_by_name['quasi_ids_values'].message_type = _VALUE
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS.fields_by_name['top_sensitive_values'].message_type = _VALUEFREQUENCY
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS.containing_type = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET.fields_by_name['bucket_values'].message_type = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET.containing_type = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT.fields_by_name['sensitive_value_frequency_histogram_buckets'].message_type = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET
  _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT.containing_type = _RISKANALYSISOPERATIONRESULT
  _RISKANALYSISOPERATIONRESULT.fields_by_name['numerical_stats_result'].message_type = _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT
  _RISKANALYSISOPERATIONRESULT.fields_by_name['categorical_stats_result'].message_type = _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT
  _RISKANALYSISOPERATIONRESULT.fields_by_name['k_anonymity_result'].message_type = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT
  _RISKANALYSISOPERATIONRESULT.fields_by_name['l_diversity_result'].message_type = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT
  _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result'].fields.append(
    _RISKANALYSISOPERATIONRESULT.fields_by_name['numerical_stats_result'])
  _RISKANALYSISOPERATIONRESULT.fields_by_name['numerical_stats_result'].containing_oneof = _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result']
  _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result'].fields.append(
    _RISKANALYSISOPERATIONRESULT.fields_by_name['categorical_stats_result'])
  _RISKANALYSISOPERATIONRESULT.fields_by_name['categorical_stats_result'].containing_oneof = _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result']
  _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result'].fields.append(
    _RISKANALYSISOPERATIONRESULT.fields_by_name['k_anonymity_result'])
  _RISKANALYSISOPERATIONRESULT.fields_by_name['k_anonymity_result'].containing_oneof = _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result']
  _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result'].fields.append(
    _RISKANALYSISOPERATIONRESULT.fields_by_name['l_diversity_result'])
  _RISKANALYSISOPERATIONRESULT.fields_by_name['l_diversity_result'].containing_oneof = _RISKANALYSISOPERATIONRESULT.oneofs_by_name['result']
  _VALUEFREQUENCY.fields_by_name['value'].message_type = _VALUE
  _VALUE.fields_by_name['timestamp_value'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _VALUE.fields_by_name['time_value'].message_type = google_dot_type_dot_timeofday__pb2._TIMEOFDAY
  _VALUE.fields_by_name['date_value'].message_type = google_dot_type_dot_date__pb2._DATE
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['integer_value'])
  _VALUE.fields_by_name['integer_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['float_value'])
  _VALUE.fields_by_name['float_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['string_value'])
  _VALUE.fields_by_name['string_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['boolean_value'])
  _VALUE.fields_by_name['boolean_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['timestamp_value'])
  _VALUE.fields_by_name['timestamp_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['time_value'])
  _VALUE.fields_by_name['time_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _VALUE.oneofs_by_name['type'].fields.append(
    _VALUE.fields_by_name['date_value'])
  _VALUE.fields_by_name['date_value'].containing_oneof = _VALUE.oneofs_by_name['type']
  _DEIDENTIFYCONFIG.fields_by_name['info_type_transformations'].message_type = _INFOTYPETRANSFORMATIONS
  _DEIDENTIFYCONFIG.fields_by_name['record_transformations'].message_type = _RECORDTRANSFORMATIONS
  _DEIDENTIFYCONFIG.oneofs_by_name['transformation'].fields.append(
    _DEIDENTIFYCONFIG.fields_by_name['info_type_transformations'])
  _DEIDENTIFYCONFIG.fields_by_name['info_type_transformations'].containing_oneof = _DEIDENTIFYCONFIG.oneofs_by_name['transformation']
  _DEIDENTIFYCONFIG.oneofs_by_name['transformation'].fields.append(
    _DEIDENTIFYCONFIG.fields_by_name['record_transformations'])
  _DEIDENTIFYCONFIG.fields_by_name['record_transformations'].containing_oneof = _DEIDENTIFYCONFIG.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.fields_by_name['replace_config'].message_type = _REPLACEVALUECONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['redact_config'].message_type = _REDACTCONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['character_mask_config'].message_type = _CHARACTERMASKCONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['crypto_replace_ffx_fpe_config'].message_type = _CRYPTOREPLACEFFXFPECONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['fixed_size_bucketing_config'].message_type = _FIXEDSIZEBUCKETINGCONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['bucketing_config'].message_type = _BUCKETINGCONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['replace_with_info_type_config'].message_type = _REPLACEWITHINFOTYPECONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['time_part_config'].message_type = _TIMEPARTCONFIG
  _PRIMITIVETRANSFORMATION.fields_by_name['crypto_hash_config'].message_type = _CRYPTOHASHCONFIG
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['replace_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['replace_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['redact_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['redact_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['character_mask_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['character_mask_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['crypto_replace_ffx_fpe_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['crypto_replace_ffx_fpe_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['fixed_size_bucketing_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['fixed_size_bucketing_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['bucketing_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['bucketing_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['replace_with_info_type_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['replace_with_info_type_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['time_part_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['time_part_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _PRIMITIVETRANSFORMATION.fields_by_name['crypto_hash_config'])
  _PRIMITIVETRANSFORMATION.fields_by_name['crypto_hash_config'].containing_oneof = _PRIMITIVETRANSFORMATION.oneofs_by_name['transformation']
  _TIMEPARTCONFIG.fields_by_name['part_to_extract'].enum_type = _TIMEPARTCONFIG_TIMEPART
  _TIMEPARTCONFIG_TIMEPART.containing_type = _TIMEPARTCONFIG
  _CRYPTOHASHCONFIG.fields_by_name['crypto_key'].message_type = _CRYPTOKEY
  _REPLACEVALUECONFIG.fields_by_name['new_value'].message_type = _VALUE
  _CHARSTOIGNORE.fields_by_name['common_characters_to_ignore'].enum_type = _CHARSTOIGNORE_CHARACTERGROUP
  _CHARSTOIGNORE_CHARACTERGROUP.containing_type = _CHARSTOIGNORE
  _CHARSTOIGNORE.oneofs_by_name['characters'].fields.append(
    _CHARSTOIGNORE.fields_by_name['characters_to_skip'])
  _CHARSTOIGNORE.fields_by_name['characters_to_skip'].containing_oneof = _CHARSTOIGNORE.oneofs_by_name['characters']
  _CHARSTOIGNORE.oneofs_by_name['characters'].fields.append(
    _CHARSTOIGNORE.fields_by_name['common_characters_to_ignore'])
  _CHARSTOIGNORE.fields_by_name['common_characters_to_ignore'].containing_oneof = _CHARSTOIGNORE.oneofs_by_name['characters']
  _CHARACTERMASKCONFIG.fields_by_name['characters_to_ignore'].message_type = _CHARSTOIGNORE
  _FIXEDSIZEBUCKETINGCONFIG.fields_by_name['lower_bound'].message_type = _VALUE
  _FIXEDSIZEBUCKETINGCONFIG.fields_by_name['upper_bound'].message_type = _VALUE
  _BUCKETINGCONFIG_BUCKET.fields_by_name['min'].message_type = _VALUE
  _BUCKETINGCONFIG_BUCKET.fields_by_name['max'].message_type = _VALUE
  _BUCKETINGCONFIG_BUCKET.fields_by_name['replacement_value'].message_type = _VALUE
  _BUCKETINGCONFIG_BUCKET.containing_type = _BUCKETINGCONFIG
  _BUCKETINGCONFIG.fields_by_name['buckets'].message_type = _BUCKETINGCONFIG_BUCKET
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['crypto_key'].message_type = _CRYPTOKEY
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['context'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['common_alphabet'].enum_type = _CRYPTOREPLACEFFXFPECONFIG_FFXCOMMONNATIVEALPHABET
  _CRYPTOREPLACEFFXFPECONFIG_FFXCOMMONNATIVEALPHABET.containing_type = _CRYPTOREPLACEFFXFPECONFIG
  _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet'].fields.append(
    _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['common_alphabet'])
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['common_alphabet'].containing_oneof = _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet']
  _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet'].fields.append(
    _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['custom_alphabet'])
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['custom_alphabet'].containing_oneof = _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet']
  _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet'].fields.append(
    _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['radix'])
  _CRYPTOREPLACEFFXFPECONFIG.fields_by_name['radix'].containing_oneof = _CRYPTOREPLACEFFXFPECONFIG.oneofs_by_name['alphabet']
  _CRYPTOKEY.fields_by_name['transient'].message_type = _TRANSIENTCRYPTOKEY
  _CRYPTOKEY.fields_by_name['unwrapped'].message_type = _UNWRAPPEDCRYPTOKEY
  _CRYPTOKEY.fields_by_name['kms_wrapped'].message_type = _KMSWRAPPEDCRYPTOKEY
  _CRYPTOKEY.oneofs_by_name['source'].fields.append(
    _CRYPTOKEY.fields_by_name['transient'])
  _CRYPTOKEY.fields_by_name['transient'].containing_oneof = _CRYPTOKEY.oneofs_by_name['source']
  _CRYPTOKEY.oneofs_by_name['source'].fields.append(
    _CRYPTOKEY.fields_by_name['unwrapped'])
  _CRYPTOKEY.fields_by_name['unwrapped'].containing_oneof = _CRYPTOKEY.oneofs_by_name['source']
  _CRYPTOKEY.oneofs_by_name['source'].fields.append(
    _CRYPTOKEY.fields_by_name['kms_wrapped'])
  _CRYPTOKEY.fields_by_name['kms_wrapped'].containing_oneof = _CRYPTOKEY.oneofs_by_name['source']
  _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION.fields_by_name['info_types'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION.fields_by_name['primitive_transformation'].message_type = _PRIMITIVETRANSFORMATION
  _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION.containing_type = _INFOTYPETRANSFORMATIONS
  _INFOTYPETRANSFORMATIONS.fields_by_name['transformations'].message_type = _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION
  _FIELDTRANSFORMATION.fields_by_name['fields'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _FIELDTRANSFORMATION.fields_by_name['condition'].message_type = _RECORDCONDITION
  _FIELDTRANSFORMATION.fields_by_name['primitive_transformation'].message_type = _PRIMITIVETRANSFORMATION
  _FIELDTRANSFORMATION.fields_by_name['info_type_transformations'].message_type = _INFOTYPETRANSFORMATIONS
  _FIELDTRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _FIELDTRANSFORMATION.fields_by_name['primitive_transformation'])
  _FIELDTRANSFORMATION.fields_by_name['primitive_transformation'].containing_oneof = _FIELDTRANSFORMATION.oneofs_by_name['transformation']
  _FIELDTRANSFORMATION.oneofs_by_name['transformation'].fields.append(
    _FIELDTRANSFORMATION.fields_by_name['info_type_transformations'])
  _FIELDTRANSFORMATION.fields_by_name['info_type_transformations'].containing_oneof = _FIELDTRANSFORMATION.oneofs_by_name['transformation']
  _RECORDTRANSFORMATIONS.fields_by_name['field_transformations'].message_type = _FIELDTRANSFORMATION
  _RECORDTRANSFORMATIONS.fields_by_name['record_suppressions'].message_type = _RECORDSUPPRESSION
  _RECORDSUPPRESSION.fields_by_name['condition'].message_type = _RECORDCONDITION
  _RECORDCONDITION_CONDITION.fields_by_name['field'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _RECORDCONDITION_CONDITION.fields_by_name['operator'].enum_type = _RELATIONALOPERATOR
  _RECORDCONDITION_CONDITION.fields_by_name['value'].message_type = _VALUE
  _RECORDCONDITION_CONDITION.containing_type = _RECORDCONDITION
  _RECORDCONDITION_CONDITIONS.fields_by_name['conditions'].message_type = _RECORDCONDITION_CONDITION
  _RECORDCONDITION_CONDITIONS.containing_type = _RECORDCONDITION
  _RECORDCONDITION_EXPRESSIONS.fields_by_name['logical_operator'].enum_type = _RECORDCONDITION_EXPRESSIONS_LOGICALOPERATOR
  _RECORDCONDITION_EXPRESSIONS.fields_by_name['conditions'].message_type = _RECORDCONDITION_CONDITIONS
  _RECORDCONDITION_EXPRESSIONS.containing_type = _RECORDCONDITION
  _RECORDCONDITION_EXPRESSIONS_LOGICALOPERATOR.containing_type = _RECORDCONDITION_EXPRESSIONS
  _RECORDCONDITION_EXPRESSIONS.oneofs_by_name['type'].fields.append(
    _RECORDCONDITION_EXPRESSIONS.fields_by_name['conditions'])
  _RECORDCONDITION_EXPRESSIONS.fields_by_name['conditions'].containing_oneof = _RECORDCONDITION_EXPRESSIONS.oneofs_by_name['type']
  _RECORDCONDITION.fields_by_name['expressions'].message_type = _RECORDCONDITION_EXPRESSIONS
  _DEIDENTIFICATIONSUMMARY.fields_by_name['transformation_summaries'].message_type = _TRANSFORMATIONSUMMARY
  _TRANSFORMATIONSUMMARY_SUMMARYRESULT.fields_by_name['code'].enum_type = _TRANSFORMATIONSUMMARY_TRANSFORMATIONRESULTCODE
  _TRANSFORMATIONSUMMARY_SUMMARYRESULT.containing_type = _TRANSFORMATIONSUMMARY
  _TRANSFORMATIONSUMMARY.fields_by_name['info_type'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._INFOTYPE
  _TRANSFORMATIONSUMMARY.fields_by_name['field'].message_type = google_dot_cloud_dot_privacy_dot_dlp__v2beta1_dot_proto_dot_storage__pb2._FIELDID
  _TRANSFORMATIONSUMMARY.fields_by_name['transformation'].message_type = _PRIMITIVETRANSFORMATION
  _TRANSFORMATIONSUMMARY.fields_by_name['field_transformations'].message_type = _FIELDTRANSFORMATION
  _TRANSFORMATIONSUMMARY.fields_by_name['record_suppress'].message_type = _RECORDSUPPRESSION
  _TRANSFORMATIONSUMMARY.fields_by_name['results'].message_type = _TRANSFORMATIONSUMMARY_SUMMARYRESULT
  _TRANSFORMATIONSUMMARY_TRANSFORMATIONRESULTCODE.containing_type = _TRANSFORMATIONSUMMARY
  DESCRIPTOR.message_types_by_name['InspectConfig'] = _INSPECTCONFIG
  DESCRIPTOR.message_types_by_name['OperationConfig'] = _OPERATIONCONFIG
  DESCRIPTOR.message_types_by_name['ContentItem'] = _CONTENTITEM
  DESCRIPTOR.message_types_by_name['Table'] = _TABLE
  DESCRIPTOR.message_types_by_name['InspectResult'] = _INSPECTRESULT
  DESCRIPTOR.message_types_by_name['Finding'] = _FINDING
  DESCRIPTOR.message_types_by_name['Location'] = _LOCATION
  DESCRIPTOR.message_types_by_name['TableLocation'] = _TABLELOCATION
  DESCRIPTOR.message_types_by_name['Range'] = _RANGE
  DESCRIPTOR.message_types_by_name['ImageLocation'] = _IMAGELOCATION
  DESCRIPTOR.message_types_by_name['RedactContentRequest'] = _REDACTCONTENTREQUEST
  DESCRIPTOR.message_types_by_name['Color'] = _COLOR
  DESCRIPTOR.message_types_by_name['RedactContentResponse'] = _REDACTCONTENTRESPONSE
  DESCRIPTOR.message_types_by_name['DeidentifyContentRequest'] = _DEIDENTIFYCONTENTREQUEST
  DESCRIPTOR.message_types_by_name['DeidentifyContentResponse'] = _DEIDENTIFYCONTENTRESPONSE
  DESCRIPTOR.message_types_by_name['InspectContentRequest'] = _INSPECTCONTENTREQUEST
  DESCRIPTOR.message_types_by_name['InspectContentResponse'] = _INSPECTCONTENTRESPONSE
  DESCRIPTOR.message_types_by_name['CreateInspectOperationRequest'] = _CREATEINSPECTOPERATIONREQUEST
  DESCRIPTOR.message_types_by_name['OutputStorageConfig'] = _OUTPUTSTORAGECONFIG
  DESCRIPTOR.message_types_by_name['InfoTypeStatistics'] = _INFOTYPESTATISTICS
  DESCRIPTOR.message_types_by_name['InspectOperationMetadata'] = _INSPECTOPERATIONMETADATA
  DESCRIPTOR.message_types_by_name['InspectOperationResult'] = _INSPECTOPERATIONRESULT
  DESCRIPTOR.message_types_by_name['ListInspectFindingsRequest'] = _LISTINSPECTFINDINGSREQUEST
  DESCRIPTOR.message_types_by_name['ListInspectFindingsResponse'] = _LISTINSPECTFINDINGSRESPONSE
  DESCRIPTOR.message_types_by_name['InfoTypeDescription'] = _INFOTYPEDESCRIPTION
  DESCRIPTOR.message_types_by_name['ListInfoTypesRequest'] = _LISTINFOTYPESREQUEST
  DESCRIPTOR.message_types_by_name['ListInfoTypesResponse'] = _LISTINFOTYPESRESPONSE
  DESCRIPTOR.message_types_by_name['CategoryDescription'] = _CATEGORYDESCRIPTION
  DESCRIPTOR.message_types_by_name['ListRootCategoriesRequest'] = _LISTROOTCATEGORIESREQUEST
  DESCRIPTOR.message_types_by_name['ListRootCategoriesResponse'] = _LISTROOTCATEGORIESRESPONSE
  DESCRIPTOR.message_types_by_name['AnalyzeDataSourceRiskRequest'] = _ANALYZEDATASOURCERISKREQUEST
  DESCRIPTOR.message_types_by_name['PrivacyMetric'] = _PRIVACYMETRIC
  DESCRIPTOR.message_types_by_name['RiskAnalysisOperationMetadata'] = _RISKANALYSISOPERATIONMETADATA
  DESCRIPTOR.message_types_by_name['RiskAnalysisOperationResult'] = _RISKANALYSISOPERATIONRESULT
  DESCRIPTOR.message_types_by_name['ValueFrequency'] = _VALUEFREQUENCY
  DESCRIPTOR.message_types_by_name['Value'] = _VALUE
  DESCRIPTOR.message_types_by_name['DeidentifyConfig'] = _DEIDENTIFYCONFIG
  DESCRIPTOR.message_types_by_name['PrimitiveTransformation'] = _PRIMITIVETRANSFORMATION
  DESCRIPTOR.message_types_by_name['TimePartConfig'] = _TIMEPARTCONFIG
  DESCRIPTOR.message_types_by_name['CryptoHashConfig'] = _CRYPTOHASHCONFIG
  DESCRIPTOR.message_types_by_name['ReplaceValueConfig'] = _REPLACEVALUECONFIG
  DESCRIPTOR.message_types_by_name['ReplaceWithInfoTypeConfig'] = _REPLACEWITHINFOTYPECONFIG
  DESCRIPTOR.message_types_by_name['RedactConfig'] = _REDACTCONFIG
  DESCRIPTOR.message_types_by_name['CharsToIgnore'] = _CHARSTOIGNORE
  DESCRIPTOR.message_types_by_name['CharacterMaskConfig'] = _CHARACTERMASKCONFIG
  DESCRIPTOR.message_types_by_name['FixedSizeBucketingConfig'] = _FIXEDSIZEBUCKETINGCONFIG
  DESCRIPTOR.message_types_by_name['BucketingConfig'] = _BUCKETINGCONFIG
  DESCRIPTOR.message_types_by_name['CryptoReplaceFfxFpeConfig'] = _CRYPTOREPLACEFFXFPECONFIG
  DESCRIPTOR.message_types_by_name['CryptoKey'] = _CRYPTOKEY
  DESCRIPTOR.message_types_by_name['TransientCryptoKey'] = _TRANSIENTCRYPTOKEY
  DESCRIPTOR.message_types_by_name['UnwrappedCryptoKey'] = _UNWRAPPEDCRYPTOKEY
  DESCRIPTOR.message_types_by_name['KmsWrappedCryptoKey'] = _KMSWRAPPEDCRYPTOKEY
  DESCRIPTOR.message_types_by_name['InfoTypeTransformations'] = _INFOTYPETRANSFORMATIONS
  DESCRIPTOR.message_types_by_name['FieldTransformation'] = _FIELDTRANSFORMATION
  DESCRIPTOR.message_types_by_name['RecordTransformations'] = _RECORDTRANSFORMATIONS
  DESCRIPTOR.message_types_by_name['RecordSuppression'] = _RECORDSUPPRESSION
  DESCRIPTOR.message_types_by_name['RecordCondition'] = _RECORDCONDITION
  DESCRIPTOR.message_types_by_name['DeidentificationSummary'] = _DEIDENTIFICATIONSUMMARY
  DESCRIPTOR.message_types_by_name['TransformationSummary'] = _TRANSFORMATIONSUMMARY
  DESCRIPTOR.enum_types_by_name['Likelihood'] = _LIKELIHOOD
  DESCRIPTOR.enum_types_by_name['RelationalOperator'] = _RELATIONALOPERATOR
  
  InspectConfig = _reflection.GeneratedProtocolMessageType('InspectConfig', (_message.Message,), dict(
  
    InfoTypeLimit = _reflection.GeneratedProtocolMessageType('InfoTypeLimit', (_message.Message,), dict(
      DESCRIPTOR = _INSPECTCONFIG_INFOTYPELIMIT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Max findings configuration per info type, per content item or long
      running operation.
  
  
      Attributes:
          info_type:
              Type of information the findings limit applies to. Only one
              limit per info\_type should be provided. If InfoTypeLimit does
              not have an info\_type, the DLP API applies the limit against
              all info\_types that are found but not specified in another
              InfoTypeLimit.
          max_findings:
              Max findings limit for the given infoType.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectConfig.InfoTypeLimit)
      ))
    ,
    DESCRIPTOR = _INSPECTCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Configuration description of the scanning process. When used with
    redactContent only info\_types and min\_likelihood are currently used.
  
  
    Attributes:
        info_types:
            Restricts what info\_types to look for. The values must
            correspond to InfoType values returned by ListInfoTypes or
            found in documentation. Empty info\_types runs all enabled
            detectors.
        min_likelihood:
            Only returns findings equal or above this threshold.
        max_findings:
            Limits the number of findings per content item or long running
            operation.
        include_quote:
            When true, a contextual quote from the data that triggered a
            finding is included in the response; see Finding.quote.
        exclude_types:
            When true, excludes type information of the findings.
        info_type_limits:
            Configuration of findings limit given for specified info
            types.
        custom_info_types:
            Custom info types provided by the user.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectConfig)
    ))
  _sym_db.RegisterMessage(InspectConfig)
  _sym_db.RegisterMessage(InspectConfig.InfoTypeLimit)
  
  OperationConfig = _reflection.GeneratedProtocolMessageType('OperationConfig', (_message.Message,), dict(
    DESCRIPTOR = _OPERATIONCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Additional configuration for inspect long running operations.
  
  
    Attributes:
        max_item_findings:
            Max number of findings per file, Datastore entity, or database
            row.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.OperationConfig)
    ))
  _sym_db.RegisterMessage(OperationConfig)
  
  ContentItem = _reflection.GeneratedProtocolMessageType('ContentItem', (_message.Message,), dict(
    DESCRIPTOR = _CONTENTITEM,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Container structure for the content to inspect.
  
  
    Attributes:
        type:
            Type of the content, as defined in Content-Type HTTP header.
            Supported types are: all "text" types, octet streams, PNG
            images, JPEG images.
        data_item:
            Data of the item either in the byte array or UTF-8 string
            form.
        data:
            Content data to inspect or redact.
        value:
            String data to inspect or redact.
        table:
            Structured content for inspection.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ContentItem)
    ))
  _sym_db.RegisterMessage(ContentItem)
  
  Table = _reflection.GeneratedProtocolMessageType('Table', (_message.Message,), dict(
  
    Row = _reflection.GeneratedProtocolMessageType('Row', (_message.Message,), dict(
      DESCRIPTOR = _TABLE_ROW,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Table.Row)
      ))
    ,
    DESCRIPTOR = _TABLE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Structured content to inspect. Up to 50,000 ``Value``\ s per request
    allowed.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Table)
    ))
  _sym_db.RegisterMessage(Table)
  _sym_db.RegisterMessage(Table.Row)
  
  InspectResult = _reflection.GeneratedProtocolMessageType('InspectResult', (_message.Message,), dict(
    DESCRIPTOR = _INSPECTRESULT,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """All the findings for a single scanned item.
  
  
    Attributes:
        findings:
            List of findings for an item.
        findings_truncated:
            If true, then this item might have more findings than were
            returned, and the findings returned are an arbitrary subset of
            all findings. The findings list might be truncated because the
            input items were too large, or because the server reached the
            maximum amount of resources allowed for a single API call. For
            best results, divide the input into smaller batches.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectResult)
    ))
  _sym_db.RegisterMessage(InspectResult)
  
  Finding = _reflection.GeneratedProtocolMessageType('Finding', (_message.Message,), dict(
    DESCRIPTOR = _FINDING,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Container structure describing a single finding within a string or
    image.
  
  
    Attributes:
        quote:
            The specific string that may be potentially sensitive info.
        info_type:
            The specific type of info the string might be.
        likelihood:
            Estimate of how likely it is that the info\_type is correct.
        location:
            Location of the info found.
        create_time:
            Timestamp when finding was detected.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Finding)
    ))
  _sym_db.RegisterMessage(Finding)
  
  Location = _reflection.GeneratedProtocolMessageType('Location', (_message.Message,), dict(
    DESCRIPTOR = _LOCATION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Specifies the location of a finding within its source item.
  
  
    Attributes:
        byte_range:
            Zero-based byte offsets within a content item.
        codepoint_range:
            Character offsets within a content item, included when content
            type is a text. Default charset assumed to be UTF-8.
        image_boxes:
            Location within an image's pixels.
        record_key:
            Key of the finding.
        field_id:
            Field id of the field containing the finding.
        table_location:
            Location within a ``ContentItem.Table``.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Location)
    ))
  _sym_db.RegisterMessage(Location)
  
  TableLocation = _reflection.GeneratedProtocolMessageType('TableLocation', (_message.Message,), dict(
    DESCRIPTOR = _TABLELOCATION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Location of a finding within a ``ContentItem.Table``.
  
  
    Attributes:
        row_index:
            The zero-based index of the row where the finding is located.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.TableLocation)
    ))
  _sym_db.RegisterMessage(TableLocation)
  
  Range = _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), dict(
    DESCRIPTOR = _RANGE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Generic half-open interval [start, end)
  
  
    Attributes:
        start:
            Index of the first character of the range (inclusive).
        end:
            Index of the last character of the range (exclusive).
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Range)
    ))
  _sym_db.RegisterMessage(Range)
  
  ImageLocation = _reflection.GeneratedProtocolMessageType('ImageLocation', (_message.Message,), dict(
    DESCRIPTOR = _IMAGELOCATION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Bounding box encompassing detected text within an image.
  
  
    Attributes:
        top:
            Top coordinate of the bounding box. (0,0) is upper left.
        left:
            Left coordinate of the bounding box. (0,0) is upper left.
        width:
            Width of the bounding box in pixels.
        height:
            Height of the bounding box in pixels.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ImageLocation)
    ))
  _sym_db.RegisterMessage(ImageLocation)
  
  RedactContentRequest = _reflection.GeneratedProtocolMessageType('RedactContentRequest', (_message.Message,), dict(
  
    ReplaceConfig = _reflection.GeneratedProtocolMessageType('ReplaceConfig', (_message.Message,), dict(
      DESCRIPTOR = _REDACTCONTENTREQUEST_REPLACECONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """The replacement configuration.
  
      Attributes:
          info_type:
              Type of information to replace. Only one ReplaceConfig per
              info\_type should be provided. If ReplaceConfig does not have
              an info\_type, the DLP API matches it against all info\_types
              that are found but not specified in another ReplaceConfig.
          replace_with:
              Content replacing sensitive information of given type. Max 256
              chars.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RedactContentRequest.ReplaceConfig)
      ))
    ,
  
    ImageRedactionConfig = _reflection.GeneratedProtocolMessageType('ImageRedactionConfig', (_message.Message,), dict(
      DESCRIPTOR = _REDACTCONTENTREQUEST_IMAGEREDACTIONCONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Configuration for determining how redaction of images should occur.
  
  
      Attributes:
          target:
              Type of information to redact from images.
          info_type:
              Only one per info\_type should be provided per request. If not
              specified, and redact\_all\_text is false, the DLP API will
              redact all text that it matches against all info\_types that
              are found, but not specified in another ImageRedactionConfig.
          redact_all_text:
              If true, all text found in the image, regardless whether it
              matches an info\_type, is redacted.
          redaction_color:
              The color to use when redacting content from an image. If not
              specified, the default is black.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RedactContentRequest.ImageRedactionConfig)
      ))
    ,
    DESCRIPTOR = _REDACTCONTENTREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request to search for potentially sensitive info in a list of items and
    replace it with a default or provided content.
  
  
    Attributes:
        inspect_config:
            Configuration for the inspector.
        items:
            The list of items to inspect. Up to 100 are allowed per
            request.
        replace_configs:
            The strings to replace findings text findings with. Must
            specify at least one of these or one ImageRedactionConfig if
            redacting images.
        image_redaction_configs:
            The configuration for specifying what content to redact from
            images.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RedactContentRequest)
    ))
  _sym_db.RegisterMessage(RedactContentRequest)
  _sym_db.RegisterMessage(RedactContentRequest.ReplaceConfig)
  _sym_db.RegisterMessage(RedactContentRequest.ImageRedactionConfig)
  
  Color = _reflection.GeneratedProtocolMessageType('Color', (_message.Message,), dict(
    DESCRIPTOR = _COLOR,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Represents a color in the RGB color space.
  
  
    Attributes:
        red:
            The amount of red in the color as a value in the interval [0,
            1].
        green:
            The amount of green in the color as a value in the interval
            [0, 1].
        blue:
            The amount of blue in the color as a value in the interval [0,
            1].
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Color)
    ))
  _sym_db.RegisterMessage(Color)
  
  RedactContentResponse = _reflection.GeneratedProtocolMessageType('RedactContentResponse', (_message.Message,), dict(
    DESCRIPTOR = _REDACTCONTENTRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Results of redacting a list of items.
  
  
    Attributes:
        items:
            The redacted content.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RedactContentResponse)
    ))
  _sym_db.RegisterMessage(RedactContentResponse)
  
  DeidentifyContentRequest = _reflection.GeneratedProtocolMessageType('DeidentifyContentRequest', (_message.Message,), dict(
    DESCRIPTOR = _DEIDENTIFYCONTENTREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request to de-identify a list of items.
  
  
    Attributes:
        deidentify_config:
            Configuration for the de-identification of the list of content
            items.
        inspect_config:
            Configuration for the inspector.
        items:
            The list of items to inspect. Up to 100 are allowed per
            request. All items will be treated as text/\*.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.DeidentifyContentRequest)
    ))
  _sym_db.RegisterMessage(DeidentifyContentRequest)
  
  DeidentifyContentResponse = _reflection.GeneratedProtocolMessageType('DeidentifyContentResponse', (_message.Message,), dict(
    DESCRIPTOR = _DEIDENTIFYCONTENTRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Results of de-identifying a list of items.
  
  
    Attributes:
        summaries:
            A review of the transformations that took place for each item.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.DeidentifyContentResponse)
    ))
  _sym_db.RegisterMessage(DeidentifyContentResponse)
  
  InspectContentRequest = _reflection.GeneratedProtocolMessageType('InspectContentRequest', (_message.Message,), dict(
    DESCRIPTOR = _INSPECTCONTENTREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request to search for potentially sensitive info in a list of items.
  
  
    Attributes:
        inspect_config:
            Configuration for the inspector.
        items:
            The list of items to inspect. Items in a single request are
            considered "related" unless
            inspect\_config.independent\_inputs is true. Up to 100 are
            allowed per request.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectContentRequest)
    ))
  _sym_db.RegisterMessage(InspectContentRequest)
  
  InspectContentResponse = _reflection.GeneratedProtocolMessageType('InspectContentResponse', (_message.Message,), dict(
    DESCRIPTOR = _INSPECTCONTENTRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Results of inspecting a list of items.
  
  
    Attributes:
        results:
            Each content\_item from the request has a result in this list,
            in the same order as the request.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectContentResponse)
    ))
  _sym_db.RegisterMessage(InspectContentResponse)
  
  CreateInspectOperationRequest = _reflection.GeneratedProtocolMessageType('CreateInspectOperationRequest', (_message.Message,), dict(
    DESCRIPTOR = _CREATEINSPECTOPERATIONREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request for scheduling a scan of a data subset from a Google Platform
    data repository.
  
  
    Attributes:
        inspect_config:
            Configuration for the inspector.
        storage_config:
            Specification of the data set to process.
        output_config:
            Optional location to store findings.
        operation_config:
            Additional configuration settings for long running operations.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CreateInspectOperationRequest)
    ))
  _sym_db.RegisterMessage(CreateInspectOperationRequest)
  
  OutputStorageConfig = _reflection.GeneratedProtocolMessageType('OutputStorageConfig', (_message.Message,), dict(
    DESCRIPTOR = _OUTPUTSTORAGECONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Cloud repository for storing output.
  
  
    Attributes:
        table:
            Store findings in a new table in the dataset.
        storage_path:
            The path to a Google Cloud Storage location to store output.
            The bucket must already exist and the Google APIs service
            account for DLP must have write permission to write to the
            given bucket. Results are split over multiple csv files with
            each file name matching the pattern
            "[operation\_id]\_[count].csv", for example
            ``3094877188788974909_1.csv``. The ``operation_id`` matches
            the identifier for the Operation, and the ``count`` is a
            counter used for tracking the number of files written.  The
            CSV file(s) contain the following columns regardless of
            storage type scanned: - id - info\_type - likelihood - byte
            size of finding - quote - timestamp  For Cloud Storage the
            next columns are:  -  file\_path -  start\_offset  For Cloud
            Datastore the next columns are:  -  project\_id -
            namespace\_id -  path -  column\_name -  offset  For BigQuery
            the next columns are:  -  row\_number -  project\_id -
            dataset\_id -  table\_id
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.OutputStorageConfig)
    ))
  _sym_db.RegisterMessage(OutputStorageConfig)
  
  InfoTypeStatistics = _reflection.GeneratedProtocolMessageType('InfoTypeStatistics', (_message.Message,), dict(
    DESCRIPTOR = _INFOTYPESTATISTICS,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Statistics regarding a specific InfoType.
  
  
    Attributes:
        info_type:
            The type of finding this stat is for.
        count:
            Number of findings for this info type.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InfoTypeStatistics)
    ))
  _sym_db.RegisterMessage(InfoTypeStatistics)
  
  InspectOperationMetadata = _reflection.GeneratedProtocolMessageType('InspectOperationMetadata', (_message.Message,), dict(
    DESCRIPTOR = _INSPECTOPERATIONMETADATA,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Metadata returned within GetOperation for an inspect request.
  
  
    Attributes:
        processed_bytes:
            Total size in bytes that were processed.
        total_estimated_bytes:
            Estimate of the number of bytes to process.
        create_time:
            The time which this request was started.
        request_inspect_config:
            The inspect config used to create the Operation.
        request_storage_config:
            The storage config used to create the Operation.
        request_output_config:
            Optional location to store findings.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectOperationMetadata)
    ))
  _sym_db.RegisterMessage(InspectOperationMetadata)
  
  InspectOperationResult = _reflection.GeneratedProtocolMessageType('InspectOperationResult', (_message.Message,), dict(
    DESCRIPTOR = _INSPECTOPERATIONRESULT,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """The operational data.
  
  
    Attributes:
        name:
            The server-assigned name, which is only unique within the same
            service that originally returns it. If you use the default
            HTTP mapping, the ``name`` should have the format of
            ``inspect/results/{id}``.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InspectOperationResult)
    ))
  _sym_db.RegisterMessage(InspectOperationResult)
  
  ListInspectFindingsRequest = _reflection.GeneratedProtocolMessageType('ListInspectFindingsRequest', (_message.Message,), dict(
    DESCRIPTOR = _LISTINSPECTFINDINGSREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request for the list of results in a given inspect operation.
  
  
    Attributes:
        name:
            Identifier of the results set returned as metadata of the
            longrunning operation created by a call to InspectDataSource.
            Should be in the format of ``inspect/results/{id}``.
        page_size:
            Maximum number of results to return. If 0, the implementation
            selects a reasonable value.
        page_token:
            The value returned by the last
            ``ListInspectFindingsResponse``; indicates that this is a
            continuation of a prior ``ListInspectFindings`` call, and that
            the system should return the next page of data.
        filter:
            Restricts findings to items that match. Supports info\_type
            and likelihood.  Examples:  -  info\_type=EMAIL\_ADDRESS -
            info\_type=PHONE\_NUMBER,EMAIL\_ADDRESS -
            likelihood=VERY\_LIKELY -  likelihood=VERY\_LIKELY,LIKELY -
            info\_type=EMAIL\_ADDRESS,likelihood=VERY\_LIKELY,LIKELY
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListInspectFindingsRequest)
    ))
  _sym_db.RegisterMessage(ListInspectFindingsRequest)
  
  ListInspectFindingsResponse = _reflection.GeneratedProtocolMessageType('ListInspectFindingsResponse', (_message.Message,), dict(
    DESCRIPTOR = _LISTINSPECTFINDINGSRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Response to the ListInspectFindings request.
  
  
    Attributes:
        result:
            The results.
        next_page_token:
            If not empty, indicates that there may be more results that
            match the request; this value should be passed in a new
            ``ListInspectFindingsRequest``.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListInspectFindingsResponse)
    ))
  _sym_db.RegisterMessage(ListInspectFindingsResponse)
  
  InfoTypeDescription = _reflection.GeneratedProtocolMessageType('InfoTypeDescription', (_message.Message,), dict(
    DESCRIPTOR = _INFOTYPEDESCRIPTION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Description of the information type (infoType).
  
  
    Attributes:
        name:
            Internal name of the infoType.
        display_name:
            Human readable form of the infoType name.
        categories:
            List of categories this infoType belongs to.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InfoTypeDescription)
    ))
  _sym_db.RegisterMessage(InfoTypeDescription)
  
  ListInfoTypesRequest = _reflection.GeneratedProtocolMessageType('ListInfoTypesRequest', (_message.Message,), dict(
    DESCRIPTOR = _LISTINFOTYPESREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request for the list of info types belonging to a given category, or all
    supported info types if no category is specified.
  
  
    Attributes:
        category:
            Category name as returned by ListRootCategories.
        language_code:
            Optional BCP-47 language code for localized info type friendly
            names. If omitted, or if localized strings are not available,
            en-US strings will be returned.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListInfoTypesRequest)
    ))
  _sym_db.RegisterMessage(ListInfoTypesRequest)
  
  ListInfoTypesResponse = _reflection.GeneratedProtocolMessageType('ListInfoTypesResponse', (_message.Message,), dict(
    DESCRIPTOR = _LISTINFOTYPESRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Response to the ListInfoTypes request.
  
  
    Attributes:
        info_types:
            Set of sensitive info types belonging to a category.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListInfoTypesResponse)
    ))
  _sym_db.RegisterMessage(ListInfoTypesResponse)
  
  CategoryDescription = _reflection.GeneratedProtocolMessageType('CategoryDescription', (_message.Message,), dict(
    DESCRIPTOR = _CATEGORYDESCRIPTION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Info Type Category description.
  
  
    Attributes:
        name:
            Internal name of the category.
        display_name:
            Human readable form of the category name.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CategoryDescription)
    ))
  _sym_db.RegisterMessage(CategoryDescription)
  
  ListRootCategoriesRequest = _reflection.GeneratedProtocolMessageType('ListRootCategoriesRequest', (_message.Message,), dict(
    DESCRIPTOR = _LISTROOTCATEGORIESREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request for root categories of Info Types supported by the API. Example
    values might include "FINANCE", "HEALTH", "FAST", "DEFAULT".
  
  
    Attributes:
        language_code:
            Optional language code for localized friendly category names.
            If omitted or if localized strings are not available, en-US
            strings will be returned.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListRootCategoriesRequest)
    ))
  _sym_db.RegisterMessage(ListRootCategoriesRequest)
  
  ListRootCategoriesResponse = _reflection.GeneratedProtocolMessageType('ListRootCategoriesResponse', (_message.Message,), dict(
    DESCRIPTOR = _LISTROOTCATEGORIESRESPONSE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Response for ListRootCategories request.
  
  
    Attributes:
        categories:
            List of all into type categories supported by the API.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ListRootCategoriesResponse)
    ))
  _sym_db.RegisterMessage(ListRootCategoriesResponse)
  
  AnalyzeDataSourceRiskRequest = _reflection.GeneratedProtocolMessageType('AnalyzeDataSourceRiskRequest', (_message.Message,), dict(
    DESCRIPTOR = _ANALYZEDATASOURCERISKREQUEST,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Request for creating a risk analysis operation.
  
  
    Attributes:
        privacy_metric:
            Privacy metric to compute.
        source_table:
            Input dataset to compute metrics over.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.AnalyzeDataSourceRiskRequest)
    ))
  _sym_db.RegisterMessage(AnalyzeDataSourceRiskRequest)
  
  PrivacyMetric = _reflection.GeneratedProtocolMessageType('PrivacyMetric', (_message.Message,), dict(
  
    NumericalStatsConfig = _reflection.GeneratedProtocolMessageType('NumericalStatsConfig', (_message.Message,), dict(
      DESCRIPTOR = _PRIVACYMETRIC_NUMERICALSTATSCONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Compute numerical stats over an individual column, including min, max,
      and quantiles.
  
  
      Attributes:
          field:
              Field to compute numerical stats on. Supported types are
              integer, float, date, datetime, timestamp, time.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrivacyMetric.NumericalStatsConfig)
      ))
    ,
  
    CategoricalStatsConfig = _reflection.GeneratedProtocolMessageType('CategoricalStatsConfig', (_message.Message,), dict(
      DESCRIPTOR = _PRIVACYMETRIC_CATEGORICALSTATSCONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Compute numerical stats over an individual column, including number of
      distinct values and value count distribution.
  
  
      Attributes:
          field:
              Field to compute categorical stats on. All column types are
              supported except for arrays and structs. However, it may be
              more informative to use NumericalStats when the field type is
              supported, depending on the data.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrivacyMetric.CategoricalStatsConfig)
      ))
    ,
  
    KAnonymityConfig = _reflection.GeneratedProtocolMessageType('KAnonymityConfig', (_message.Message,), dict(
      DESCRIPTOR = _PRIVACYMETRIC_KANONYMITYCONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """k-anonymity metric, used for analysis of reidentification risk.
  
  
      Attributes:
          quasi_ids:
              Set of fields to compute k-anonymity over. When multiple
              fields are specified, they are considered a single composite
              key. Structs and repeated data types are not supported;
              however, nested fields are supported so long as they are not
              structs themselves or nested within a repeated field.
          entity_id:
              Optional message indicating that each distinct ``EntityId``
              should not contribute to the k-anonymity count more than once
              per equivalence class.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrivacyMetric.KAnonymityConfig)
      ))
    ,
  
    LDiversityConfig = _reflection.GeneratedProtocolMessageType('LDiversityConfig', (_message.Message,), dict(
      DESCRIPTOR = _PRIVACYMETRIC_LDIVERSITYCONFIG,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """l-diversity metric, used for analysis of reidentification risk.
  
  
      Attributes:
          quasi_ids:
              Set of quasi-identifiers indicating how equivalence classes
              are defined for the l-diversity computation. When multiple
              fields are specified, they are considered a single composite
              key.
          sensitive_attribute:
              Sensitive field for computing the l-value.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrivacyMetric.LDiversityConfig)
      ))
    ,
    DESCRIPTOR = _PRIVACYMETRIC,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Privacy metric to compute for reidentification risk analysis.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrivacyMetric)
    ))
  _sym_db.RegisterMessage(PrivacyMetric)
  _sym_db.RegisterMessage(PrivacyMetric.NumericalStatsConfig)
  _sym_db.RegisterMessage(PrivacyMetric.CategoricalStatsConfig)
  _sym_db.RegisterMessage(PrivacyMetric.KAnonymityConfig)
  _sym_db.RegisterMessage(PrivacyMetric.LDiversityConfig)
  
  RiskAnalysisOperationMetadata = _reflection.GeneratedProtocolMessageType('RiskAnalysisOperationMetadata', (_message.Message,), dict(
    DESCRIPTOR = _RISKANALYSISOPERATIONMETADATA,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Metadata returned within the
    ```riskAnalysis.operations.get`` </dlp/docs/reference/rest/v2beta1/riskAnalysis.operations/get>`__
    for risk analysis.
  
  
    Attributes:
        create_time:
            The time which this request was started.
        requested_privacy_metric:
            Privacy metric to compute.
        requested_source_table:
            Input dataset to compute metrics over.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationMetadata)
    ))
  _sym_db.RegisterMessage(RiskAnalysisOperationMetadata)
  
  RiskAnalysisOperationResult = _reflection.GeneratedProtocolMessageType('RiskAnalysisOperationResult', (_message.Message,), dict(
  
    NumericalStatsResult = _reflection.GeneratedProtocolMessageType('NumericalStatsResult', (_message.Message,), dict(
      DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_NUMERICALSTATSRESULT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Result of the numerical stats computation.
  
  
      Attributes:
          min_value:
              Minimum value appearing in the column.
          max_value:
              Maximum value appearing in the column.
          quantile_values:
              List of 99 values that partition the set of field values into
              100 equal sized buckets.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.NumericalStatsResult)
      ))
    ,
  
    CategoricalStatsResult = _reflection.GeneratedProtocolMessageType('CategoricalStatsResult', (_message.Message,), dict(
  
      CategoricalStatsHistogramBucket = _reflection.GeneratedProtocolMessageType('CategoricalStatsHistogramBucket', (_message.Message,), dict(
        DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT_CATEGORICALSTATSHISTOGRAMBUCKET,
        __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
        ,
        __doc__ = """Histogram bucket of value frequencies in the column.
  
  
        Attributes:
            value_frequency_lower_bound:
                Lower bound on the value frequency of the values in this
                bucket.
            value_frequency_upper_bound:
                Upper bound on the value frequency of the values in this
                bucket.
            bucket_size:
                Total number of records in this bucket.
            bucket_values:
                Sample of value frequencies in this bucket. The total number
                of values returned per bucket is capped at 20.
        """,
        # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket)
        ))
      ,
      DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_CATEGORICALSTATSRESULT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Result of the categorical stats computation.
  
  
      Attributes:
          value_frequency_histogram_buckets:
              Histogram of value frequencies in the column.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.CategoricalStatsResult)
      ))
    ,
  
    KAnonymityResult = _reflection.GeneratedProtocolMessageType('KAnonymityResult', (_message.Message,), dict(
  
      KAnonymityEquivalenceClass = _reflection.GeneratedProtocolMessageType('KAnonymityEquivalenceClass', (_message.Message,), dict(
        DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYEQUIVALENCECLASS,
        __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
        ,
        __doc__ = """The set of columns' values that share the same k-anonymity value.
  
  
        Attributes:
            quasi_ids_values:
                Set of values defining the equivalence class. One value per
                quasi-identifier column in the original KAnonymity metric
                message. The order is always the same as the original request.
            equivalence_class_size:
                Size of the equivalence class, for example number of rows with
                the above set of values.
        """,
        # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass)
        ))
      ,
  
      KAnonymityHistogramBucket = _reflection.GeneratedProtocolMessageType('KAnonymityHistogramBucket', (_message.Message,), dict(
        DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT_KANONYMITYHISTOGRAMBUCKET,
        __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
        ,
        __doc__ = """Histogram bucket of equivalence class sizes in the table.
  
  
        Attributes:
            equivalence_class_size_lower_bound:
                Lower bound on the size of the equivalence classes in this
                bucket.
            equivalence_class_size_upper_bound:
                Upper bound on the size of the equivalence classes in this
                bucket.
            bucket_size:
                Total number of records in this bucket.
            bucket_values:
                Sample of equivalence classes in this bucket. The total number
                of classes returned per bucket is capped at 20.
        """,
        # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket)
        ))
      ,
      DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_KANONYMITYRESULT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Result of the k-anonymity computation.
  
  
      Attributes:
          equivalence_class_histogram_buckets:
              Histogram of k-anonymity equivalence classes.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.KAnonymityResult)
      ))
    ,
  
    LDiversityResult = _reflection.GeneratedProtocolMessageType('LDiversityResult', (_message.Message,), dict(
  
      LDiversityEquivalenceClass = _reflection.GeneratedProtocolMessageType('LDiversityEquivalenceClass', (_message.Message,), dict(
        DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYEQUIVALENCECLASS,
        __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
        ,
        __doc__ = """The set of columns' values that share the same l-diversity value.
  
  
        Attributes:
            quasi_ids_values:
                Quasi-identifier values defining the k-anonymity equivalence
                class. The order is always the same as the original request.
            equivalence_class_size:
                Size of the k-anonymity equivalence class.
            num_distinct_sensitive_values:
                Number of distinct sensitive values in this equivalence class.
            top_sensitive_values:
                Estimated frequencies of top sensitive values.
        """,
        # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass)
        ))
      ,
  
      LDiversityHistogramBucket = _reflection.GeneratedProtocolMessageType('LDiversityHistogramBucket', (_message.Message,), dict(
        DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT_LDIVERSITYHISTOGRAMBUCKET,
        __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
        ,
        __doc__ = """Histogram bucket of sensitive value frequencies in the table.
  
  
        Attributes:
            sensitive_value_frequency_lower_bound:
                Lower bound on the sensitive value frequencies of the
                equivalence classes in this bucket.
            sensitive_value_frequency_upper_bound:
                Upper bound on the sensitive value frequencies of the
                equivalence classes in this bucket.
            bucket_size:
                Total number of records in this bucket.
            bucket_values:
                Sample of equivalence classes in this bucket. The total number
                of classes returned per bucket is capped at 20.
        """,
        # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket)
        ))
      ,
      DESCRIPTOR = _RISKANALYSISOPERATIONRESULT_LDIVERSITYRESULT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Result of the l-diversity computation.
  
  
      Attributes:
          sensitive_value_frequency_histogram_buckets:
              Histogram of l-diversity equivalence class sensitive value
              frequencies.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult.LDiversityResult)
      ))
    ,
    DESCRIPTOR = _RISKANALYSISOPERATIONRESULT,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Result of a risk analysis
    ```Operation`` </dlp/docs/reference/rest/v2beta1/inspect.operations>`__
    request.
  
  
    Attributes:
        result:
            Values associated with this metric.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RiskAnalysisOperationResult)
    ))
  _sym_db.RegisterMessage(RiskAnalysisOperationResult)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.NumericalStatsResult)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.CategoricalStatsResult)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.CategoricalStatsResult.CategoricalStatsHistogramBucket)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.KAnonymityResult)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.KAnonymityResult.KAnonymityEquivalenceClass)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.KAnonymityResult.KAnonymityHistogramBucket)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.LDiversityResult)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.LDiversityResult.LDiversityEquivalenceClass)
  _sym_db.RegisterMessage(RiskAnalysisOperationResult.LDiversityResult.LDiversityHistogramBucket)
  
  ValueFrequency = _reflection.GeneratedProtocolMessageType('ValueFrequency', (_message.Message,), dict(
    DESCRIPTOR = _VALUEFREQUENCY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """A value of a field, including its frequency.
  
  
    Attributes:
        value:
            A value contained in the field in question.
        count:
            How many times the value is contained in the field.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ValueFrequency)
    ))
  _sym_db.RegisterMessage(ValueFrequency)
  
  Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict(
    DESCRIPTOR = _VALUE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Set of primitive values supported by the system.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.Value)
    ))
  _sym_db.RegisterMessage(Value)
  
  DeidentifyConfig = _reflection.GeneratedProtocolMessageType('DeidentifyConfig', (_message.Message,), dict(
    DESCRIPTOR = _DEIDENTIFYCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """The configuration that controls how the data will change.
  
  
    Attributes:
        info_type_transformations:
            Treat the dataset as free-form text and apply the same free
            text transformation everywhere.
        record_transformations:
            Treat the dataset as structured. Transformations can be
            applied to specific locations within structured datasets, such
            as transforming a column within a table.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.DeidentifyConfig)
    ))
  _sym_db.RegisterMessage(DeidentifyConfig)
  
  PrimitiveTransformation = _reflection.GeneratedProtocolMessageType('PrimitiveTransformation', (_message.Message,), dict(
    DESCRIPTOR = _PRIMITIVETRANSFORMATION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """A rule for transforming a value.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.PrimitiveTransformation)
    ))
  _sym_db.RegisterMessage(PrimitiveTransformation)
  
  TimePartConfig = _reflection.GeneratedProtocolMessageType('TimePartConfig', (_message.Message,), dict(
    DESCRIPTOR = _TIMEPARTCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """For use with ``Date``, ``Timestamp``, and ``TimeOfDay``, extract or
    preserve a portion of the value.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.TimePartConfig)
    ))
  _sym_db.RegisterMessage(TimePartConfig)
  
  CryptoHashConfig = _reflection.GeneratedProtocolMessageType('CryptoHashConfig', (_message.Message,), dict(
    DESCRIPTOR = _CRYPTOHASHCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Pseudonymization method that generates surrogates via cryptographic
    hashing. Uses SHA-256. Outputs a 32 byte digest as an uppercase hex
    string (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE). Currently, only
    string and integer values can be hashed.
  
  
    Attributes:
        crypto_key:
            The key used by the hash function.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CryptoHashConfig)
    ))
  _sym_db.RegisterMessage(CryptoHashConfig)
  
  ReplaceValueConfig = _reflection.GeneratedProtocolMessageType('ReplaceValueConfig', (_message.Message,), dict(
    DESCRIPTOR = _REPLACEVALUECONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Replace each input value with a given ``Value``.
  
  
    Attributes:
        new_value:
            Value to replace it with.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ReplaceValueConfig)
    ))
  _sym_db.RegisterMessage(ReplaceValueConfig)
  
  ReplaceWithInfoTypeConfig = _reflection.GeneratedProtocolMessageType('ReplaceWithInfoTypeConfig', (_message.Message,), dict(
    DESCRIPTOR = _REPLACEWITHINFOTYPECONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Replace each matching finding with the name of the info\_type.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.ReplaceWithInfoTypeConfig)
    ))
  _sym_db.RegisterMessage(ReplaceWithInfoTypeConfig)
  
  RedactConfig = _reflection.GeneratedProtocolMessageType('RedactConfig', (_message.Message,), dict(
    DESCRIPTOR = _REDACTCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Redact a given value. For example, if used with an
    ``InfoTypeTransformation`` transforming PHONE\_NUMBER, and input 'My
    phone number is 206-555-0123', the output would be 'My phone number is
    '.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RedactConfig)
    ))
  _sym_db.RegisterMessage(RedactConfig)
  
  CharsToIgnore = _reflection.GeneratedProtocolMessageType('CharsToIgnore', (_message.Message,), dict(
    DESCRIPTOR = _CHARSTOIGNORE,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Characters to skip when doing deidentification of a value. These will be
    left alone and skipped.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CharsToIgnore)
    ))
  _sym_db.RegisterMessage(CharsToIgnore)
  
  CharacterMaskConfig = _reflection.GeneratedProtocolMessageType('CharacterMaskConfig', (_message.Message,), dict(
    DESCRIPTOR = _CHARACTERMASKCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Partially mask a string by replacing a given number of characters with a
    fixed character. Masking can start from the beginning or end of the
    string. This can be used on data of any type (numbers, longs, and so on)
    and when de-identifying structured data we'll attempt to preserve the
    original data's type. (This allows you to take a long like 123 and
    modify it to a string like \*\*3.
  
  
    Attributes:
        masking_character:
            Character to mask the sensitive values—for example, "*" for an
            alphabetic string such as name, or "0" for a numeric string
            such as ZIP code or credit card number. String must have
            length 1. If not supplied, we will default to "*" for strings,
            0 for digits.
        number_to_mask:
            Number of characters to mask. If not set, all matching chars
            will be masked. Skipped characters do not count towards this
            tally.
        reverse_order:
            Mask characters in reverse order. For example, if
            ``masking_character`` is '0', number\_to\_mask is 14, and
            ``reverse_order`` is false, then 1234-5678-9012-3456 ->
            00000000000000-3456 If ``masking_character`` is '*',
            ``number_to_mask`` is 3, and ``reverse_order`` is true, then
            12345 -> 12*\ \*\*
        characters_to_ignore:
            When masking a string, items in this list will be skipped when
            replacing. For example, if your string is 555-555-5555 and you
            ask us to skip ``-`` and mask 5 chars with \* we would produce
            \*\*\ *-*\ 55-5555.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CharacterMaskConfig)
    ))
  _sym_db.RegisterMessage(CharacterMaskConfig)
  
  FixedSizeBucketingConfig = _reflection.GeneratedProtocolMessageType('FixedSizeBucketingConfig', (_message.Message,), dict(
    DESCRIPTOR = _FIXEDSIZEBUCKETINGCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Buckets values based on fixed size ranges. The Bucketing transformation
    can provide all of this functionality, but requires more configuration.
    This message is provided as a convenience to the user for simple
    bucketing strategies. The resulting value will be a hyphenated string of
    lower\_bound-upper\_bound. This can be used on data of type: double,
    long. If the bound Value type differs from the type of data being
    transformed, we will first attempt converting the type of the data to be
    transformed to match the type of the bound before comparing.
  
  
    Attributes:
        lower_bound:
            Lower bound value of buckets. All values less than
            ``lower_bound`` are grouped together into a single bucket; for
            example if ``lower_bound`` = 10, then all values less than 10
            are replaced with the value “-10”. [Required].
        upper_bound:
            Upper bound value of buckets. All values greater than
            upper\_bound are grouped together into a single bucket; for
            example if ``upper_bound`` = 89, then all values greater than
            89 are replaced with the value “89+”. [Required].
        bucket_size:
            Size of each bucket (except for minimum and maximum buckets).
            So if ``lower_bound`` = 10, ``upper_bound`` = 89, and
            ``bucket_size`` = 10, then the following buckets would be
            used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80,
            80-89, 89+. Precision up to 2 decimals works. [Required].
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.FixedSizeBucketingConfig)
    ))
  _sym_db.RegisterMessage(FixedSizeBucketingConfig)
  
  BucketingConfig = _reflection.GeneratedProtocolMessageType('BucketingConfig', (_message.Message,), dict(
  
    Bucket = _reflection.GeneratedProtocolMessageType('Bucket', (_message.Message,), dict(
      DESCRIPTOR = _BUCKETINGCONFIG_BUCKET,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """Buckets represented as ranges, along with replacement values. Ranges
      must be non-overlapping.
  
  
      Attributes:
          min:
              Lower bound of the range, inclusive. Type should be the same
              as max if used.
          max:
              Upper bound of the range, exclusive; type must match min.
          replacement_value:
              Replacement value for this bucket. If not provided the default
              behavior will be to hyphenate the min-max range.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.BucketingConfig.Bucket)
      ))
    ,
    DESCRIPTOR = _BUCKETINGCONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Generalization function that buckets values based on ranges. The ranges
    and replacement values are dynamically provided by the user for custom
    behavior, such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH This can be
    used on data of type: number, long, string, timestamp. If the bound
    ``Value`` type differs from the type of data being transformed, we will
    first attempt converting the type of the data to be transformed to match
    the type of the bound before comparing.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.BucketingConfig)
    ))
  _sym_db.RegisterMessage(BucketingConfig)
  _sym_db.RegisterMessage(BucketingConfig.Bucket)
  
  CryptoReplaceFfxFpeConfig = _reflection.GeneratedProtocolMessageType('CryptoReplaceFfxFpeConfig', (_message.Message,), dict(
    DESCRIPTOR = _CRYPTOREPLACEFFXFPECONFIG,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Replaces an identifier with a surrogate using FPE with the FFX mode of
    operation. The identifier must be representable by the US-ASCII
    character set. For a given crypto key and context, the same identifier
    will be replaced with the same surrogate. Identifiers must be at least
    two characters long. In the case that the identifier is the empty
    string, it will be skipped.
  
  
    Attributes:
        crypto_key:
            The key used by the encryption algorithm. [required]
        context:
            A context may be used for higher security since the same
            identifier in two different contexts likely will be given a
            distinct surrogate. The principle is that the likeliness is
            inversely related to the ratio of the number of distinct
            identifiers per context over the number of possible
            surrogates: As long as this ratio is small, the likehood is
            large.  If the context is not set, a default tweak will be
            used. If the context is set but:  1. there is no record
            present when transforming a given value or 2. the field is not
            present when transforming a given value,  a default tweak will
            be used.  Note that case (1) is expected when an
            ``InfoTypeTransformation`` is applied to both structured and
            non-structured ``ContentItem``\ s. Currently, the referenced
            field may be of value type integer or string.  The tweak is
            constructed as a sequence of bytes in big endian byte order
            such that:  -  a 64 bit integer is encoded followed by a
            single byte of value 1 -  a string is encoded in UTF-8 format
            followed by a single byte of    value 2  This is also known as
            the 'tweak', as in tweakable encryption.
        custom_alphabet:
            This is supported by mapping these to the alphanumeric
            characters that the FFX mode natively supports. This happens
            before/after encryption/decryption. Each character listed must
            appear only once. Number of characters must be in the range
            [2, 62]. This must be encoded as ASCII. The order of
            characters does not matter.
        radix:
            The native way to select the alphabet. Must be in the range
            [2, 62].
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CryptoReplaceFfxFpeConfig)
    ))
  _sym_db.RegisterMessage(CryptoReplaceFfxFpeConfig)
  
  CryptoKey = _reflection.GeneratedProtocolMessageType('CryptoKey', (_message.Message,), dict(
    DESCRIPTOR = _CRYPTOKEY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """This is a data encryption key (DEK) (as opposed to a key encryption key
    (KEK) stored by KMS). When using KMS to wrap/unwrap DEKs, be sure to set
    an appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an
    attacker cannot unwrap the data crypto key.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.CryptoKey)
    ))
  _sym_db.RegisterMessage(CryptoKey)
  
  TransientCryptoKey = _reflection.GeneratedProtocolMessageType('TransientCryptoKey', (_message.Message,), dict(
    DESCRIPTOR = _TRANSIENTCRYPTOKEY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Use this to have a random data crypto key generated. It will be
    discarded after the operation/request finishes.
  
  
    Attributes:
        name:
            Name of the key. [required] This is an arbitrary string used
            to differentiate different keys. A unique key is generated per
            name: two separate ``TransientCryptoKey`` protos share the
            same generated key if their names are the same. When the data
            crypto key is generated, this name is not used in any way
            (repeating the api call will result in a different key being
            generated).
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.TransientCryptoKey)
    ))
  _sym_db.RegisterMessage(TransientCryptoKey)
  
  UnwrappedCryptoKey = _reflection.GeneratedProtocolMessageType('UnwrappedCryptoKey', (_message.Message,), dict(
    DESCRIPTOR = _UNWRAPPEDCRYPTOKEY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Using raw keys is prone to security risks due to accidentally leaking
    the key. Choose another type of key if possible.
  
  
    Attributes:
        key:
            The AES 128/192/256 bit key. [required]
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.UnwrappedCryptoKey)
    ))
  _sym_db.RegisterMessage(UnwrappedCryptoKey)
  
  KmsWrappedCryptoKey = _reflection.GeneratedProtocolMessageType('KmsWrappedCryptoKey', (_message.Message,), dict(
    DESCRIPTOR = _KMSWRAPPEDCRYPTOKEY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Include to use an existing data crypto key wrapped by KMS. Authorization
    requires the following IAM permissions when sending a request to perform
    a crypto transformation using a kms-wrapped crypto key: dlp.kms.encrypt
  
  
    Attributes:
        wrapped_key:
            The wrapped data crypto key. [required]
        crypto_key_name:
            The resource name of the KMS CryptoKey to use for unwrapping.
            [required]
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.KmsWrappedCryptoKey)
    ))
  _sym_db.RegisterMessage(KmsWrappedCryptoKey)
  
  InfoTypeTransformations = _reflection.GeneratedProtocolMessageType('InfoTypeTransformations', (_message.Message,), dict(
  
    InfoTypeTransformation = _reflection.GeneratedProtocolMessageType('InfoTypeTransformation', (_message.Message,), dict(
      DESCRIPTOR = _INFOTYPETRANSFORMATIONS_INFOTYPETRANSFORMATION,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """A transformation to apply to text that is identified as a specific
      info\_type.
  
  
      Attributes:
          info_types:
              Info types to apply the transformation to. Empty list will
              match all available info types for this transformation.
          primitive_transformation:
              Primitive transformation to apply to the info type. [required]
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InfoTypeTransformations.InfoTypeTransformation)
      ))
    ,
    DESCRIPTOR = _INFOTYPETRANSFORMATIONS,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """A type of transformation that will scan unstructured text and apply
    various ``PrimitiveTransformation``\ s to each finding, where the
    transformation is applied to only values that were identified as a
    specific info\_type.
  
  
    Attributes:
        transformations:
            Transformation for each info type. Cannot specify more than
            one for a given info type. [required]
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.InfoTypeTransformations)
    ))
  _sym_db.RegisterMessage(InfoTypeTransformations)
  _sym_db.RegisterMessage(InfoTypeTransformations.InfoTypeTransformation)
  
  FieldTransformation = _reflection.GeneratedProtocolMessageType('FieldTransformation', (_message.Message,), dict(
    DESCRIPTOR = _FIELDTRANSFORMATION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """The transformation to apply to the field.
  
  
    Attributes:
        fields:
            Input field(s) to apply the transformation to. [required]
        condition:
            Only apply the transformation if the condition evaluates to
            true for the given ``RecordCondition``. The conditions are
            allowed to reference fields that are not used in the actual
            transformation. [optional]  Example Use Cases:  -  Apply a
            different bucket transformation to an age column if the zip
            code column for the same record is within a specific range. -
            Redact a field if the date of birth field is greater than 85.
        transformation:
            Transformation to apply. [required]
        primitive_transformation:
            Apply the transformation to the entire field.
        info_type_transformations:
            Treat the contents of the field as free text, and selectively
            transform content that matches an ``InfoType``.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.FieldTransformation)
    ))
  _sym_db.RegisterMessage(FieldTransformation)
  
  RecordTransformations = _reflection.GeneratedProtocolMessageType('RecordTransformations', (_message.Message,), dict(
    DESCRIPTOR = _RECORDTRANSFORMATIONS,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """A type of transformation that is applied over structured data such as a
    table.
  
  
    Attributes:
        field_transformations:
            Transform the record by applying various field
            transformations.
        record_suppressions:
            Configuration defining which records get suppressed entirely.
            Records that match any suppression rule are omitted from the
            output [optional].
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordTransformations)
    ))
  _sym_db.RegisterMessage(RecordTransformations)
  
  RecordSuppression = _reflection.GeneratedProtocolMessageType('RecordSuppression', (_message.Message,), dict(
    DESCRIPTOR = _RECORDSUPPRESSION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Configuration to suppress records whose suppression conditions evaluate
    to true.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordSuppression)
    ))
  _sym_db.RegisterMessage(RecordSuppression)
  
  RecordCondition = _reflection.GeneratedProtocolMessageType('RecordCondition', (_message.Message,), dict(
  
    Condition = _reflection.GeneratedProtocolMessageType('Condition', (_message.Message,), dict(
      DESCRIPTOR = _RECORDCONDITION_CONDITION,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordCondition.Condition)
      ))
    ,
  
    Conditions = _reflection.GeneratedProtocolMessageType('Conditions', (_message.Message,), dict(
      DESCRIPTOR = _RECORDCONDITION_CONDITIONS,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordCondition.Conditions)
      ))
    ,
  
    Expressions = _reflection.GeneratedProtocolMessageType('Expressions', (_message.Message,), dict(
      DESCRIPTOR = _RECORDCONDITION_EXPRESSIONS,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """A collection of expressions
  
  
      Attributes:
          logical_operator:
              The operator to apply to the result of conditions. Default and
              currently only supported value is ``AND``.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordCondition.Expressions)
      ))
    ,
    DESCRIPTOR = _RECORDCONDITION,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """The field type of ``value`` and ``field`` do not need to match to be
    considered equal, but not all comparisons are possible.
  
    A ``value`` of type:
  
    -  ``string`` can be compared against all other types
    -  ``boolean`` can only be compared against other booleans
    -  ``integer`` can be compared against doubles or a string if the string
       value can be parsed as an integer.
    -  ``double`` can be compared against integers or a string if the string
       can be parsed as a double.
    -  ``Timestamp`` can be compared against strings in RFC 3339 date string
       format.
    -  ``TimeOfDay`` can be compared against timestamps and strings in the
       format of 'HH:mm:ss'.
  
    If we fail to compare do to type mismatch, a warning will be given and
    the condition will evaluate to false.
  
  
    Attributes:
        field:
            Field within the record this condition is evaluated against.
            [required]
        operator:
            Operator used to compare the field or info type to the value.
            [required]
        value:
            Value to compare against. [Required, except for ``EXISTS``
            tests.]
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.RecordCondition)
    ))
  _sym_db.RegisterMessage(RecordCondition)
  _sym_db.RegisterMessage(RecordCondition.Condition)
  _sym_db.RegisterMessage(RecordCondition.Conditions)
  _sym_db.RegisterMessage(RecordCondition.Expressions)
  
  DeidentificationSummary = _reflection.GeneratedProtocolMessageType('DeidentificationSummary', (_message.Message,), dict(
    DESCRIPTOR = _DEIDENTIFICATIONSUMMARY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """High level summary of deidentification.
  
  
    Attributes:
        transformed_bytes:
            Total size in bytes that were transformed in some way.
        transformation_summaries:
            Transformations applied to the dataset.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.DeidentificationSummary)
    ))
  _sym_db.RegisterMessage(DeidentificationSummary)
  
  TransformationSummary = _reflection.GeneratedProtocolMessageType('TransformationSummary', (_message.Message,), dict(
  
    SummaryResult = _reflection.GeneratedProtocolMessageType('SummaryResult', (_message.Message,), dict(
      DESCRIPTOR = _TRANSFORMATIONSUMMARY_SUMMARYRESULT,
      __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
      ,
      __doc__ = """A collection that informs the user the number of times a particular
      ``TransformationResultCode`` and error details occurred.
  
  
      Attributes:
          details:
              A place for warnings or errors to show up if a transformation
              didn't work as expected.
      """,
      # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.TransformationSummary.SummaryResult)
      ))
    ,
    DESCRIPTOR = _TRANSFORMATIONSUMMARY,
    __module__ = 'google.cloud.privacy.dlp_v2beta1.proto.dlp_pb2'
    ,
    __doc__ = """Summary of a single tranformation.
  
  
    Attributes:
        info_type:
            Set if the transformation was limited to a specific
            info\_type.
        field:
            Set if the transformation was limited to a specific FieldId.
        transformation:
            The specific transformation these stats apply to.
        field_transformations:
            The field transformation that was applied. This list will
            contain multiple only in the case of errors.
        record_suppress:
            The specific suppression option these stats apply to.
    """,
    # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2beta1.TransformationSummary)
    ))
  _sym_db.RegisterMessage(TransformationSummary)
  _sym_db.RegisterMessage(TransformationSummary.SummaryResult)
  
  
  DESCRIPTOR.has_options = True
  DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\036com.google.privacy.dlp.v2beta1B\010DlpProtoP\001Z=google.golang.org/genproto/googleapis/privacy/dlp/v2beta1;dlp\252\002\030Google.Cloud.Dlp.V2Beta1\312\002\030Google\\Cloud\\Dlp\\V2beta1'))
  try:
    # THESE ELEMENTS WILL BE DEPRECATED.
    # Please use the generated *_pb2_grpc.py files instead.
    import grpc
    from grpc.beta import implementations as beta_implementations
    from grpc.beta import interfaces as beta_interfaces
    from grpc.framework.common import cardinality
    from grpc.framework.interfaces.face import utilities as face_utilities
  
  
    class DlpServiceStub(object):
      """The DLP API is a service that allows clients
      to detect the presence of Personally Identifiable Information (PII) and other
      privacy-sensitive data in user-supplied, unstructured data streams, like text
      blocks or images.
      The service also includes methods for sensitive data redaction and
      scheduling of data scans on Google Cloud Platform based data sets.
      """
  
      def __init__(self, channel):
        """Constructor.
  
        Args:
          channel: A grpc.Channel.
        """
        self.InspectContent = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/InspectContent',
            request_serializer=InspectContentRequest.SerializeToString,
            response_deserializer=InspectContentResponse.FromString,
            )
        self.RedactContent = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/RedactContent',
            request_serializer=RedactContentRequest.SerializeToString,
            response_deserializer=RedactContentResponse.FromString,
            )
        self.DeidentifyContent = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/DeidentifyContent',
            request_serializer=DeidentifyContentRequest.SerializeToString,
            response_deserializer=DeidentifyContentResponse.FromString,
            )
        self.CreateInspectOperation = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/CreateInspectOperation',
            request_serializer=CreateInspectOperationRequest.SerializeToString,
            response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
            )
        self.AnalyzeDataSourceRisk = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/AnalyzeDataSourceRisk',
            request_serializer=AnalyzeDataSourceRiskRequest.SerializeToString,
            response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
            )
        self.ListInspectFindings = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/ListInspectFindings',
            request_serializer=ListInspectFindingsRequest.SerializeToString,
            response_deserializer=ListInspectFindingsResponse.FromString,
            )
        self.ListInfoTypes = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/ListInfoTypes',
            request_serializer=ListInfoTypesRequest.SerializeToString,
            response_deserializer=ListInfoTypesResponse.FromString,
            )
        self.ListRootCategories = channel.unary_unary(
            '/google.privacy.dlp.v2beta1.DlpService/ListRootCategories',
            request_serializer=ListRootCategoriesRequest.SerializeToString,
            response_deserializer=ListRootCategoriesResponse.FromString,
            )
  
  
    class DlpServiceServicer(object):
      """The DLP API is a service that allows clients
      to detect the presence of Personally Identifiable Information (PII) and other
      privacy-sensitive data in user-supplied, unstructured data streams, like text
      blocks or images.
      The service also includes methods for sensitive data redaction and
      scheduling of data scans on Google Cloud Platform based data sets.
      """
  
      def InspectContent(self, request, context):
        """Finds potentially sensitive info in a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def RedactContent(self, request, context):
        """Redacts potentially sensitive info from a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def DeidentifyContent(self, request, context):
        """De-identifies potentially sensitive info from a list of strings.
        This method has limits on input size and output size.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def CreateInspectOperation(self, request, context):
        """Schedules a job scanning content in a Google Cloud Platform data
        repository.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def AnalyzeDataSourceRisk(self, request, context):
        """Schedules a job to compute risk analysis metrics over content in a Google
        Cloud Platform repository.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def ListInspectFindings(self, request, context):
        """Returns list of results for given inspect operation result set id.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def ListInfoTypes(self, request, context):
        """Returns sensitive information types for given category.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
      def ListRootCategories(self, request, context):
        """Returns the list of root categories of sensitive information.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')
  
  
    def add_DlpServiceServicer_to_server(servicer, server):
      rpc_method_handlers = {
          'InspectContent': grpc.unary_unary_rpc_method_handler(
              servicer.InspectContent,
              request_deserializer=InspectContentRequest.FromString,
              response_serializer=InspectContentResponse.SerializeToString,
          ),
          'RedactContent': grpc.unary_unary_rpc_method_handler(
              servicer.RedactContent,
              request_deserializer=RedactContentRequest.FromString,
              response_serializer=RedactContentResponse.SerializeToString,
          ),
          'DeidentifyContent': grpc.unary_unary_rpc_method_handler(
              servicer.DeidentifyContent,
              request_deserializer=DeidentifyContentRequest.FromString,
              response_serializer=DeidentifyContentResponse.SerializeToString,
          ),
          'CreateInspectOperation': grpc.unary_unary_rpc_method_handler(
              servicer.CreateInspectOperation,
              request_deserializer=CreateInspectOperationRequest.FromString,
              response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
          ),
          'AnalyzeDataSourceRisk': grpc.unary_unary_rpc_method_handler(
              servicer.AnalyzeDataSourceRisk,
              request_deserializer=AnalyzeDataSourceRiskRequest.FromString,
              response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
          ),
          'ListInspectFindings': grpc.unary_unary_rpc_method_handler(
              servicer.ListInspectFindings,
              request_deserializer=ListInspectFindingsRequest.FromString,
              response_serializer=ListInspectFindingsResponse.SerializeToString,
          ),
          'ListInfoTypes': grpc.unary_unary_rpc_method_handler(
              servicer.ListInfoTypes,
              request_deserializer=ListInfoTypesRequest.FromString,
              response_serializer=ListInfoTypesResponse.SerializeToString,
          ),
          'ListRootCategories': grpc.unary_unary_rpc_method_handler(
              servicer.ListRootCategories,
              request_deserializer=ListRootCategoriesRequest.FromString,
              response_serializer=ListRootCategoriesResponse.SerializeToString,
          ),
      }
      generic_handler = grpc.method_handlers_generic_handler(
          'google.privacy.dlp.v2beta1.DlpService', rpc_method_handlers)
      server.add_generic_rpc_handlers((generic_handler,))
  
  
    class BetaDlpServiceServicer(object):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This class was generated
      only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
      """The DLP API is a service that allows clients
      to detect the presence of Personally Identifiable Information (PII) and other
      privacy-sensitive data in user-supplied, unstructured data streams, like text
      blocks or images.
      The service also includes methods for sensitive data redaction and
      scheduling of data scans on Google Cloud Platform based data sets.
      """
      def InspectContent(self, request, context):
        """Finds potentially sensitive info in a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def RedactContent(self, request, context):
        """Redacts potentially sensitive info from a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def DeidentifyContent(self, request, context):
        """De-identifies potentially sensitive info from a list of strings.
        This method has limits on input size and output size.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def CreateInspectOperation(self, request, context):
        """Schedules a job scanning content in a Google Cloud Platform data
        repository.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def AnalyzeDataSourceRisk(self, request, context):
        """Schedules a job to compute risk analysis metrics over content in a Google
        Cloud Platform repository.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def ListInspectFindings(self, request, context):
        """Returns list of results for given inspect operation result set id.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def ListInfoTypes(self, request, context):
        """Returns sensitive information types for given category.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
      def ListRootCategories(self, request, context):
        """Returns the list of root categories of sensitive information.
        """
        context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  
  
    class BetaDlpServiceStub(object):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This class was generated
      only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
      """The DLP API is a service that allows clients
      to detect the presence of Personally Identifiable Information (PII) and other
      privacy-sensitive data in user-supplied, unstructured data streams, like text
      blocks or images.
      The service also includes methods for sensitive data redaction and
      scheduling of data scans on Google Cloud Platform based data sets.
      """
      def InspectContent(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Finds potentially sensitive info in a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        raise NotImplementedError()
      InspectContent.future = None
      def RedactContent(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Redacts potentially sensitive info from a list of strings.
        This method has limits on input size, processing time, and output size.
        """
        raise NotImplementedError()
      RedactContent.future = None
      def DeidentifyContent(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """De-identifies potentially sensitive info from a list of strings.
        This method has limits on input size and output size.
        """
        raise NotImplementedError()
      DeidentifyContent.future = None
      def CreateInspectOperation(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Schedules a job scanning content in a Google Cloud Platform data
        repository.
        """
        raise NotImplementedError()
      CreateInspectOperation.future = None
      def AnalyzeDataSourceRisk(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Schedules a job to compute risk analysis metrics over content in a Google
        Cloud Platform repository.
        """
        raise NotImplementedError()
      AnalyzeDataSourceRisk.future = None
      def ListInspectFindings(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Returns list of results for given inspect operation result set id.
        """
        raise NotImplementedError()
      ListInspectFindings.future = None
      def ListInfoTypes(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Returns sensitive information types for given category.
        """
        raise NotImplementedError()
      ListInfoTypes.future = None
      def ListRootCategories(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
        """Returns the list of root categories of sensitive information.
        """
        raise NotImplementedError()
      ListRootCategories.future = None
  
  
    def beta_create_DlpService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This function was
      generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
      request_deserializers = {
        ('google.privacy.dlp.v2beta1.DlpService', 'AnalyzeDataSourceRisk'): AnalyzeDataSourceRiskRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'CreateInspectOperation'): CreateInspectOperationRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'DeidentifyContent'): DeidentifyContentRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'InspectContent'): InspectContentRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInfoTypes'): ListInfoTypesRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInspectFindings'): ListInspectFindingsRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListRootCategories'): ListRootCategoriesRequest.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'RedactContent'): RedactContentRequest.FromString,
      }
      response_serializers = {
        ('google.privacy.dlp.v2beta1.DlpService', 'AnalyzeDataSourceRisk'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'CreateInspectOperation'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'DeidentifyContent'): DeidentifyContentResponse.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'InspectContent'): InspectContentResponse.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInfoTypes'): ListInfoTypesResponse.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInspectFindings'): ListInspectFindingsResponse.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListRootCategories'): ListRootCategoriesResponse.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'RedactContent'): RedactContentResponse.SerializeToString,
      }
      method_implementations = {
        ('google.privacy.dlp.v2beta1.DlpService', 'AnalyzeDataSourceRisk'): face_utilities.unary_unary_inline(servicer.AnalyzeDataSourceRisk),
        ('google.privacy.dlp.v2beta1.DlpService', 'CreateInspectOperation'): face_utilities.unary_unary_inline(servicer.CreateInspectOperation),
        ('google.privacy.dlp.v2beta1.DlpService', 'DeidentifyContent'): face_utilities.unary_unary_inline(servicer.DeidentifyContent),
        ('google.privacy.dlp.v2beta1.DlpService', 'InspectContent'): face_utilities.unary_unary_inline(servicer.InspectContent),
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInfoTypes'): face_utilities.unary_unary_inline(servicer.ListInfoTypes),
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInspectFindings'): face_utilities.unary_unary_inline(servicer.ListInspectFindings),
        ('google.privacy.dlp.v2beta1.DlpService', 'ListRootCategories'): face_utilities.unary_unary_inline(servicer.ListRootCategories),
        ('google.privacy.dlp.v2beta1.DlpService', 'RedactContent'): face_utilities.unary_unary_inline(servicer.RedactContent),
      }
      server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
      return beta_implementations.server(method_implementations, options=server_options)
  
  
    def beta_create_DlpService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
      """The Beta API is deprecated for 0.15.0 and later.
  
      It is recommended to use the GA API (classes and functions in this
      file not marked beta) for all further purposes. This function was
      generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
      request_serializers = {
        ('google.privacy.dlp.v2beta1.DlpService', 'AnalyzeDataSourceRisk'): AnalyzeDataSourceRiskRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'CreateInspectOperation'): CreateInspectOperationRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'DeidentifyContent'): DeidentifyContentRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'InspectContent'): InspectContentRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInfoTypes'): ListInfoTypesRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInspectFindings'): ListInspectFindingsRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListRootCategories'): ListRootCategoriesRequest.SerializeToString,
        ('google.privacy.dlp.v2beta1.DlpService', 'RedactContent'): RedactContentRequest.SerializeToString,
      }
      response_deserializers = {
        ('google.privacy.dlp.v2beta1.DlpService', 'AnalyzeDataSourceRisk'): google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'CreateInspectOperation'): google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'DeidentifyContent'): DeidentifyContentResponse.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'InspectContent'): InspectContentResponse.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInfoTypes'): ListInfoTypesResponse.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListInspectFindings'): ListInspectFindingsResponse.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'ListRootCategories'): ListRootCategoriesResponse.FromString,
        ('google.privacy.dlp.v2beta1.DlpService', 'RedactContent'): RedactContentResponse.FromString,
      }
      cardinalities = {
        'AnalyzeDataSourceRisk': cardinality.Cardinality.UNARY_UNARY,
        'CreateInspectOperation': cardinality.Cardinality.UNARY_UNARY,
        'DeidentifyContent': cardinality.Cardinality.UNARY_UNARY,
        'InspectContent': cardinality.Cardinality.UNARY_UNARY,
        'ListInfoTypes': cardinality.Cardinality.UNARY_UNARY,
        'ListInspectFindings': cardinality.Cardinality.UNARY_UNARY,
        'ListRootCategories': cardinality.Cardinality.UNARY_UNARY,
        'RedactContent': cardinality.Cardinality.UNARY_UNARY,
      }
      stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
      return beta_implementations.dynamic_stub(channel, 'google.privacy.dlp.v2beta1.DlpService', cardinalities, options=stub_options)
  except ImportError:
    pass
  # @@protoc_insertion_point(module_scope)
  