# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grafeas_v1/proto/provenance.proto

import sys

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
    name="grafeas_v1/proto/provenance.proto",
    package="grafeas.v1",
    syntax="proto3",
    serialized_options=_b(
        "\n\rio.grafeas.v1P\001Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\242\002\003GRA"
    ),
    serialized_pb=_b(
        '\n!grafeas_v1/proto/provenance.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x90\x04\n\x0f\x42uildProvenance\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12%\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x13.grafeas.v1.Command\x12-\n\x0f\x62uilt_artifacts\x18\x04 \x03(\x0b\x32\x14.grafeas.v1.Artifact\x12/\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x63reator\x18\x08 \x01(\t\x12\x10\n\x08logs_uri\x18\t \x01(\t\x12-\n\x11source_provenance\x18\n \x01(\x0b\x32\x12.grafeas.v1.Source\x12\x12\n\ntrigger_id\x18\x0b \x01(\t\x12\x44\n\rbuild_options\x18\x0c \x03(\x0b\x32-.grafeas.v1.BuildProvenance.BuildOptionsEntry\x12\x17\n\x0f\x62uilder_version\x18\r \x01(\t\x1a\x33\n\x11\x42uildOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"\x95\x02\n\x06Source\x12#\n\x1b\x61rtifact_storage_source_uri\x18\x01 \x01(\t\x12\x37\n\x0b\x66ile_hashes\x18\x02 \x03(\x0b\x32".grafeas.v1.Source.FileHashesEntry\x12*\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x19.grafeas.v1.SourceContext\x12\x36\n\x13\x61\x64\x64itional_contexts\x18\x04 \x03(\x0b\x32\x19.grafeas.v1.SourceContext\x1aI\n\x0f\x46ileHashesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.FileHashes:\x02\x38\x01"1\n\nFileHashes\x12#\n\tfile_hash\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Hash"#\n\x04Hash\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c"]\n\x07\x43ommand\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x65nv\x18\x02 \x03(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x0b\n\x03\x64ir\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\x12\x10\n\x08wait_for\x18\x06 \x03(\t"7\n\x08\x41rtifact\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\r\n\x05names\x18\x03 \x03(\t"\x9a\x02\n\rSourceContext\x12\x38\n\ncloud_repo\x18\x01 \x01(\x0b\x32".grafeas.v1.CloudRepoSourceContextH\x00\x12\x31\n\x06gerrit\x18\x02 \x01(\x0b\x32\x1f.grafeas.v1.GerritSourceContextH\x00\x12+\n\x03git\x18\x03 \x01(\x0b\x32\x1c.grafeas.v1.GitSourceContextH\x00\x12\x35\n\x06labels\x18\x04 \x03(\x0b\x32%.grafeas.v1.SourceContext.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07\x63ontext"\x8a\x01\n\x0c\x41liasContext\x12+\n\x04kind\x18\x01 \x01(\x0e\x32\x1d.grafeas.v1.AliasContext.Kind\x12\x0c\n\x04name\x18\x02 \x01(\t"?\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07MOVABLE\x10\x02\x12\t\n\x05OTHER\x10\x04"\x93\x01\n\x16\x43loudRepoSourceContext\x12#\n\x07repo_id\x18\x01 \x01(\x0b\x32\x12.grafeas.v1.RepoId\x12\x15\n\x0brevision_id\x18\x02 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x03 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision"\x95\x01\n\x13GerritSourceContext\x12\x10\n\x08host_uri\x18\x01 \x01(\t\x12\x16\n\x0egerrit_project\x18\x02 \x01(\t\x12\x15\n\x0brevision_id\x18\x03 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x04 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision"4\n\x10GitSourceContext\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0brevision_id\x18\x02 \x01(\t"S\n\x06RepoId\x12\x34\n\x0fproject_repo_id\x18\x01 \x01(\x0b\x32\x19.grafeas.v1.ProjectRepoIdH\x00\x12\r\n\x03uid\x18\x02 \x01(\tH\x00\x42\x04\n\x02id"6\n\rProjectRepoId\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x11\n\trepo_name\x18\x02 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3'
    ),
    dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR],
)


