# 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
from google.protobuf import descriptor_pb2

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.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_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"\xb1\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\x18\n\x05Regex\x12\x0f\n\x07pattern\x18\x01 \x01(\t\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"\x8e\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\x42\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*E\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\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, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="VERY_UNLIKELY", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="UNLIKELY", index=2, number=2, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="POSSIBLE", index=3, number=3, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="LIKELY", index=4, number=4, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="VERY_LIKELY", index=5, number=5, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=4293,
    serialized_end=4409,
)
_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, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="BINARY_FILE", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="TEXT_FILE", index=2, number=2, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=4411,
    serialized_end=4480,
)
_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


_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,
            options=None,
            type=None,
        ),
        _descriptor.EnumValueDescriptor(
            name="EXCLUSION_TYPE_EXCLUDE", index=1, number=1, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=1615,
    serialized_end=1690,
)
_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, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="TOP", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="RANDOM_START", index=2, number=2, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=2462,
    serialized_end=2534,
)
_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, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="TOP", index=1, number=1, options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="RANDOM_START", index=2, number=2, options=None, type=None
        ),
    ],
    containing_type=None,
    options=None,
    serialized_start=2462,
    serialized_end=2534,
)
_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_CUSTOMINFOTYPE_DICTIONARY_WORDLIST],
    enum_types=[],
    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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=995,
    serialized_end=1019,
)

_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=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1021,
    serialized_end=1036,
)

_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1145,
    serialized_end=1201,
)

_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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=1204,
    serialized_end=1334,
)

_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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1337,
    serialized_end=1605,
)

_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[
        _CUSTOMINFOTYPE_DETECTIONRULE_PROXIMITY,
        _CUSTOMINFOTYPE_DETECTIONRULE_LIKELIHOODADJUSTMENT,
        _CUSTOMINFOTYPE_DETECTIONRULE_HOTWORDRULE,
    ],
    enum_types=[],
    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=1039,
    serialized_end=1613,
)

_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,
            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,
            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,
            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,
            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,
            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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[
        _CUSTOMINFOTYPE_DICTIONARY,
        _CUSTOMINFOTYPE_REGEX,
        _CUSTOMINFOTYPE_SURROGATETYPE,
        _CUSTOMINFOTYPE_DETECTIONRULE,
    ],
    enum_types=[_CUSTOMINFOTYPE_EXCLUSIONTYPE],
    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=1698,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1700,
    serialized_end=1723,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1725,
    serialized_end=1780,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1782,
    serialized_end=1812,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1815,
    serialized_end=1944,
)


_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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1946,
    serialized_end=2039,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2365,
    serialized_end=2460,
)

_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,
            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,
            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,
            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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_CLOUDSTORAGEOPTIONS_FILESET],
    enum_types=[_CLOUDSTORAGEOPTIONS_SAMPLEMETHOD],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2042,
    serialized_end=2534,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2536,
    serialized_end=2570,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2572,
    serialized_end=2604,
)


_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,
            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,
            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,
            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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_BIGQUERYOPTIONS_SAMPLEMETHOD],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2607,
    serialized_end=3002,
)


_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,
            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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3317,
    serialized_end=3535,
)

_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,
            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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_STORAGECONFIG_TIMESPANCONFIG],
    enum_types=[],
    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=3005,
    serialized_end=3543,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3545,
    serialized_end=3641,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3643,
    serialized_end=3705,
)


_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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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=3827,
    serialized_end=3895,
)

_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_KEY_PATHELEMENT],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3708,
    serialized_end=3895,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    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=3898,
    serialized_end=4040,
)


_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,
            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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4042,
    serialized_end=4115,
)


_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,
            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,
            options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4117,
    serialized_end=4232,
)


_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,
            options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=4234,
    serialized_end=4291,
)

_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.
    """,
                # @@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__="""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 info type.
    
    
    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. 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.
  """,
        # @@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.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(
    descriptor_pb2.FileOptions(),
    _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"
    ),
)
# @@protoc_insertion_point(module_scope)
