text: # -*- coding: utf-8 -*-
  # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: google/cloud/privacy/dlp_v2/proto/storage.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
  
  # @@protoc_insertion_point(imports)
  
  _sym_db = _symbol_database.Default()
  
  
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
      name="google/cloud/privacy/dlp_v2/proto/storage.proto",
      package="google.privacy.dlp.v2",
      syntax="proto3",
      serialized_options=_b(
          "\n\031com.google.privacy.dlp.v2B\nDlpStorageP\001Z8google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp\252\002\023Google.Cloud.Dlp.V2\312\002\023Google\\Cloud\\Dlp\\V2"
      ),
      serialized_pb=_b(
          '\n/google/cloud/privacy/dlp_v2/proto/storage.proto\x12\x15google.privacy.dlp.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x18\n\x08InfoType\x12\x0c\n\x04name\x18\x01 \x01(\t"K\n\nStoredType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp"\xc8\x0b\n\x0e\x43ustomInfoType\x12\x32\n\tinfo_type\x18\x01 \x01(\x0b\x32\x1f.google.privacy.dlp.v2.InfoType\x12\x35\n\nlikelihood\x18\x06 \x01(\x0e\x32!.google.privacy.dlp.v2.Likelihood\x12\x46\n\ndictionary\x18\x02 \x01(\x0b\x32\x30.google.privacy.dlp.v2.CustomInfoType.DictionaryH\x00\x12<\n\x05regex\x18\x03 \x01(\x0b\x32+.google.privacy.dlp.v2.CustomInfoType.RegexH\x00\x12M\n\x0esurrogate_type\x18\x04 \x01(\x0b\x32\x33.google.privacy.dlp.v2.CustomInfoType.SurrogateTypeH\x00\x12\x38\n\x0bstored_type\x18\x05 \x01(\x0b\x32!.google.privacy.dlp.v2.StoredTypeH\x00\x12L\n\x0f\x64\x65tection_rules\x18\x07 \x03(\x0b\x32\x33.google.privacy.dlp.v2.CustomInfoType.DetectionRule\x12K\n\x0e\x65xclusion_type\x18\x08 \x01(\x0e\x32\x33.google.privacy.dlp.v2.CustomInfoType.ExclusionType\x1a\xc8\x01\n\nDictionary\x12N\n\tword_list\x18\x01 \x01(\x0b\x32\x39.google.privacy.dlp.v2.CustomInfoType.Dictionary.WordListH\x00\x12\x45\n\x12\x63loud_storage_path\x18\x03 \x01(\x0b\x32\'.google.privacy.dlp.v2.CloudStoragePathH\x00\x1a\x19\n\x08WordList\x12\r\n\x05words\x18\x01 \x03(\tB\x08\n\x06source\x1a/\n\x05Regex\x12\x0f\n\x07pattern\x18\x01 \x01(\t\x12\x15\n\rgroup_indexes\x18\x02 \x03(\x05\x1a\x0f\n\rSurrogateType\x1a\xbe\x04\n\rDetectionRule\x12W\n\x0chotword_rule\x18\x01 \x01(\x0b\x32?.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRuleH\x00\x1a\x38\n\tProximity\x12\x15\n\rwindow_before\x18\x01 \x01(\x05\x12\x14\n\x0cwindow_after\x18\x02 \x01(\x05\x1a\x82\x01\n\x14LikelihoodAdjustment\x12=\n\x10\x66ixed_likelihood\x18\x01 \x01(\x0e\x32!.google.privacy.dlp.v2.LikelihoodH\x00\x12\x1d\n\x13relative_likelihood\x18\x02 \x01(\x05H\x00\x42\x0c\n\nadjustment\x1a\x8c\x02\n\x0bHotwordRule\x12\x42\n\rhotword_regex\x18\x01 \x01(\x0b\x32+.google.privacy.dlp.v2.CustomInfoType.Regex\x12P\n\tproximity\x18\x02 \x01(\x0b\x32=.google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity\x12g\n\x15likelihood_adjustment\x18\x03 \x01(\x0b\x32H.google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustmentB\x06\n\x04type"K\n\rExclusionType\x12\x1e\n\x1a\x45XCLUSION_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x45XCLUSION_TYPE_EXCLUDE\x10\x01\x42\x06\n\x04type"\x17\n\x07\x46ieldId\x12\x0c\n\x04name\x18\x01 \x01(\t"7\n\x0bPartitionId\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x14\n\x0cnamespace_id\x18\x04 \x01(\t"\x1e\n\x0eKindExpression\x12\x0c\n\x04name\x18\x01 \x01(\t"\x81\x01\n\x10\x44\x61tastoreOptions\x12\x38\n\x0cpartition_id\x18\x01 \x01(\x0b\x32".google.privacy.dlp.v2.PartitionId\x12\x33\n\x04kind\x18\x02 \x01(\x0b\x32%.google.privacy.dlp.v2.KindExpression"]\n\x18\x43loudStorageRegexFileSet\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x15\n\rinclude_regex\x18\x02 \x03(\t\x12\x15\n\rexclude_regex\x18\x03 \x03(\t"\xec\x03\n\x13\x43loudStorageOptions\x12\x44\n\x08\x66ile_set\x18\x01 \x01(\x0b\x32\x32.google.privacy.dlp.v2.CloudStorageOptions.FileSet\x12\x1c\n\x14\x62ytes_limit_per_file\x18\x04 \x01(\x03\x12$\n\x1c\x62ytes_limit_per_file_percent\x18\x08 \x01(\x05\x12\x33\n\nfile_types\x18\x05 \x03(\x0e\x32\x1f.google.privacy.dlp.v2.FileType\x12N\n\rsample_method\x18\x06 \x01(\x0e\x32\x37.google.privacy.dlp.v2.CloudStorageOptions.SampleMethod\x12\x1b\n\x13\x66iles_limit_percent\x18\x07 \x01(\x05\x1a_\n\x07\x46ileSet\x12\x0b\n\x03url\x18\x01 \x01(\t\x12G\n\x0eregex_file_set\x18\x02 \x01(\x0b\x32/.google.privacy.dlp.v2.CloudStorageRegexFileSet"H\n\x0cSampleMethod\x12\x1d\n\x19SAMPLE_METHOD_UNSPECIFIED\x10\x00\x12\x07\n\x03TOP\x10\x01\x12\x10\n\x0cRANDOM_START\x10\x02""\n\x13\x43loudStorageFileSet\x12\x0b\n\x03url\x18\x01 \x01(\t" \n\x10\x43loudStoragePath\x12\x0c\n\x04path\x18\x01 \x01(\t"\x8b\x03\n\x0f\x42igQueryOptions\x12=\n\x0ftable_reference\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2.BigQueryTable\x12:\n\x12identifying_fields\x18\x02 \x03(\x0b\x32\x1e.google.privacy.dlp.v2.FieldId\x12\x12\n\nrows_limit\x18\x03 \x01(\x03\x12\x1a\n\x12rows_limit_percent\x18\x06 \x01(\x05\x12J\n\rsample_method\x18\x04 \x01(\x0e\x32\x33.google.privacy.dlp.v2.BigQueryOptions.SampleMethod\x12\x37\n\x0f\x65xcluded_fields\x18\x05 \x03(\x0b\x32\x1e.google.privacy.dlp.v2.FieldId"H\n\x0cSampleMethod\x12\x1d\n\x19SAMPLE_METHOD_UNSPECIFIED\x10\x00\x12\x07\n\x03TOP\x10\x01\x12\x10\n\x0cRANDOM_START\x10\x02"\x9a\x04\n\rStorageConfig\x12\x44\n\x11\x64\x61tastore_options\x18\x02 \x01(\x0b\x32\'.google.privacy.dlp.v2.DatastoreOptionsH\x00\x12K\n\x15\x63loud_storage_options\x18\x03 \x01(\x0b\x32*.google.privacy.dlp.v2.CloudStorageOptionsH\x00\x12\x43\n\x11\x62ig_query_options\x18\x04 \x01(\x0b\x32&.google.privacy.dlp.v2.BigQueryOptionsH\x00\x12L\n\x0ftimespan_config\x18\x06 \x01(\x0b\x32\x33.google.privacy.dlp.v2.StorageConfig.TimespanConfig\x1a\xda\x01\n\x0eTimespanConfig\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x0ftimestamp_field\x18\x03 \x01(\x0b\x32\x1e.google.privacy.dlp.v2.FieldId\x12\x31\n)enable_auto_population_of_timespan_config\x18\x04 \x01(\x08\x42\x06\n\x04type"`\n\x0b\x42igQueryKey\x12=\n\x0ftable_reference\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2.BigQueryTable\x12\x12\n\nrow_number\x18\x02 \x01(\x03">\n\x0c\x44\x61tastoreKey\x12.\n\nentity_key\x18\x01 \x01(\x0b\x32\x1a.google.privacy.dlp.v2.Key"\xbb\x01\n\x03Key\x12\x38\n\x0cpartition_id\x18\x01 \x01(\x0b\x32".google.privacy.dlp.v2.PartitionId\x12\x34\n\x04path\x18\x02 \x03(\x0b\x32&.google.privacy.dlp.v2.Key.PathElement\x1a\x44\n\x0bPathElement\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x02id\x18\x02 \x01(\x03H\x00\x12\x0e\n\x04name\x18\x03 \x01(\tH\x00\x42\t\n\x07id_type"\xa1\x01\n\tRecordKey\x12<\n\rdatastore_key\x18\x02 \x01(\x0b\x32#.google.privacy.dlp.v2.DatastoreKeyH\x00\x12;\n\rbig_query_key\x18\x03 \x01(\x0b\x32".google.privacy.dlp.v2.BigQueryKeyH\x00\x12\x11\n\tid_values\x18\x05 \x03(\tB\x06\n\x04type"I\n\rBigQueryTable\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x12\n\ndataset_id\x18\x02 \x01(\t\x12\x10\n\x08table_id\x18\x03 \x01(\t"s\n\rBigQueryField\x12\x33\n\x05table\x18\x01 \x01(\x0b\x32$.google.privacy.dlp.v2.BigQueryTable\x12-\n\x05\x66ield\x18\x02 \x01(\x0b\x32\x1e.google.privacy.dlp.v2.FieldId"9\n\x08\x45ntityId\x12-\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x1e.google.privacy.dlp.v2.FieldId*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*Z\n\x08\x46ileType\x12\x19\n\x15\x46ILE_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x42INARY_FILE\x10\x01\x12\r\n\tTEXT_FILE\x10\x02\x12\t\n\x05IMAGE\x10\x03\x12\x08\n\x04\x41VRO\x10\x07\x42\x8f\x01\n\x19\x63om.google.privacy.dlp.v2B\nDlpStorageP\x01Z8google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp\xaa\x02\x13Google.Cloud.Dlp.V2\xca\x02\x13Google\\Cloud\\Dlp\\V2b\x06proto3'
      ),
      dependencies=[
          google_dot_api_dot_annotations__pb2.DESCRIPTOR,
          google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,
      ],
  )
  
  _LIKELIHOOD = _descriptor.EnumDescriptor(
      name="Likelihood",
      full_name="google.privacy.dlp.v2.Likelihood",
      filename=None,
      file=DESCRIPTOR,
      values=[
          _descriptor.EnumValueDescriptor(
              name="LIKELIHOOD_UNSPECIFIED",
              index=0,
              number=0,
              serialized_options=None,
              type=None,
          ),
          _descriptor.EnumValueDescriptor(
              name="VERY_UNLIKELY", index=1, number=1, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="UNLIKELY", index=2, number=2, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="POSSIBLE", index=3, number=3, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="LIKELY", index=4, number=4, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="VERY_LIKELY", index=5, number=5, serialized_options=None, type=None
          ),
      ],
      containing_type=None,
      serialized_options=None,
      serialized_start=4335,
      serialized_end=4451,
  )
  _sym_db.RegisterEnumDescriptor(_LIKELIHOOD)
  
  Likelihood = enum_type_wrapper.EnumTypeWrapper(_LIKELIHOOD)
  _FILETYPE = _descriptor.EnumDescriptor(
      name="FileType",
      full_name="google.privacy.dlp.v2.FileType",
      filename=None,
      file=DESCRIPTOR,
      values=[
          _descriptor.EnumValueDescriptor(
              name="FILE_TYPE_UNSPECIFIED",
              index=0,
              number=0,
              serialized_options=None,
              type=None,
          ),
          _descriptor.EnumValueDescriptor(
              name="BINARY_FILE", index=1, number=1, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="TEXT_FILE", index=2, number=2, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="IMAGE", index=3, number=3, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="AVRO", index=4, number=7, serialized_options=None, type=None
          ),
      ],
      containing_type=None,
      serialized_options=None,
      serialized_start=4453,
      serialized_end=4543,
  )
  _sym_db.RegisterEnumDescriptor(_FILETYPE)
  
  FileType = enum_type_wrapper.EnumTypeWrapper(_FILETYPE)
  LIKELIHOOD_UNSPECIFIED = 0
  VERY_UNLIKELY = 1
  UNLIKELY = 2
  POSSIBLE = 3
  LIKELY = 4
  VERY_LIKELY = 5
  FILE_TYPE_UNSPECIFIED = 0
  BINARY_FILE = 1
  TEXT_FILE = 2
  IMAGE = 3
  AVRO = 7
  
  
  _CUSTOMINFOTYPE_EXCLUSIONTYPE = _descriptor.EnumDescriptor(
      name="ExclusionType",
      full_name="google.privacy.dlp.v2.CustomInfoType.ExclusionType",
      filename=None,
      file=DESCRIPTOR,
      values=[
          _descriptor.EnumValueDescriptor(
              name="EXCLUSION_TYPE_UNSPECIFIED",
              index=0,
              number=0,
              serialized_options=None,
              type=None,
          ),
          _descriptor.EnumValueDescriptor(
              name="EXCLUSION_TYPE_EXCLUDE",
              index=1,
              number=1,
              serialized_options=None,
              type=None,
          ),
      ],
      containing_type=None,
      serialized_options=None,
      serialized_start=1638,
      serialized_end=1713,
  )
  _sym_db.RegisterEnumDescriptor(_CUSTOMINFOTYPE_EXCLUSIONTYPE)
  
  _CLOUDSTORAGEOPTIONS_SAMPLEMETHOD = _descriptor.EnumDescriptor(
      name="SampleMethod",
      full_name="google.privacy.dlp.v2.CloudStorageOptions.SampleMethod",
      filename=None,
      file=DESCRIPTOR,
      values=[
          _descriptor.EnumValueDescriptor(
              name="SAMPLE_METHOD_UNSPECIFIED",
              index=0,
              number=0,
              serialized_options=None,
              type=None,
          ),
          _descriptor.EnumValueDescriptor(
              name="TOP", index=1, number=1, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="RANDOM_START", index=2, number=2, serialized_options=None, type=None
          ),
      ],
      containing_type=None,
      serialized_options=None,
      serialized_start=2485,
      serialized_end=2557,
  )
  _sym_db.RegisterEnumDescriptor(_CLOUDSTORAGEOPTIONS_SAMPLEMETHOD)
  
  _BIGQUERYOPTIONS_SAMPLEMETHOD = _descriptor.EnumDescriptor(
      name="SampleMethod",
      full_name="google.privacy.dlp.v2.BigQueryOptions.SampleMethod",
      filename=None,
      file=DESCRIPTOR,
      values=[
          _descriptor.EnumValueDescriptor(
              name="SAMPLE_METHOD_UNSPECIFIED",
              index=0,
              number=0,
              serialized_options=None,
              type=None,
          ),
          _descriptor.EnumValueDescriptor(
              name="TOP", index=1, number=1, serialized_options=None, type=None
          ),
          _descriptor.EnumValueDescriptor(
              name="RANDOM_START", index=2, number=2, serialized_options=None, type=None
          ),
      ],
      containing_type=None,
      serialized_options=None,
      serialized_start=2485,
      serialized_end=2557,
  )
  _sym_db.RegisterEnumDescriptor(_BIGQUERYOPTIONS_SAMPLEMETHOD)
  
  
  _INFOTYPE = _descriptor.Descriptor(
      name="InfoType",
      full_name="google.privacy.dlp.v2.InfoType",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="name",
              full_name="google.privacy.dlp.v2.InfoType.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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=137,
      serialized_end=161,
  )
  
  
  _STOREDTYPE = _descriptor.Descriptor(
      name="StoredType",
      full_name="google.privacy.dlp.v2.StoredType",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="name",
              full_name="google.privacy.dlp.v2.StoredType.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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="create_time",
              full_name="google.privacy.dlp.v2.StoredType.create_time",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=163,
      serialized_end=238,
  )
  
  
  _CUSTOMINFOTYPE_DICTIONARY_WORDLIST = _descriptor.Descriptor(
      name="WordList",
      full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="words",
              full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList.words",
              index=0,
              number=1,
              type=9,
              cpp_type=9,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=958,
      serialized_end=983,
  )
  
  _CUSTOMINFOTYPE_DICTIONARY = _descriptor.Descriptor(
      name="Dictionary",
      full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="word_list",
              full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary.word_list",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="cloud_storage_path",
              full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary.cloud_storage_path",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[_CUSTOMINFOTYPE_DICTIONARY_WORDLIST],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="source",
              full_name="google.privacy.dlp.v2.CustomInfoType.Dictionary.source",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=793,
      serialized_end=993,
  )
  
  _CUSTOMINFOTYPE_REGEX = _descriptor.Descriptor(
      name="Regex",
      full_name="google.privacy.dlp.v2.CustomInfoType.Regex",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="pattern",
              full_name="google.privacy.dlp.v2.CustomInfoType.Regex.pattern",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="group_indexes",
              full_name="google.privacy.dlp.v2.CustomInfoType.Regex.group_indexes",
              index=1,
              number=2,
              type=5,
              cpp_type=1,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=995,
      serialized_end=1042,
  )
  
  _CUSTOMINFOTYPE_SURROGATETYPE = _descriptor.Descriptor(
      name="SurrogateType",
      full_name="google.privacy.dlp.v2.CustomInfoType.SurrogateType",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1044,
      serialized_end=1059,
  )
  
  _CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY = _descriptor.Descriptor(
      name="Proximity",
      full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="window_before",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity.window_before",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="window_after",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity.window_after",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1168,
      serialized_end=1224,
  )
  
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT = _descriptor.Descriptor(
      name="LikelihoodAdjustment",
      full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="fixed_likelihood",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment.fixed_likelihood",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="relative_likelihood",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment.relative_likelihood",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="adjustment",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment.adjustment",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=1227,
      serialized_end=1357,
  )
  
  _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE = _descriptor.Descriptor(
      name="HotwordRule",
      full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="hotword_regex",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.hotword_regex",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="proximity",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.proximity",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="likelihood_adjustment",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.likelihood_adjustment",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1360,
      serialized_end=1628,
  )
  
  _CUSTOMINFOTYPE_DETECTIONRULE = _descriptor.Descriptor(
      name="DetectionRule",
      full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="hotword_rule",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.hotword_rule",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[
          _CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY,
          _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT,
          _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE,
      ],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="type",
              full_name="google.privacy.dlp.v2.CustomInfoType.DetectionRule.type",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=1062,
      serialized_end=1636,
  )
  
  _CUSTOMINFOTYPE = _descriptor.Descriptor(
      name="CustomInfoType",
      full_name="google.privacy.dlp.v2.CustomInfoType",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="info_type",
              full_name="google.privacy.dlp.v2.CustomInfoType.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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="likelihood",
              full_name="google.privacy.dlp.v2.CustomInfoType.likelihood",
              index=1,
              number=6,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="dictionary",
              full_name="google.privacy.dlp.v2.CustomInfoType.dictionary",
              index=2,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="regex",
              full_name="google.privacy.dlp.v2.CustomInfoType.regex",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="surrogate_type",
              full_name="google.privacy.dlp.v2.CustomInfoType.surrogate_type",
              index=4,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="stored_type",
              full_name="google.privacy.dlp.v2.CustomInfoType.stored_type",
              index=5,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="detection_rules",
              full_name="google.privacy.dlp.v2.CustomInfoType.detection_rules",
              index=6,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="exclusion_type",
              full_name="google.privacy.dlp.v2.CustomInfoType.exclusion_type",
              index=7,
              number=8,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[
          _CUSTOMINFOTYPE_DICTIONARY,
          _CUSTOMINFOTYPE_REGEX,
          _CUSTOMINFOTYPE_SURROGATETYPE,
          _CUSTOMINFOTYPE_DETECTIONRULE,
      ],
      enum_types=[_CUSTOMINFOTYPE_EXCLUSIONTYPE],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="type",
              full_name="google.privacy.dlp.v2.CustomInfoType.type",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=241,
      serialized_end=1721,
  )
  
  
  _FIELDID = _descriptor.Descriptor(
      name="FieldId",
      full_name="google.privacy.dlp.v2.FieldId",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="name",
              full_name="google.privacy.dlp.v2.FieldId.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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1723,
      serialized_end=1746,
  )
  
  
  _PARTITIONID = _descriptor.Descriptor(
      name="PartitionId",
      full_name="google.privacy.dlp.v2.PartitionId",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="project_id",
              full_name="google.privacy.dlp.v2.PartitionId.project_id",
              index=0,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="namespace_id",
              full_name="google.privacy.dlp.v2.PartitionId.namespace_id",
              index=1,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1748,
      serialized_end=1803,
  )
  
  
  _KINDEXPRESSION = _descriptor.Descriptor(
      name="KindExpression",
      full_name="google.privacy.dlp.v2.KindExpression",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="name",
              full_name="google.privacy.dlp.v2.KindExpression.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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1805,
      serialized_end=1835,
  )
  
  
  _DATASTOREOPTIONS = _descriptor.Descriptor(
      name="DatastoreOptions",
      full_name="google.privacy.dlp.v2.DatastoreOptions",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="partition_id",
              full_name="google.privacy.dlp.v2.DatastoreOptions.partition_id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="kind",
              full_name="google.privacy.dlp.v2.DatastoreOptions.kind",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1838,
      serialized_end=1967,
  )
  
  
  _CLOUDSTORAGEREGEXFILESET = _descriptor.Descriptor(
      name="CloudStorageRegexFileSet",
      full_name="google.privacy.dlp.v2.CloudStorageRegexFileSet",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="bucket_name",
              full_name="google.privacy.dlp.v2.CloudStorageRegexFileSet.bucket_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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="include_regex",
              full_name="google.privacy.dlp.v2.CloudStorageRegexFileSet.include_regex",
              index=1,
              number=2,
              type=9,
              cpp_type=9,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="exclude_regex",
              full_name="google.privacy.dlp.v2.CloudStorageRegexFileSet.exclude_regex",
              index=2,
              number=3,
              type=9,
              cpp_type=9,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=1969,
      serialized_end=2062,
  )
  
  
  _CLOUDSTORAGEOPTIONS_FILESET = _descriptor.Descriptor(
      name="FileSet",
      full_name="google.privacy.dlp.v2.CloudStorageOptions.FileSet",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="url",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.FileSet.url",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="regex_file_set",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.FileSet.regex_file_set",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=2388,
      serialized_end=2483,
  )
  
  _CLOUDSTORAGEOPTIONS = _descriptor.Descriptor(
      name="CloudStorageOptions",
      full_name="google.privacy.dlp.v2.CloudStorageOptions",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="file_set",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.file_set",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="bytes_limit_per_file",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.bytes_limit_per_file",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="bytes_limit_per_file_percent",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.bytes_limit_per_file_percent",
              index=2,
              number=8,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="file_types",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.file_types",
              index=3,
              number=5,
              type=14,
              cpp_type=8,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="sample_method",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.sample_method",
              index=4,
              number=6,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="files_limit_percent",
              full_name="google.privacy.dlp.v2.CloudStorageOptions.files_limit_percent",
              index=5,
              number=7,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[_CLOUDSTORAGEOPTIONS_FILESET],
      enum_types=[_CLOUDSTORAGEOPTIONS_SAMPLEMETHOD],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=2065,
      serialized_end=2557,
  )
  
  
  _CLOUDSTORAGEFILESET = _descriptor.Descriptor(
      name="CloudStorageFileSet",
      full_name="google.privacy.dlp.v2.CloudStorageFileSet",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="url",
              full_name="google.privacy.dlp.v2.CloudStorageFileSet.url",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=2559,
      serialized_end=2593,
  )
  
  
  _CLOUDSTORAGEPATH = _descriptor.Descriptor(
      name="CloudStoragePath",
      full_name="google.privacy.dlp.v2.CloudStoragePath",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="path",
              full_name="google.privacy.dlp.v2.CloudStoragePath.path",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=2595,
      serialized_end=2627,
  )
  
  
  _BIGQUERYOPTIONS = _descriptor.Descriptor(
      name="BigQueryOptions",
      full_name="google.privacy.dlp.v2.BigQueryOptions",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="table_reference",
              full_name="google.privacy.dlp.v2.BigQueryOptions.table_reference",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="identifying_fields",
              full_name="google.privacy.dlp.v2.BigQueryOptions.identifying_fields",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="rows_limit",
              full_name="google.privacy.dlp.v2.BigQueryOptions.rows_limit",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="rows_limit_percent",
              full_name="google.privacy.dlp.v2.BigQueryOptions.rows_limit_percent",
              index=3,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="sample_method",
              full_name="google.privacy.dlp.v2.BigQueryOptions.sample_method",
              index=4,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="excluded_fields",
              full_name="google.privacy.dlp.v2.BigQueryOptions.excluded_fields",
              index=5,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[_BIGQUERYOPTIONS_SAMPLEMETHOD],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=2630,
      serialized_end=3025,
  )
  
  
  _STORAGECONFIG_TIMESPANCONFIG = _descriptor.Descriptor(
      name="TimespanConfig",
      full_name="google.privacy.dlp.v2.StorageConfig.TimespanConfig",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="start_time",
              full_name="google.privacy.dlp.v2.StorageConfig.TimespanConfig.start_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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="end_time",
              full_name="google.privacy.dlp.v2.StorageConfig.TimespanConfig.end_time",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="timestamp_field",
              full_name="google.privacy.dlp.v2.StorageConfig.TimespanConfig.timestamp_field",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="enable_auto_population_of_timespan_config",
              full_name="google.privacy.dlp.v2.StorageConfig.TimespanConfig.enable_auto_population_of_timespan_config",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=3340,
      serialized_end=3558,
  )
  
  _STORAGECONFIG = _descriptor.Descriptor(
      name="StorageConfig",
      full_name="google.privacy.dlp.v2.StorageConfig",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="datastore_options",
              full_name="google.privacy.dlp.v2.StorageConfig.datastore_options",
              index=0,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="cloud_storage_options",
              full_name="google.privacy.dlp.v2.StorageConfig.cloud_storage_options",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="big_query_options",
              full_name="google.privacy.dlp.v2.StorageConfig.big_query_options",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="timespan_config",
              full_name="google.privacy.dlp.v2.StorageConfig.timespan_config",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[_STORAGECONFIG_TIMESPANCONFIG],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="type",
              full_name="google.privacy.dlp.v2.StorageConfig.type",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=3028,
      serialized_end=3566,
  )
  
  
  _BIGQUERYKEY = _descriptor.Descriptor(
      name="BigQueryKey",
      full_name="google.privacy.dlp.v2.BigQueryKey",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="table_reference",
              full_name="google.privacy.dlp.v2.BigQueryKey.table_reference",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="row_number",
              full_name="google.privacy.dlp.v2.BigQueryKey.row_number",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=3568,
      serialized_end=3664,
  )
  
  
  _DATASTOREKEY = _descriptor.Descriptor(
      name="DatastoreKey",
      full_name="google.privacy.dlp.v2.DatastoreKey",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="entity_key",
              full_name="google.privacy.dlp.v2.DatastoreKey.entity_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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=3666,
      serialized_end=3728,
  )
  
  
  _KEY_PATHELEMENT = _descriptor.Descriptor(
      name="PathElement",
      full_name="google.privacy.dlp.v2.Key.PathElement",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="kind",
              full_name="google.privacy.dlp.v2.Key.PathElement.kind",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="id",
              full_name="google.privacy.dlp.v2.Key.PathElement.id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="name",
              full_name="google.privacy.dlp.v2.Key.PathElement.name",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="id_type",
              full_name="google.privacy.dlp.v2.Key.PathElement.id_type",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=3850,
      serialized_end=3918,
  )
  
  _KEY = _descriptor.Descriptor(
      name="Key",
      full_name="google.privacy.dlp.v2.Key",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="partition_id",
              full_name="google.privacy.dlp.v2.Key.partition_id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="path",
              full_name="google.privacy.dlp.v2.Key.path",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[_KEY_PATHELEMENT],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=3731,
      serialized_end=3918,
  )
  
  
  _RECORDKEY = _descriptor.Descriptor(
      name="RecordKey",
      full_name="google.privacy.dlp.v2.RecordKey",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="datastore_key",
              full_name="google.privacy.dlp.v2.RecordKey.datastore_key",
              index=0,
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="big_query_key",
              full_name="google.privacy.dlp.v2.RecordKey.big_query_key",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="id_values",
              full_name="google.privacy.dlp.v2.RecordKey.id_values",
              index=2,
              number=5,
              type=9,
              cpp_type=9,
              label=3,
              has_default_value=False,
              default_value=[],
              message_type=None,
              enum_type=None,
              containing_type=None,
              is_extension=False,
              extension_scope=None,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[
          _descriptor.OneofDescriptor(
              name="type",
              full_name="google.privacy.dlp.v2.RecordKey.type",
              index=0,
              containing_type=None,
              fields=[],
          )
      ],
      serialized_start=3921,
      serialized_end=4082,
  )
  
  
  _BIGQUERYTABLE = _descriptor.Descriptor(
      name="BigQueryTable",
      full_name="google.privacy.dlp.v2.BigQueryTable",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="project_id",
              full_name="google.privacy.dlp.v2.BigQueryTable.project_id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="dataset_id",
              full_name="google.privacy.dlp.v2.BigQueryTable.dataset_id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="table_id",
              full_name="google.privacy.dlp.v2.BigQueryTable.table_id",
              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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=4084,
      serialized_end=4157,
  )
  
  
  _BIGQUERYFIELD = _descriptor.Descriptor(
      name="BigQueryField",
      full_name="google.privacy.dlp.v2.BigQueryField",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="table",
              full_name="google.privacy.dlp.v2.BigQueryField.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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
          _descriptor.FieldDescriptor(
              name="field",
              full_name="google.privacy.dlp.v2.BigQueryField.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,
              serialized_options=None,
              file=DESCRIPTOR,
          ),
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=4159,
      serialized_end=4274,
  )
  
  
  _ENTITYID = _descriptor.Descriptor(
      name="EntityId",
      full_name="google.privacy.dlp.v2.EntityId",
      filename=None,
      file=DESCRIPTOR,
      containing_type=None,
      fields=[
          _descriptor.FieldDescriptor(
              name="field",
              full_name="google.privacy.dlp.v2.EntityId.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,
              serialized_options=None,
              file=DESCRIPTOR,
          )
      ],
      extensions=[],
      nested_types=[],
      enum_types=[],
      serialized_options=None,
      is_extendable=False,
      syntax="proto3",
      extension_ranges=[],
      oneofs=[],
      serialized_start=4276,
      serialized_end=4333,
  )
  
  _STOREDTYPE.fields_by_name[
      "create_time"
  ].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _CUSTOMINFOTYPE_DICTIONARY_WORDLIST.containing_type = _CUSTOMINFOTYPE_DICTIONARY
  _CUSTOMINFOTYPE_DICTIONARY.fields_by_name[
      "word_list"
  ].message_type = _CUSTOMINFOTYPE_DICTIONARY_WORDLIST
  _CUSTOMINFOTYPE_DICTIONARY.fields_by_name[
      "cloud_storage_path"
  ].message_type = _CLOUDSTORAGEPATH
  _CUSTOMINFOTYPE_DICTIONARY.containing_type = _CUSTOMINFOTYPE
  _CUSTOMINFOTYPE_DICTIONARY.oneofs_by_name["source"].fields.append(
      _CUSTOMINFOTYPE_DICTIONARY.fields_by_name["word_list"]
  )
  _CUSTOMINFOTYPE_DICTIONARY.fields_by_name[
      "word_list"
  ].containing_oneof = _CUSTOMINFOTYPE_DICTIONARY.oneofs_by_name["source"]
  _CUSTOMINFOTYPE_DICTIONARY.oneofs_by_name["source"].fields.append(
      _CUSTOMINFOTYPE_DICTIONARY.fields_by_name["cloud_storage_path"]
  )
  _CUSTOMINFOTYPE_DICTIONARY.fields_by_name[
      "cloud_storage_path"
  ].containing_oneof = _CUSTOMINFOTYPE_DICTIONARY.oneofs_by_name["source"]
  _CUSTOMINFOTYPE_REGEX.containing_type = _CUSTOMINFOTYPE
  _CUSTOMINFOTYPE_SURROGATETYPE.containing_type = _CUSTOMINFOTYPE
  _CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY.containing_type = _CUSTOMINFOTYPE_DETECTIONRULE
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.fields_by_name[
      "fixed_likelihood"
  ].enum_type = _LIKELIHOOD
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.containing_type = (
      _CUSTOMINFOTYPE_DETECTIONRULE
  )
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.oneofs_by_name[
      "adjustment"
  ].fields.append(
      _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.fields_by_name[
          "fixed_likelihood"
      ]
  )
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.fields_by_name[
      "fixed_likelihood"
  ].containing_oneof = _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.oneofs_by_name[
      "adjustment"
  ]
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.oneofs_by_name[
      "adjustment"
  ].fields.append(
      _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.fields_by_name[
          "relative_likelihood"
      ]
  )
  _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.fields_by_name[
      "relative_likelihood"
  ].containing_oneof = _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT.oneofs_by_name[
      "adjustment"
  ]
  _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE.fields_by_name[
      "hotword_regex"
  ].message_type = _CUSTOMINFOTYPE_REGEX
  _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE.fields_by_name[
      "proximity"
  ].message_type = _CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY
  _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE.fields_by_name[
      "likelihood_adjustment"
  ].message_type = _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT
  _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE.containing_type = (
      _CUSTOMINFOTYPE_DETECTIONRULE
  )
  _CUSTOMINFOTYPE_DETECTIONRULE.fields_by_name[
      "hotword_rule"
  ].message_type = _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE
  _CUSTOMINFOTYPE_DETECTIONRULE.containing_type = _CUSTOMINFOTYPE
  _CUSTOMINFOTYPE_DETECTIONRULE.oneofs_by_name["type"].fields.append(
      _CUSTOMINFOTYPE_DETECTIONRULE.fields_by_name["hotword_rule"]
  )
  _CUSTOMINFOTYPE_DETECTIONRULE.fields_by_name[
      "hotword_rule"
  ].containing_oneof = _CUSTOMINFOTYPE_DETECTIONRULE.oneofs_by_name["type"]
  _CUSTOMINFOTYPE.fields_by_name["info_type"].message_type = _INFOTYPE
  _CUSTOMINFOTYPE.fields_by_name["likelihood"].enum_type = _LIKELIHOOD
  _CUSTOMINFOTYPE.fields_by_name["dictionary"].message_type = _CUSTOMINFOTYPE_DICTIONARY
  _CUSTOMINFOTYPE.fields_by_name["regex"].message_type = _CUSTOMINFOTYPE_REGEX
  _CUSTOMINFOTYPE.fields_by_name[
      "surrogate_type"
  ].message_type = _CUSTOMINFOTYPE_SURROGATETYPE
  _CUSTOMINFOTYPE.fields_by_name["stored_type"].message_type = _STOREDTYPE
  _CUSTOMINFOTYPE.fields_by_name[
      "detection_rules"
  ].message_type = _CUSTOMINFOTYPE_DETECTIONRULE
  _CUSTOMINFOTYPE.fields_by_name[
      "exclusion_type"
  ].enum_type = _CUSTOMINFOTYPE_EXCLUSIONTYPE
  _CUSTOMINFOTYPE_EXCLUSIONTYPE.containing_type = _CUSTOMINFOTYPE
  _CUSTOMINFOTYPE.oneofs_by_name["type"].fields.append(
      _CUSTOMINFOTYPE.fields_by_name["dictionary"]
  )
  _CUSTOMINFOTYPE.fields_by_name[
      "dictionary"
  ].containing_oneof = _CUSTOMINFOTYPE.oneofs_by_name["type"]
  _CUSTOMINFOTYPE.oneofs_by_name["type"].fields.append(
      _CUSTOMINFOTYPE.fields_by_name["regex"]
  )
  _CUSTOMINFOTYPE.fields_by_name[
      "regex"
  ].containing_oneof = _CUSTOMINFOTYPE.oneofs_by_name["type"]
  _CUSTOMINFOTYPE.oneofs_by_name["type"].fields.append(
      _CUSTOMINFOTYPE.fields_by_name["surrogate_type"]
  )
  _CUSTOMINFOTYPE.fields_by_name[
      "surrogate_type"
  ].containing_oneof = _CUSTOMINFOTYPE.oneofs_by_name["type"]
  _CUSTOMINFOTYPE.oneofs_by_name["type"].fields.append(
      _CUSTOMINFOTYPE.fields_by_name["stored_type"]
  )
  _CUSTOMINFOTYPE.fields_by_name[
      "stored_type"
  ].containing_oneof = _CUSTOMINFOTYPE.oneofs_by_name["type"]
  _DATASTOREOPTIONS.fields_by_name["partition_id"].message_type = _PARTITIONID
  _DATASTOREOPTIONS.fields_by_name["kind"].message_type = _KINDEXPRESSION
  _CLOUDSTORAGEOPTIONS_FILESET.fields_by_name[
      "regex_file_set"
  ].message_type = _CLOUDSTORAGEREGEXFILESET
  _CLOUDSTORAGEOPTIONS_FILESET.containing_type = _CLOUDSTORAGEOPTIONS
  _CLOUDSTORAGEOPTIONS.fields_by_name[
      "file_set"
  ].message_type = _CLOUDSTORAGEOPTIONS_FILESET
  _CLOUDSTORAGEOPTIONS.fields_by_name["file_types"].enum_type = _FILETYPE
  _CLOUDSTORAGEOPTIONS.fields_by_name[
      "sample_method"
  ].enum_type = _CLOUDSTORAGEOPTIONS_SAMPLEMETHOD
  _CLOUDSTORAGEOPTIONS_SAMPLEMETHOD.containing_type = _CLOUDSTORAGEOPTIONS
  _BIGQUERYOPTIONS.fields_by_name["table_reference"].message_type = _BIGQUERYTABLE
  _BIGQUERYOPTIONS.fields_by_name["identifying_fields"].message_type = _FIELDID
  _BIGQUERYOPTIONS.fields_by_name[
      "sample_method"
  ].enum_type = _BIGQUERYOPTIONS_SAMPLEMETHOD
  _BIGQUERYOPTIONS.fields_by_name["excluded_fields"].message_type = _FIELDID
  _BIGQUERYOPTIONS_SAMPLEMETHOD.containing_type = _BIGQUERYOPTIONS
  _STORAGECONFIG_TIMESPANCONFIG.fields_by_name[
      "start_time"
  ].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _STORAGECONFIG_TIMESPANCONFIG.fields_by_name[
      "end_time"
  ].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _STORAGECONFIG_TIMESPANCONFIG.fields_by_name["timestamp_field"].message_type = _FIELDID
  _STORAGECONFIG_TIMESPANCONFIG.containing_type = _STORAGECONFIG
  _STORAGECONFIG.fields_by_name["datastore_options"].message_type = _DATASTOREOPTIONS
  _STORAGECONFIG.fields_by_name[
      "cloud_storage_options"
  ].message_type = _CLOUDSTORAGEOPTIONS
  _STORAGECONFIG.fields_by_name["big_query_options"].message_type = _BIGQUERYOPTIONS
  _STORAGECONFIG.fields_by_name[
      "timespan_config"
  ].message_type = _STORAGECONFIG_TIMESPANCONFIG
  _STORAGECONFIG.oneofs_by_name["type"].fields.append(
      _STORAGECONFIG.fields_by_name["datastore_options"]
  )
  _STORAGECONFIG.fields_by_name[
      "datastore_options"
  ].containing_oneof = _STORAGECONFIG.oneofs_by_name["type"]
  _STORAGECONFIG.oneofs_by_name["type"].fields.append(
      _STORAGECONFIG.fields_by_name["cloud_storage_options"]
  )
  _STORAGECONFIG.fields_by_name[
      "cloud_storage_options"
  ].containing_oneof = _STORAGECONFIG.oneofs_by_name["type"]
  _STORAGECONFIG.oneofs_by_name["type"].fields.append(
      _STORAGECONFIG.fields_by_name["big_query_options"]
  )
  _STORAGECONFIG.fields_by_name[
      "big_query_options"
  ].containing_oneof = _STORAGECONFIG.oneofs_by_name["type"]
  _BIGQUERYKEY.fields_by_name["table_reference"].message_type = _BIGQUERYTABLE
  _DATASTOREKEY.fields_by_name["entity_key"].message_type = _KEY
  _KEY_PATHELEMENT.containing_type = _KEY
  _KEY_PATHELEMENT.oneofs_by_name["id_type"].fields.append(
      _KEY_PATHELEMENT.fields_by_name["id"]
  )
  _KEY_PATHELEMENT.fields_by_name[
      "id"
  ].containing_oneof = _KEY_PATHELEMENT.oneofs_by_name["id_type"]
  _KEY_PATHELEMENT.oneofs_by_name["id_type"].fields.append(
      _KEY_PATHELEMENT.fields_by_name["name"]
  )
  _KEY_PATHELEMENT.fields_by_name[
      "name"
  ].containing_oneof = _KEY_PATHELEMENT.oneofs_by_name["id_type"]
  _KEY.fields_by_name["partition_id"].message_type = _PARTITIONID
  _KEY.fields_by_name["path"].message_type = _KEY_PATHELEMENT
  _RECORDKEY.fields_by_name["datastore_key"].message_type = _DATASTOREKEY
  _RECORDKEY.fields_by_name["big_query_key"].message_type = _BIGQUERYKEY
  _RECORDKEY.oneofs_by_name["type"].fields.append(
      _RECORDKEY.fields_by_name["datastore_key"]
  )
  _RECORDKEY.fields_by_name["datastore_key"].containing_oneof = _RECORDKEY.oneofs_by_name[
      "type"
  ]
  _RECORDKEY.oneofs_by_name["type"].fields.append(
      _RECORDKEY.fields_by_name["big_query_key"]
  )
  _RECORDKEY.fields_by_name["big_query_key"].containing_oneof = _RECORDKEY.oneofs_by_name[
      "type"
  ]
  _BIGQUERYFIELD.fields_by_name["table"].message_type = _BIGQUERYTABLE
  _BIGQUERYFIELD.fields_by_name["field"].message_type = _FIELDID
  _ENTITYID.fields_by_name["field"].message_type = _FIELDID
  DESCRIPTOR.message_types_by_name["InfoType"] = _INFOTYPE
  DESCRIPTOR.message_types_by_name["StoredType"] = _STOREDTYPE
  DESCRIPTOR.message_types_by_name["CustomInfoType"] = _CUSTOMINFOTYPE
  DESCRIPTOR.message_types_by_name["FieldId"] = _FIELDID
  DESCRIPTOR.message_types_by_name["PartitionId"] = _PARTITIONID
  DESCRIPTOR.message_types_by_name["KindExpression"] = _KINDEXPRESSION
  DESCRIPTOR.message_types_by_name["DatastoreOptions"] = _DATASTOREOPTIONS
  DESCRIPTOR.message_types_by_name["CloudStorageRegexFileSet"] = _CLOUDSTORAGEREGEXFILESET
  DESCRIPTOR.message_types_by_name["CloudStorageOptions"] = _CLOUDSTORAGEOPTIONS
  DESCRIPTOR.message_types_by_name["CloudStorageFileSet"] = _CLOUDSTORAGEFILESET
  DESCRIPTOR.message_types_by_name["CloudStoragePath"] = _CLOUDSTORAGEPATH
  DESCRIPTOR.message_types_by_name["BigQueryOptions"] = _BIGQUERYOPTIONS
  DESCRIPTOR.message_types_by_name["StorageConfig"] = _STORAGECONFIG
  DESCRIPTOR.message_types_by_name["BigQueryKey"] = _BIGQUERYKEY
  DESCRIPTOR.message_types_by_name["DatastoreKey"] = _DATASTOREKEY
  DESCRIPTOR.message_types_by_name["Key"] = _KEY
  DESCRIPTOR.message_types_by_name["RecordKey"] = _RECORDKEY
  DESCRIPTOR.message_types_by_name["BigQueryTable"] = _BIGQUERYTABLE
  DESCRIPTOR.message_types_by_name["BigQueryField"] = _BIGQUERYFIELD
  DESCRIPTOR.message_types_by_name["EntityId"] = _ENTITYID
  DESCRIPTOR.enum_types_by_name["Likelihood"] = _LIKELIHOOD
  DESCRIPTOR.enum_types_by_name["FileType"] = _FILETYPE
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  InfoType = _reflection.GeneratedProtocolMessageType(
      "InfoType",
      (_message.Message,),
      dict(
          DESCRIPTOR=_INFOTYPE,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Type of information detected by the API.
    
    
    Attributes:
        name:
            Name of the information type. Either a name of your choosing
            when creating a CustomInfoType, or one of the names listed at
            https://cloud.google.com/dlp/docs/infotypes-reference when
            specifying a built-in type. InfoType names should conform to
            the pattern [a-zA-Z0-9\_]{1,64}.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.InfoType)
      ),
  )
  _sym_db.RegisterMessage(InfoType)
  
  StoredType = _reflection.GeneratedProtocolMessageType(
      "StoredType",
      (_message.Message,),
      dict(
          DESCRIPTOR=_STOREDTYPE,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""A reference to a StoredInfoType to use with scanning.
    
    
    Attributes:
        name:
            Resource name of the requested ``StoredInfoType``, for example
            ``organizations/433245324/storedInfoTypes/432452342`` or
            ``projects/project-id/storedInfoTypes/432452342``.
        create_time:
            Timestamp indicating when the version of the
            ``StoredInfoType`` used for inspection was created. Output-
            only field, populated by the system.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.StoredType)
      ),
  )
  _sym_db.RegisterMessage(StoredType)
  
  CustomInfoType = _reflection.GeneratedProtocolMessageType(
      "CustomInfoType",
      (_message.Message,),
      dict(
          Dictionary=_reflection.GeneratedProtocolMessageType(
              "Dictionary",
              (_message.Message,),
              dict(
                  WordList=_reflection.GeneratedProtocolMessageType(
                      "WordList",
                      (_message.Message,),
                      dict(
                          DESCRIPTOR=_CUSTOMINFOTYPE_DICTIONARY_WORDLIST,
                          __module__="google.cloud.dlp_v2.proto.storage_pb2",
                          __doc__="""Message defining a list of words or phrases to search for in the data.
        
        
        Attributes:
            words:
                Words or phrases defining the dictionary. The dictionary must
                contain at least one phrase and every phrase must contain at
                least 2 characters that are letters or digits. [required]
        """,
                          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList)
                      ),
                  ),
                  DESCRIPTOR=_CUSTOMINFOTYPE_DICTIONARY,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Custom information type based on a dictionary of words or phrases. This
      can be used to match sensitive information specific to the data, such as
      a list of employee IDs or job titles.
      
      Dictionary words are case-insensitive and all characters other than
      letters and digits in the unicode `Basic Multilingual
      Plane <https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane>`__
      will be replaced with whitespace when scanning for matches, so the
      dictionary phrase "Sam Johnson" will match all three phrases "sam
      johnson", "Sam, Johnson", and "Sam (Johnson)". Additionally, the
      characters surrounding any match must be of a different type than the
      adjacent characters within the word, so letters must be next to
      non-letters and digits next to non-digits. For example, the dictionary
      word "jen" will match the first three letters of the text "jen123" but
      will return no matches for "jennifer".
      
      Dictionary words containing a large number of characters that are not
      letters or digits may result in unexpected findings because such
      characters are treated as whitespace. The
      `limits <https://cloud.google.com/dlp/limits>`__ page contains details
      about the size limits of dictionaries. For dictionaries that do not fit
      within these constraints, consider using ``LargeCustomDictionaryConfig``
      in the ``StoredInfoType`` API.
      
      
      Attributes:
          word_list:
              List of words or phrases to search for.
          cloud_storage_path:
              Newline-delimited file of words in Cloud Storage. Only a
              single file is accepted.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.Dictionary)
              ),
          ),
          Regex=_reflection.GeneratedProtocolMessageType(
              "Regex",
              (_message.Message,),
              dict(
                  DESCRIPTOR=_CUSTOMINFOTYPE_REGEX,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Message defining a custom regular expression.
      
      
      Attributes:
          pattern:
              Pattern defining the regular expression. Its syntax
              (https://github.com/google/re2/wiki/Syntax) can be found under
              the google/re2 repository on GitHub.
          group_indexes:
              The index of the submatch to extract as findings. When not
              specified, the entire match is returned. No more than 3 may be
              included.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.Regex)
              ),
          ),
          SurrogateType=_reflection.GeneratedProtocolMessageType(
              "SurrogateType",
              (_message.Message,),
              dict(
                  DESCRIPTOR=_CUSTOMINFOTYPE_SURROGATETYPE,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Message for detecting output from deidentification transformations such
      as
      ```CryptoReplaceFfxFpeConfig`` </dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig>`__.
      These types of transformations are those that perform pseudonymization,
      thereby producing a "surrogate" as output. This should be used in
      conjunction with a field on the transformation such as
      ``surrogate_info_type``. This CustomInfoType does not support the use of
      ``detection_rules``.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.SurrogateType)
              ),
          ),
          DetectionRule=_reflection.GeneratedProtocolMessageType(
              "DetectionRule",
              (_message.Message,),
              dict(
                  Proximity=_reflection.GeneratedProtocolMessageType(
                      "Proximity",
                      (_message.Message,),
                      dict(
                          DESCRIPTOR=_CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY,
                          __module__="google.cloud.dlp_v2.proto.storage_pb2",
                          __doc__="""Message for specifying a window around a finding to apply a detection
        rule.
        
        
        Attributes:
            window_before:
                Number of characters before the finding to consider.
            window_after:
                Number of characters after the finding to consider.
        """,
                          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity)
                      ),
                  ),
                  LikelihoodAdjustment=_reflection.GeneratedProtocolMessageType(
                      "LikelihoodAdjustment",
                      (_message.Message,),
                      dict(
                          DESCRIPTOR=_CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT,
                          __module__="google.cloud.dlp_v2.proto.storage_pb2",
                          __doc__="""Message for specifying an adjustment to the likelihood of a finding as
        part of a detection rule.
        
        
        Attributes:
            fixed_likelihood:
                Set the likelihood of a finding to a fixed value.
            relative_likelihood:
                Increase or decrease the likelihood by the specified number of
                levels. For example, if a finding would be ``POSSIBLE``
                without the detection rule and ``relative_likelihood`` is 1,
                then it is upgraded to ``LIKELY``, while a value of -1 would
                downgrade it to ``UNLIKELY``. Likelihood may never drop below
                ``VERY_UNLIKELY`` or exceed ``VERY_LIKELY``, so applying an
                adjustment of 1 followed by an adjustment of -1 when base
                likelihood is ``VERY_LIKELY`` will result in a final
                likelihood of ``LIKELY``.
        """,
                          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment)
                      ),
                  ),
                  HotwordRule=_reflection.GeneratedProtocolMessageType(
                      "HotwordRule",
                      (_message.Message,),
                      dict(
                          DESCRIPTOR=_CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE,
                          __module__="google.cloud.dlp_v2.proto.storage_pb2",
                          __doc__="""The rule that adjusts the likelihood of findings within a certain
        proximity of hotwords.
        
        
        Attributes:
            hotword_regex: \
                Regular expression pattern defining what qualifies as a \
                hotword.
            proximity:
                Proximity of the finding within which the entire hotword must
                reside. The total length of the window cannot exceed 1000
                characters. Note that the finding itself will be included in
                the window, so that hotwords may be used to match substrings
                of the finding itself. For example, the certainty of a phone
                number regex "(\d\{3\}) \d\{3\}-\d\{4\} "\
                could be adjusted upwards if the area code is \
                known to be the local area code of a company office using the
                hotword regex "(xxx)", where "xxx" is the area code in
                question.
            likelihood_adjustment: \
                Likelihood adjustment to apply to all matching findings.
        """,
                          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule)
                      ),
                  ),
                  DESCRIPTOR=_CUSTOMINFOTYPE_DETECTIONRULE,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Deprecated; use ``InspectionRuleSet`` instead. Rule for modifying a
      ``CustomInfoType`` to alter behavior under certain circumstances,
      depending on the specific details of the rule. Not supported for the
      ``surrogate_type`` custom infoType.
      
      
      Attributes:
          hotword_rule:
              Hotword-based detection rule.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType.DetectionRule)
              ),
          ),
          DESCRIPTOR=_CUSTOMINFOTYPE,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Custom information type provided by the user. Used to find
    domain-specific sensitive information configurable to the data in
    question.
    
    
    Attributes:
        info_type:
            CustomInfoType can either be a new infoType, or an extension
            of built-in infoType, when the name matches one of existing
            infoTypes and that infoType is specified in
            ``InspectContent.info_types`` field. Specifying the latter
            adds findings to the one detected by the system. If built-in
            info type is not specified in ``InspectContent.info_types``
            list then the name is treated as a custom info type.
        likelihood:
            Likelihood to return for this CustomInfoType. This base value
            can be altered by a detection rule if the finding meets the
            criteria specified by the rule. Defaults to ``VERY_LIKELY`` if
            not specified.
        dictionary:
            A list of phrases to detect as a CustomInfoType.
        regex:
            Regular expression based CustomInfoType.
        surrogate_type:
            Message for detecting output from deidentification
            transformations that support reversing.
        stored_type:
            Load an existing ``StoredInfoType`` resource for use in
            ``InspectDataSource``. Not currently supported in
            ``InspectContent``.
        detection_rules:
            Set of detection rules to apply to all findings of this
            CustomInfoType. Rules are applied in order that they are
            specified. Not supported for the ``surrogate_type``
            CustomInfoType.
        exclusion_type:
            If set to EXCLUSION\_TYPE\_EXCLUDE this infoType will not
            cause a finding to be returned. It still can be used for rules
            matching.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CustomInfoType)
      ),
  )
  _sym_db.RegisterMessage(CustomInfoType)
  _sym_db.RegisterMessage(CustomInfoType.Dictionary)
  _sym_db.RegisterMessage(CustomInfoType.Dictionary.WordList)
  _sym_db.RegisterMessage(CustomInfoType.Regex)
  _sym_db.RegisterMessage(CustomInfoType.SurrogateType)
  _sym_db.RegisterMessage(CustomInfoType.DetectionRule)
  _sym_db.RegisterMessage(CustomInfoType.DetectionRule.Proximity)
  _sym_db.RegisterMessage(CustomInfoType.DetectionRule.LikelihoodAdjustment)
  _sym_db.RegisterMessage(CustomInfoType.DetectionRule.HotwordRule)
  
  FieldId = _reflection.GeneratedProtocolMessageType(
      "FieldId",
      (_message.Message,),
      dict(
          DESCRIPTOR=_FIELDID,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""General identifier of a data field in a storage service.
    
    
    Attributes:
        name:
            Name describing the field.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.FieldId)
      ),
  )
  _sym_db.RegisterMessage(FieldId)
  
  PartitionId = _reflection.GeneratedProtocolMessageType(
      "PartitionId",
      (_message.Message,),
      dict(
          DESCRIPTOR=_PARTITIONID,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Datastore partition ID. A partition ID identifies a grouping of
    entities. The grouping is always by project and namespace, however the
    namespace ID may be empty.
    
    A partition ID contains several dimensions: project ID and namespace ID.
    
    
    Attributes:
        project_id:
            The ID of the project to which the entities belong.
        namespace_id:
            If not empty, the ID of the namespace to which the entities
            belong.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.PartitionId)
      ),
  )
  _sym_db.RegisterMessage(PartitionId)
  
  KindExpression = _reflection.GeneratedProtocolMessageType(
      "KindExpression",
      (_message.Message,),
      dict(
          DESCRIPTOR=_KINDEXPRESSION,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""A representation of a Datastore kind.
    
    
    Attributes:
        name:
            The name of the kind.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.KindExpression)
      ),
  )
  _sym_db.RegisterMessage(KindExpression)
  
  DatastoreOptions = _reflection.GeneratedProtocolMessageType(
      "DatastoreOptions",
      (_message.Message,),
      dict(
          DESCRIPTOR=_DATASTOREOPTIONS,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Options defining a data set within Google Cloud Datastore.
    
    
    Attributes:
        partition_id:
            A partition ID identifies a grouping of entities. The grouping
            is always by project and namespace, however the namespace ID
            may be empty.
        kind:
            The kind to process.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.DatastoreOptions)
      ),
  )
  _sym_db.RegisterMessage(DatastoreOptions)
  
  CloudStorageRegexFileSet = _reflection.GeneratedProtocolMessageType(
      "CloudStorageRegexFileSet",
      (_message.Message,),
      dict(
          DESCRIPTOR=_CLOUDSTORAGEREGEXFILESET,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message representing a set of files in a Cloud Storage bucket. Regular
    expressions are used to allow fine-grained control over which files in
    the bucket to include.
    
    Included files are those that match at least one item in
    ``include_regex`` and do not match any items in ``exclude_regex``. Note
    that a file that matches items from both lists will *not* be included.
    For a match to occur, the entire file path (i.e., everything in the url
    after the bucket name) must match the regular expression.
    
    For example, given the input
    ``{bucket_name: "mybucket", include_regex: ["directory1/.*"], exclude_regex: ["directory1/excluded.*"]}``:
    
    -  ``gs://mybucket/directory1/myfile`` will be included
    -  ``gs://mybucket/directory1/directory2/myfile`` will be included
       (``.*`` matches across ``/``)
    -  ``gs://mybucket/directory0/directory1/myfile`` will *not* be included
       (the full path doesn't match any items in ``include_regex``)
    -  ``gs://mybucket/directory1/excludedfile`` will *not* be included (the
       path matches an item in ``exclude_regex``)
    
    If ``include_regex`` is left empty, it will match all files by default
    (this is equivalent to setting ``include_regex: [".*"]``).
    
    Some other common use cases:
    
    -  ``{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}`` will
       include all files in ``mybucket`` except for .pdf files
    -  ``{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}``
       will include all files directly under ``gs://mybucket/directory/``,
       without matching across ``/``
    
    
    Attributes:
        bucket_name:
            The name of a Cloud Storage bucket. Required.
        include_regex:
            A list of regular expressions matching file paths to include.
            All files in the bucket that match at least one of these
            regular expressions will be included in the set of files,
            except for those that also match an item in ``exclude_regex``.
            Leaving this field empty will match all files by default (this
            is equivalent to including ``.*`` in the list).  Regular
            expressions use RE2 `syntax
            <https://github.com/google/re2/wiki/Syntax>`__; a guide can be
            found under the google/re2 repository on GitHub.
        exclude_regex:
            A list of regular expressions matching file paths to exclude.
            All files in the bucket that match at least one of these
            regular expressions will be excluded from the scan.  Regular
            expressions use RE2 `syntax
            <https://github.com/google/re2/wiki/Syntax>`__; a guide can be
            found under the google/re2 repository on GitHub.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CloudStorageRegexFileSet)
      ),
  )
  _sym_db.RegisterMessage(CloudStorageRegexFileSet)
  
  CloudStorageOptions = _reflection.GeneratedProtocolMessageType(
      "CloudStorageOptions",
      (_message.Message,),
      dict(
          FileSet=_reflection.GeneratedProtocolMessageType(
              "FileSet",
              (_message.Message,),
              dict(
                  DESCRIPTOR=_CLOUDSTORAGEOPTIONS_FILESET,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Set of files to scan.
      
      
      Attributes:
          url:
              The Cloud Storage url of the file(s) to scan, in the format
              ``gs://<bucket>/<path>``. Trailing wildcard in the path is
              allowed.  If the url ends in a trailing slash, the bucket or
              directory represented by the url will be scanned non-
              recursively (content in sub-directories will not be scanned).
              This means that ``gs://mybucket/`` is equivalent to
              ``gs://mybucket/*``, and ``gs://mybucket/directory/`` is
              equivalent to ``gs://mybucket/directory/*``.  Exactly one of
              ``url`` or ``regex_file_set`` must be set.
          regex_file_set:
              The regex-filtered set of files to scan. Exactly one of
              ``url`` or ``regex_file_set`` must be set.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CloudStorageOptions.FileSet)
              ),
          ),
          DESCRIPTOR=_CLOUDSTORAGEOPTIONS,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Options defining a file or a set of files within a Google Cloud Storage
    bucket.
    
    
    Attributes:
        file_set:
            The set of one or more files to scan.
        bytes_limit_per_file:
            Max number of bytes to scan from a file. If a scanned file's
            size is bigger than this value then the rest of the bytes are
            omitted. Only one of bytes\_limit\_per\_file and
            bytes\_limit\_per\_file\_percent can be specified.
        bytes_limit_per_file_percent:
            Max percentage of bytes to scan from a file. The rest are
            omitted. The number of bytes scanned is rounded down. Must be
            between 0 and 100, inclusively. Both 0 and 100 means no limit.
            Defaults to 0. Only one of bytes\_limit\_per\_file and
            bytes\_limit\_per\_file\_percent can be specified.
        file_types:
            List of file type groups to include in the scan. If empty, all
            files are scanned and available data format processors are
            applied. In addition, the binary content of the selected files
            is always scanned as well.
        files_limit_percent:
            Limits the number of files to scan to this percentage of the
            input FileSet. Number of files scanned is rounded down. Must
            be between 0 and 100, inclusively. Both 0 and 100 means no
            limit. Defaults to 0.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CloudStorageOptions)
      ),
  )
  _sym_db.RegisterMessage(CloudStorageOptions)
  _sym_db.RegisterMessage(CloudStorageOptions.FileSet)
  
  CloudStorageFileSet = _reflection.GeneratedProtocolMessageType(
      "CloudStorageFileSet",
      (_message.Message,),
      dict(
          DESCRIPTOR=_CLOUDSTORAGEFILESET,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message representing a set of files in Cloud Storage.
    
    
    Attributes:
        url:
            The url, in the format ``gs://<bucket>/<path>``. Trailing
            wildcard in the path is allowed.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CloudStorageFileSet)
      ),
  )
  _sym_db.RegisterMessage(CloudStorageFileSet)
  
  CloudStoragePath = _reflection.GeneratedProtocolMessageType(
      "CloudStoragePath",
      (_message.Message,),
      dict(
          DESCRIPTOR=_CLOUDSTORAGEPATH,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message representing a single file or path in Cloud Storage.
    
    
    Attributes:
        path:
            A url representing a file or path (no wildcards) in Cloud
            Storage. Example: gs://[BUCKET\_NAME]/dictionary.txt
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CloudStoragePath)
      ),
  )
  _sym_db.RegisterMessage(CloudStoragePath)
  
  BigQueryOptions = _reflection.GeneratedProtocolMessageType(
      "BigQueryOptions",
      (_message.Message,),
      dict(
          DESCRIPTOR=_BIGQUERYOPTIONS,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Options defining BigQuery table and row identifiers.
    
    
    Attributes:
        table_reference:
            Complete BigQuery table reference.
        identifying_fields:
            References to fields uniquely identifying rows within the
            table. Nested fields in the format, like
            ``person.birthdate.year``, are allowed.
        rows_limit:
            Max number of rows to scan. If the table has more rows than
            this value, the rest of the rows are omitted. If not set, or
            if set to 0, all rows will be scanned. Only one of rows\_limit
            and rows\_limit\_percent can be specified. Cannot be used in
            conjunction with TimespanConfig.
        rows_limit_percent:
            Max percentage of rows to scan. The rest are omitted. The
            number of rows scanned is rounded down. Must be between 0 and
            100, inclusively. Both 0 and 100 means no limit. Defaults to
            0. Only one of rows\_limit and rows\_limit\_percent can be
            specified. Cannot be used in conjunction with TimespanConfig.
        excluded_fields:
            References to fields excluded from scanning. This allows you
            to skip inspection of entire columns which you know have no
            findings.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.BigQueryOptions)
      ),
  )
  _sym_db.RegisterMessage(BigQueryOptions)
  
  StorageConfig = _reflection.GeneratedProtocolMessageType(
      "StorageConfig",
      (_message.Message,),
      dict(
          TimespanConfig=_reflection.GeneratedProtocolMessageType(
              "TimespanConfig",
              (_message.Message,),
              dict(
                  DESCRIPTOR=_STORAGECONFIG_TIMESPANCONFIG,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""Configuration of the timespan of the items to include in scanning.
      Currently only supported when inspecting Google Cloud Storage and
      BigQuery.
      
      
      Attributes:
          start_time:
              Exclude files or rows older than this value.
          end_time:
              Exclude files or rows newer than this value. If set to zero,
              no upper time limit is applied.
          timestamp_field:
              Specification of the field containing the timestamp of scanned
              items. Used for data sources like Datastore or BigQuery. If
              not specified for BigQuery, table last modification timestamp
              is checked against given time span. The valid data types of
              the timestamp field are: for BigQuery - timestamp, date,
              datetime; for Datastore - timestamp. Datastore entity will be
              scanned if the timestamp property does not exist or its value
              is empty or invalid.
          enable_auto_population_of_timespan_config:
              When the job is started by a JobTrigger we will automatically
              figure out a valid start\_time to avoid scanning files that
              have not been modified since the last time the JobTrigger
              executed. This will be based on the time of the execution of
              the last run of the JobTrigger.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
              ),
          ),
          DESCRIPTOR=_STORAGECONFIG,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Shared message indicating Cloud storage type.
    
    
    Attributes:
        datastore_options:
            Google Cloud Datastore options specification.
        cloud_storage_options:
            Google Cloud Storage options specification.
        big_query_options:
            BigQuery options specification.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.StorageConfig)
      ),
  )
  _sym_db.RegisterMessage(StorageConfig)
  _sym_db.RegisterMessage(StorageConfig.TimespanConfig)
  
  BigQueryKey = _reflection.GeneratedProtocolMessageType(
      "BigQueryKey",
      (_message.Message,),
      dict(
          DESCRIPTOR=_BIGQUERYKEY,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Row key for identifying a record in BigQuery table.
    
    
    Attributes:
        table_reference:
            Complete BigQuery table reference.
        row_number:
            Absolute number of the row from the beginning of the table at
            the time of scanning.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.BigQueryKey)
      ),
  )
  _sym_db.RegisterMessage(BigQueryKey)
  
  DatastoreKey = _reflection.GeneratedProtocolMessageType(
      "DatastoreKey",
      (_message.Message,),
      dict(
          DESCRIPTOR=_DATASTOREKEY,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Record key for a finding in Cloud Datastore.
    
    
    Attributes:
        entity_key:
            Datastore entity key.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.DatastoreKey)
      ),
  )
  _sym_db.RegisterMessage(DatastoreKey)
  
  Key = _reflection.GeneratedProtocolMessageType(
      "Key",
      (_message.Message,),
      dict(
          PathElement=_reflection.GeneratedProtocolMessageType(
              "PathElement",
              (_message.Message,),
              dict(
                  DESCRIPTOR=_KEY_PATHELEMENT,
                  __module__="google.cloud.dlp_v2.proto.storage_pb2",
                  __doc__="""A (kind, ID/name) pair used to construct a key path.
      
      If either name or ID is set, the element is complete. If neither is set,
      the element is incomplete.
      
      
      Attributes:
          kind:
              The kind of the entity. A kind matching regex ``__.*__`` is
              reserved/read-only. A kind must not contain more than 1500
              bytes when UTF-8 encoded. Cannot be ``""``.
          id_type:
              The type of ID.
          id:
              The auto-allocated ID of the entity. Never equal to zero.
              Values less than zero are discouraged and may not be supported
              in the future.
          name:
              The name of the entity. A name matching regex ``__.*__`` is
              reserved/read-only. A name must not be more than 1500 bytes
              when UTF-8 encoded. Cannot be ``""``.
      """,
                  # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.Key.PathElement)
              ),
          ),
          DESCRIPTOR=_KEY,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""A unique identifier for a Datastore entity. If a key's partition ID or
    any of its path kinds or names are reserved/read-only, the key is
    reserved/read-only. A reserved/read-only key is forbidden in certain
    documented contexts.
    
    
    Attributes:
        partition_id:
            Entities are partitioned into subsets, currently identified by
            a project ID and namespace ID. Queries are scoped to a single
            partition.
        path:
            The entity path. An entity path consists of one or more
            elements composed of a kind and a string or numerical
            identifier, which identify entities. The first element
            identifies a *root entity*, the second element identifies a
            *child* of the root entity, the third element identifies a
            child of the second entity, and so forth. The entities
            identified by all prefixes of the path are called the
            element's *ancestors*.  A path can never be empty, and a path
            can have at most 100 elements.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.Key)
      ),
  )
  _sym_db.RegisterMessage(Key)
  _sym_db.RegisterMessage(Key.PathElement)
  
  RecordKey = _reflection.GeneratedProtocolMessageType(
      "RecordKey",
      (_message.Message,),
      dict(
          DESCRIPTOR=_RECORDKEY,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message for a unique key indicating a record that contains a finding.
    
    
    Attributes:
        id_values:
            Values of identifying columns in the given row. Order of
            values matches the order of field identifiers specified in the
            scanning request.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.RecordKey)
      ),
  )
  _sym_db.RegisterMessage(RecordKey)
  
  BigQueryTable = _reflection.GeneratedProtocolMessageType(
      "BigQueryTable",
      (_message.Message,),
      dict(
          DESCRIPTOR=_BIGQUERYTABLE,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message defining the location of a BigQuery table. A table is uniquely
    identified by its project\_id, dataset\_id, and table\_name. Within a
    query a table is often referenced with a string in the format of:
    ``<project_id>:<dataset_id>.<table_id>`` or
    ``<project_id>.<dataset_id>.<table_id>``.
    
    
    Attributes:
        project_id:
            The Google Cloud Platform project ID of the project containing
            the table. If omitted, project ID is inferred from the API
            call.
        dataset_id:
            Dataset ID of the table.
        table_id:
            Name of the table.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.BigQueryTable)
      ),
  )
  _sym_db.RegisterMessage(BigQueryTable)
  
  BigQueryField = _reflection.GeneratedProtocolMessageType(
      "BigQueryField",
      (_message.Message,),
      dict(
          DESCRIPTOR=_BIGQUERYFIELD,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""Message defining a field of a BigQuery table.
    
    
    Attributes:
        table:
            Source table of the field.
        field:
            Designated field in the BigQuery table.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.BigQueryField)
      ),
  )
  _sym_db.RegisterMessage(BigQueryField)
  
  EntityId = _reflection.GeneratedProtocolMessageType(
      "EntityId",
      (_message.Message,),
      dict(
          DESCRIPTOR=_ENTITYID,
          __module__="google.cloud.dlp_v2.proto.storage_pb2",
          __doc__="""An entity in a dataset is a field or set of fields that correspond to a
    single person. For example, in medical records the ``EntityId`` might be
    a patient identifier, or for financial records it might be an account
    identifier. This message is used when generalizations or analysis must
    take into account that multiple rows correspond to the same entity.
    
    
    Attributes:
        field:
            Composite key indicating which field contains the entity
            identifier.
    """,
          # @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.EntityId)
      ),
  )
  _sym_db.RegisterMessage(EntityId)
  
  
  DESCRIPTOR._options = None
  # @@protoc_insertion_point(module_scope)
  