_ALIASCONTEXT_KIND = _descriptor.EnumDescriptor(
    name="Kind",
    full_name="grafeas.v1.AliasContext.Kind",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="KIND_UNSPECIFIED",
            index=0,
            number=0,
            serialized_options=None,
            type=None,
        ),
        _descriptor.EnumValueDescriptor(
            name="FIXED", index=1, number=1, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="MOVABLE", index=2, number=2, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="OTHER", index=3, number=4, serialized_options=None, type=None
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=1494,
    serialized_end=1557,
)
_sym_db.RegisterEnumDescriptor(_ALIASCONTEXT_KIND)


_BUILDPROVENANCE_BUILDOPTIONSENTRY = _descriptor.Descriptor(
    name="BuildOptionsEntry",
    full_name="grafeas.v1.BuildProvenance.BuildOptionsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="grafeas.v1.BuildProvenance.BuildOptionsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="grafeas.v1.BuildProvenance.BuildOptionsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=560,
    serialized_end=611,
)

_BUILDPROVENANCE = _descriptor.Descriptor(
    name="BuildProvenance",
    full_name="grafeas.v1.BuildProvenance",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="id",
            full_name="grafeas.v1.BuildProvenance.id",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="project_id",
            full_name="grafeas.v1.BuildProvenance.project_id",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="commands",
            full_name="grafeas.v1.BuildProvenance.commands",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="built_artifacts",
            full_name="grafeas.v1.BuildProvenance.built_artifacts",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="create_time",
            full_name="grafeas.v1.BuildProvenance.create_time",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="start_time",
            full_name="grafeas.v1.BuildProvenance.start_time",
            index=5,
            number=6,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="end_time",
            full_name="grafeas.v1.BuildProvenance.end_time",
            index=6,
            number=7,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="creator",
            full_name="grafeas.v1.BuildProvenance.creator",
            index=7,
            number=8,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="logs_uri",
            full_name="grafeas.v1.BuildProvenance.logs_uri",
            index=8,
            number=9,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="source_provenance",
            full_name="grafeas.v1.BuildProvenance.source_provenance",
            index=9,
            number=10,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="trigger_id",
            full_name="grafeas.v1.BuildProvenance.trigger_id",
            index=10,
            number=11,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="build_options",
            full_name="grafeas.v1.BuildProvenance.build_options",
            index=11,
            number=12,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="builder_version",
            full_name="grafeas.v1.BuildProvenance.builder_version",
            index=12,
            number=13,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_BUILDPROVENANCE_BUILDOPTIONSENTRY],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=83,
    serialized_end=611,
)


_SOURCE_FILEHASHESENTRY = _descriptor.Descriptor(
    name="FileHashesEntry",
    full_name="grafeas.v1.Source.FileHashesEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="grafeas.v1.Source.FileHashesEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="grafeas.v1.Source.FileHashesEntry.value",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=818,
    serialized_end=891,
)

_SOURCE = _descriptor.Descriptor(
    name="Source",
    full_name="grafeas.v1.Source",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="artifact_storage_source_uri",
            full_name="grafeas.v1.Source.artifact_storage_source_uri",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="file_hashes",
            full_name="grafeas.v1.Source.file_hashes",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="context",
            full_name="grafeas.v1.Source.context",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="additional_contexts",
            full_name="grafeas.v1.Source.additional_contexts",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_SOURCE_FILEHASHESENTRY],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=614,
    serialized_end=891,
)


_FILEHASHES = _descriptor.Descriptor(
    name="FileHashes",
    full_name="grafeas.v1.FileHashes",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="file_hash",
            full_name="grafeas.v1.FileHashes.file_hash",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=893,
    serialized_end=942,
)


_HASH = _descriptor.Descriptor(
    name="Hash",
    full_name="grafeas.v1.Hash",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="type",
            full_name="grafeas.v1.Hash.type",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="grafeas.v1.Hash.value",
            index=1,
            number=2,
            type=12,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b(""),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=944,
    serialized_end=979,
)


_COMMAND = _descriptor.Descriptor(
    name="Command",
    full_name="grafeas.v1.Command",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="grafeas.v1.Command.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="env",
            full_name="grafeas.v1.Command.env",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="args",
            full_name="grafeas.v1.Command.args",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="dir",
            full_name="grafeas.v1.Command.dir",
            index=3,
            number=4,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="id",
            full_name="grafeas.v1.Command.id",
            index=4,
            number=5,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="wait_for",
            full_name="grafeas.v1.Command.wait_for",
            index=5,
            number=6,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=981,
    serialized_end=1074,
)


_ARTIFACT = _descriptor.Descriptor(
    name="Artifact",
    full_name="grafeas.v1.Artifact",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="checksum",
            full_name="grafeas.v1.Artifact.checksum",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="id",
            full_name="grafeas.v1.Artifact.id",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="names",
            full_name="grafeas.v1.Artifact.names",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1076,
    serialized_end=1131,
)


_SOURCECONTEXT_LABELSENTRY = _descriptor.Descriptor(
    name="LabelsEntry",
    full_name="grafeas.v1.SourceContext.LabelsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="grafeas.v1.SourceContext.LabelsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="grafeas.v1.SourceContext.LabelsEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1360,
    serialized_end=1405,
)

_SOURCECONTEXT = _descriptor.Descriptor(
    name="SourceContext",
    full_name="grafeas.v1.SourceContext",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="cloud_repo",
            full_name="grafeas.v1.SourceContext.cloud_repo",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="gerrit",
            full_name="grafeas.v1.SourceContext.gerrit",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="git",
            full_name="grafeas.v1.SourceContext.git",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="labels",
            full_name="grafeas.v1.SourceContext.labels",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[_SOURCECONTEXT_LABELSENTRY],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="context",
            full_name="grafeas.v1.SourceContext.context",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=1134,
    serialized_end=1416,
)


_ALIASCONTEXT = _descriptor.Descriptor(
    name="AliasContext",
    full_name="grafeas.v1.AliasContext",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="kind",
            full_name="grafeas.v1.AliasContext.kind",
            index=0,
            number=1,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="name",
            full_name="grafeas.v1.AliasContext.name",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_ALIASCONTEXT_KIND],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1419,
    serialized_end=1557,
)


_CLOUDREPOSOURCECONTEXT = _descriptor.Descriptor(
    name="CloudRepoSourceContext",
    full_name="grafeas.v1.CloudRepoSourceContext",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="repo_id",
            full_name="grafeas.v1.CloudRepoSourceContext.repo_id",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="revision_id",
            full_name="grafeas.v1.CloudRepoSourceContext.revision_id",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="alias_context",
            full_name="grafeas.v1.CloudRepoSourceContext.alias_context",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="revision",
            full_name="grafeas.v1.CloudRepoSourceContext.revision",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=1560,
    serialized_end=1707,
)


_GERRITSOURCECONTEXT = _descriptor.Descriptor(
    name="GerritSourceContext",
    full_name="grafeas.v1.GerritSourceContext",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="host_uri",
            full_name="grafeas.v1.GerritSourceContext.host_uri",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="gerrit_project",
            full_name="grafeas.v1.GerritSourceContext.gerrit_project",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="revision_id",
            full_name="grafeas.v1.GerritSourceContext.revision_id",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="alias_context",
            full_name="grafeas.v1.GerritSourceContext.alias_context",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="revision",
            full_name="grafeas.v1.GerritSourceContext.revision",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=1710,
    serialized_end=1859,
)


_GITSOURCECONTEXT = _descriptor.Descriptor(
    name="GitSourceContext",
    full_name="grafeas.v1.GitSourceContext",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="url",
            full_name="grafeas.v1.GitSourceContext.url",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="revision_id",
            full_name="grafeas.v1.GitSourceContext.revision_id",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1861,
    serialized_end=1913,
)


_REPOID = _descriptor.Descriptor(
    name="RepoId",
    full_name="grafeas.v1.RepoId",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="project_repo_id",
            full_name="grafeas.v1.RepoId.project_repo_id",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="uid",
            full_name="grafeas.v1.RepoId.uid",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="id",
            full_name="grafeas.v1.RepoId.id",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=1915,
    serialized_end=1998,
)


_PROJECTREPOID = _descriptor.Descriptor(
    name="ProjectRepoId",
    full_name="grafeas.v1.ProjectRepoId",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="project_id",
            full_name="grafeas.v1.ProjectRepoId.project_id",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="repo_name",
            full_name="grafeas.v1.ProjectRepoId.repo_name",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2000,
    serialized_end=2054,
)

_BUILDPROVENANCE_BUILDOPTIONSENTRY.containing_type = _BUILDPROVENANCE
_BUILDPROVENANCE.fields_by_name["commands"].message_type = _COMMAND
_BUILDPROVENANCE.fields_by_name["built_artifacts"].message_type = _ARTIFACT
_BUILDPROVENANCE.fields_by_name[
    "create_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_BUILDPROVENANCE.fields_by_name[
    "start_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_BUILDPROVENANCE.fields_by_name[
    "end_time"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_BUILDPROVENANCE.fields_by_name["source_provenance"].message_type = _SOURCE
_BUILDPROVENANCE.fields_by_name[
    "build_options"
].message_type = _BUILDPROVENANCE_BUILDOPTIONSENTRY
_SOURCE_FILEHASHESENTRY.fields_by_name["value"].message_type = _FILEHASHES
_SOURCE_FILEHASHESENTRY.containing_type = _SOURCE
_SOURCE.fields_by_name["file_hashes"].message_type = _SOURCE_FILEHASHESENTRY
_SOURCE.fields_by_name["context"].message_type = _SOURCECONTEXT
_SOURCE.fields_by_name["additional_contexts"].message_type = _SOURCECONTEXT
_FILEHASHES.fields_by_name["file_hash"].message_type = _HASH
_SOURCECONTEXT_LABELSENTRY.containing_type = _SOURCECONTEXT
_SOURCECONTEXT.fields_by_name["cloud_repo"].message_type = _CLOUDREPOSOURCECONTEXT
_SOURCECONTEXT.fields_by_name["gerrit"].message_type = _GERRITSOURCECONTEXT
_SOURCECONTEXT.fields_by_name["git"].message_type = _GITSOURCECONTEXT
_SOURCECONTEXT.fields_by_name["labels"].message_type = _SOURCECONTEXT_LABELSENTRY
_SOURCECONTEXT.oneofs_by_name["context"].fields.append(
    _SOURCECONTEXT.fields_by_name["cloud_repo"]
)
_SOURCECONTEXT.fields_by_name[
    "cloud_repo"
].containing_oneof = _SOURCECONTEXT.oneofs_by_name["context"]
_SOURCECONTEXT.oneofs_by_name["context"].fields.append(
    _SOURCECONTEXT.fields_by_name["gerrit"]
)
_SOURCECONTEXT.fields_by_name[
    "gerrit"
].containing_oneof = _SOURCECONTEXT.oneofs_by_name["context"]
_SOURCECONTEXT.oneofs_by_name["context"].fields.append(
    _SOURCECONTEXT.fields_by_name["git"]
)
_SOURCECONTEXT.fields_by_name["git"].containing_oneof = _SOURCECONTEXT.oneofs_by_name[
    "context"
]
_ALIASCONTEXT.fields_by_name["kind"].enum_type = _ALIASCONTEXT_KIND
_ALIASCONTEXT_KIND.containing_type = _ALIASCONTEXT
_CLOUDREPOSOURCECONTEXT.fields_by_name["repo_id"].message_type = _REPOID
_CLOUDREPOSOURCECONTEXT.fields_by_name["alias_context"].message_type = _ALIASCONTEXT
_CLOUDREPOSOURCECONTEXT.oneofs_by_name["revision"].fields.append(
    _CLOUDREPOSOURCECONTEXT.fields_by_name["revision_id"]
)
_CLOUDREPOSOURCECONTEXT.fields_by_name[
    "revision_id"
].containing_oneof = _CLOUDREPOSOURCECONTEXT.oneofs_by_name["revision"]
_CLOUDREPOSOURCECONTEXT.oneofs_by_name["revision"].fields.append(
    _CLOUDREPOSOURCECONTEXT.fields_by_name["alias_context"]
)
_CLOUDREPOSOURCECONTEXT.fields_by_name[
    "alias_context"
].containing_oneof = _CLOUDREPOSOURCECONTEXT.oneofs_by_name["revision"]
_GERRITSOURCECONTEXT.fields_by_name["alias_context"].message_type = _ALIASCONTEXT
_GERRITSOURCECONTEXT.oneofs_by_name["revision"].fields.append(
    _GERRITSOURCECONTEXT.fields_by_name["revision_id"]
)
_GERRITSOURCECONTEXT.fields_by_name[
    "revision_id"
].containing_oneof = _GERRITSOURCECONTEXT.oneofs_by_name["revision"]
_GERRITSOURCECONTEXT.oneofs_by_name["revision"].fields.append(
    _GERRITSOURCECONTEXT.fields_by_name["alias_context"]
)
_GERRITSOURCECONTEXT.fields_by_name[
    "alias_context"
].containing_oneof = _GERRITSOURCECONTEXT.oneofs_by_name["revision"]
_REPOID.fields_by_name["project_repo_id"].message_type = _PROJECTREPOID
_REPOID.oneofs_by_name["id"].fields.append(_REPOID.fields_by_name["project_repo_id"])
_REPOID.fields_by_name["project_repo_id"].containing_oneof = _REPOID.oneofs_by_name[
    "id"
]
_REPOID.oneofs_by_name["id"].fields.append(_REPOID.fields_by_name["uid"])
_REPOID.fields_by_name["uid"].containing_oneof = _REPOID.oneofs_by_name["id"]
DESCRIPTOR.message_types_by_name["BuildProvenance"] = _BUILDPROVENANCE
DESCRIPTOR.message_types_by_name["Source"] = _SOURCE
DESCRIPTOR.message_types_by_name["FileHashes"] = _FILEHASHES
DESCRIPTOR.message_types_by_name["Hash"] = _HASH
DESCRIPTOR.message_types_by_name["Command"] = _COMMAND
DESCRIPTOR.message_types_by_name["Artifact"] = _ARTIFACT
DESCRIPTOR.message_types_by_name["SourceContext"] = _SOURCECONTEXT
DESCRIPTOR.message_types_by_name["AliasContext"] = _ALIASCONTEXT
DESCRIPTOR.message_types_by_name["CloudRepoSourceContext"] = _CLOUDREPOSOURCECONTEXT
DESCRIPTOR.message_types_by_name["GerritSourceContext"] = _GERRITSOURCECONTEXT
DESCRIPTOR.message_types_by_name["GitSourceContext"] = _GITSOURCECONTEXT
DESCRIPTOR.message_types_by_name["RepoId"] = _REPOID
DESCRIPTOR.message_types_by_name["ProjectRepoId"] = _PROJECTREPOID
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BuildProvenance = _reflection.GeneratedProtocolMessageType(
    "BuildProvenance",
    (_message.Message,),
    dict(
        BuildOptionsEntry=_reflection.GeneratedProtocolMessageType(
            "BuildOptionsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_BUILDPROVENANCE_BUILDOPTIONSENTRY,
                __module__="grafeas_v1.proto.provenance_pb2"
                # @@protoc_insertion_point(class_scope:grafeas.v1.BuildProvenance.BuildOptionsEntry)
            ),
        ),
        DESCRIPTOR=_BUILDPROVENANCE,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Provenance of a build. Contains all information needed to verify the
  full details about the build from source to completion.
  
  
  Attributes:
      id:
          Required. Unique identifier of the build.
      project_id:
          ID of the project.
      commands:
          Commands requested by the build.
      built_artifacts:
          Output of the build.
      create_time:
          Time at which the build was created.
      start_time:
          Time at which execution of the build was started.
      end_time:
          Time at which execution of the build was finished.
      creator:
          E-mail address of the user who initiated this build. Note that
          this was the user's e-mail address at the time the build was
          initiated; this address may not represent the same end-user
          for all time.
      logs_uri:
          URI where any logs for this provenance were written.
      source_provenance:
          Details of the Source input to the build.
      trigger_id:
          Trigger identifier if the build was triggered automatically;
          empty if not.
      build_options:
          Special options applied to this build. This is a catch-all
          field where build providers can enter any desired additional
          details.
      builder_version:
          Version string of the builder at the time this build was
          executed.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.BuildProvenance)
    ),
)
_sym_db.RegisterMessage(BuildProvenance)
_sym_db.RegisterMessage(BuildProvenance.BuildOptionsEntry)

Source = _reflection.GeneratedProtocolMessageType(
    "Source",
    (_message.Message,),
    dict(
        FileHashesEntry=_reflection.GeneratedProtocolMessageType(
            "FileHashesEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_SOURCE_FILEHASHESENTRY,
                __module__="grafeas_v1.proto.provenance_pb2"
                # @@protoc_insertion_point(class_scope:grafeas.v1.Source.FileHashesEntry)
            ),
        ),
        DESCRIPTOR=_SOURCE,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Source describes the location of the source used for the build.
  
  
  Attributes:
      artifact_storage_source_uri:
          If provided, the input binary artifacts for the build came
          from this location.
      file_hashes:
          Hash(es) of the build source, which can be used to verify that
          the original source integrity was maintained in the build.
          The keys to this map are file paths used as build source and
          the values contain the hash values for those files.  If the
          build source came in a single package such as a gzipped
          tarfile (.tar.gz), the FileHash will be for the single path to
          that file.
      context:
          If provided, the source code used for the build came from this
          location.
      additional_contexts:
          If provided, some of the source code used for the build may be
          found in these locations, in the case where the source
          repository had multiple remotes or submodules. This list will
          not include the context specified in the context field.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.Source)
    ),
)
_sym_db.RegisterMessage(Source)
_sym_db.RegisterMessage(Source.FileHashesEntry)

FileHashes = _reflection.GeneratedProtocolMessageType(
    "FileHashes",
    (_message.Message,),
    dict(
        DESCRIPTOR=_FILEHASHES,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Container message for hashes of byte content of files, used in source
  messages to verify integrity of source input to the build.
  
  
  Attributes:
      file_hash:
          Required. Collection of file hashes.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.FileHashes)
    ),
)
_sym_db.RegisterMessage(FileHashes)

Hash = _reflection.GeneratedProtocolMessageType(
    "Hash",
    (_message.Message,),
    dict(
        DESCRIPTOR=_HASH,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Container message for hash values.
  
  
  Attributes:
      type:
          Required. The type of hash that was performed, e.g. "SHA-256".
      value:
          Required. The hash value.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.Hash)
    ),
)
_sym_db.RegisterMessage(Hash)

Command = _reflection.GeneratedProtocolMessageType(
    "Command",
    (_message.Message,),
    dict(
        DESCRIPTOR=_COMMAND,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Command describes a step performed as part of the build pipeline.
  
  
  Attributes:
      name:
          Required. Name of the command, as presented on the command
          line, or if the command is packaged as a Docker container, as
          presented to ``docker pull``.
      env:
          Environment variables set before running this command.
      args:
          Command-line arguments used when executing this command.
      dir:
          Working directory (relative to project source root) used when
          running this command.
      id:
          Optional unique identifier for this command, used in wait\_for
          to reference this command as a dependency.
      wait_for:
          The ID(s) of the command(s) that this command depends on.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.Command)
    ),
)
_sym_db.RegisterMessage(Command)

Artifact = _reflection.GeneratedProtocolMessageType(
    "Artifact",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ARTIFACT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Artifact describes a build product.
  
  
  Attributes:
      checksum:
          Hash or checksum value of a binary, or Docker Registry 2.0
          digest of a container.
      id:
          Artifact ID, if any; for container images, this will be a URL
          by digest like ``gcr.io/projectID/imagename@sha256:123456``.
      names:
          Related artifact names. This may be the path to a binary or
          jar file, or in the case of a container build, the name used
          to push the container image to Google Container Registry, as
          presented to ``docker push``. Note that a single Artifact ID
          can have multiple names, for example if two tags are applied
          to one image.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.Artifact)
    ),
)
_sym_db.RegisterMessage(Artifact)

SourceContext = _reflection.GeneratedProtocolMessageType(
    "SourceContext",
    (_message.Message,),
    dict(
        LabelsEntry=_reflection.GeneratedProtocolMessageType(
            "LabelsEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_SOURCECONTEXT_LABELSENTRY,
                __module__="grafeas_v1.proto.provenance_pb2"
                # @@protoc_insertion_point(class_scope:grafeas.v1.SourceContext.LabelsEntry)
            ),
        ),
        DESCRIPTOR=_SOURCECONTEXT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""A SourceContext is a reference to a tree of files. A SourceContext
  together with a path point to a unique revision of a single file or
  directory.
  
  
  Attributes:
      context:
          A SourceContext can refer any one of the following types of
          repositories.
      cloud_repo:
          A SourceContext referring to a revision in a Google Cloud
          Source Repo.
      gerrit:
          A SourceContext referring to a Gerrit project.
      git:
          A SourceContext referring to any third party Git repo (e.g.,
          GitHub).
      labels:
          Labels with user defined metadata.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.SourceContext)
    ),
)
_sym_db.RegisterMessage(SourceContext)
_sym_db.RegisterMessage(SourceContext.LabelsEntry)

AliasContext = _reflection.GeneratedProtocolMessageType(
    "AliasContext",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ALIASCONTEXT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""An alias to a repo revision.
  
  
  Attributes:
      kind:
          The alias kind.
      name:
          The alias name.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.AliasContext)
    ),
)
_sym_db.RegisterMessage(AliasContext)

CloudRepoSourceContext = _reflection.GeneratedProtocolMessageType(
    "CloudRepoSourceContext",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CLOUDREPOSOURCECONTEXT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""A CloudRepoSourceContext denotes a particular revision in a Google Cloud
  Source Repo.
  
  
  Attributes:
      repo_id:
          The ID of the repo.
      revision:
          A revision in a Cloud Repo can be identified by either its
          revision ID or its alias.
      revision_id:
          A revision ID.
      alias_context:
          An alias, which may be a branch or tag.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.CloudRepoSourceContext)
    ),
)
_sym_db.RegisterMessage(CloudRepoSourceContext)

GerritSourceContext = _reflection.GeneratedProtocolMessageType(
    "GerritSourceContext",
    (_message.Message,),
    dict(
        DESCRIPTOR=_GERRITSOURCECONTEXT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""A SourceContext referring to a Gerrit project.
  
  
  Attributes:
      host_uri:
          The URI of a running Gerrit instance.
      gerrit_project:
          The full project name within the host. Projects may be nested,
          so "project/subproject" is a valid project name. The "repo
          name" is the hostURI/project.
      revision:
          A revision in a Gerrit project can be identified by either its
          revision ID or its alias.
      revision_id:
          A revision (commit) ID.
      alias_context:
          An alias, which may be a branch or tag.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.GerritSourceContext)
    ),
)
_sym_db.RegisterMessage(GerritSourceContext)

GitSourceContext = _reflection.GeneratedProtocolMessageType(
    "GitSourceContext",
    (_message.Message,),
    dict(
        DESCRIPTOR=_GITSOURCECONTEXT,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""A GitSourceContext denotes a particular revision in a third party Git
  repository (e.g., GitHub).
  
  
  Attributes:
      url:
          Git repository URL.
      revision_id:
          Git commit hash.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.GitSourceContext)
    ),
)
_sym_db.RegisterMessage(GitSourceContext)

RepoId = _reflection.GeneratedProtocolMessageType(
    "RepoId",
    (_message.Message,),
    dict(
        DESCRIPTOR=_REPOID,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""A unique identifier for a Cloud Repo.
  
  
  Attributes:
      id:
          A cloud repo can be identified by either its project ID and
          repository name combination, or its globally unique
          identifier.
      project_repo_id:
          A combination of a project ID and a repo name.
      uid:
          A server-assigned, globally unique identifier.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.RepoId)
    ),
)
_sym_db.RegisterMessage(RepoId)

ProjectRepoId = _reflection.GeneratedProtocolMessageType(
    "ProjectRepoId",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PROJECTREPOID,
        __module__="grafeas_v1.proto.provenance_pb2",
        __doc__="""Selects a repo using a Google Cloud Platform project ID (e.g.,
  winged-cargo-31) and a repo name within that project.
  
  
  Attributes:
      project_id:
          The ID of the project.
      repo_name:
          The name of the repo. Leave empty for the default repo.
  """,
        # @@protoc_insertion_point(class_scope:grafeas.v1.ProjectRepoId)
    ),
)
_sym_db.RegisterMessage(ProjectRepoId)


DESCRIPTOR._options = None
_BUILDPROVENANCE_BUILDOPTIONSENTRY._options = None
_SOURCE_FILEHASHESENTRY._options = None
_SOURCECONTEXT_LABELSENTRY._options = None
# @@protoc_insertion_point(module_scope)
