# Path: grafeas/grafeas_v1/types/attestation.py
# class AttestationNote(proto.Message):
#     class Hint(proto.Message):
# class Jwt(proto.Message):
# class AttestationOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/build.py
# class BuildNote(proto.Message):
# class BuildOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/common.py
# class NoteKind(proto.Enum):
# class RelatedUrl(proto.Message):
# class Signature(proto.Message):
# class Envelope(proto.Message):
# class EnvelopeSignature(proto.Message):
#     NOTE_KIND_UNSPECIFIED = 0
#     VULNERABILITY = 1
#     BUILD = 2
#     IMAGE = 3
#     PACKAGE = 4
#     DEPLOYMENT = 5
#     DISCOVERY = 6
#     ATTESTATION = 7
#     UPGRADE = 8
#     COMPLIANCE = 9
#     DSSE_ATTESTATION = 10
# 
# Path: grafeas/grafeas_v1/types/compliance.py
# class ComplianceNote(proto.Message):
#     class CisBenchmark(proto.Message):
# class ComplianceVersion(proto.Message):
# class ComplianceOccurrence(proto.Message):
# class NonCompliantFile(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/deployment.py
# class DeploymentNote(proto.Message):
# class DeploymentOccurrence(proto.Message):
#     class Platform(proto.Enum):
#         PLATFORM_UNSPECIFIED = 0
#         GKE = 1
#         FLEX = 2
#         CUSTOM = 3
# 
# Path: grafeas/grafeas_v1/types/discovery.py
# class DiscoveryNote(proto.Message):
# class DiscoveryOccurrence(proto.Message):
#     class ContinuousAnalysis(proto.Enum):
#     class AnalysisStatus(proto.Enum):
#         CONTINUOUS_ANALYSIS_UNSPECIFIED = 0
#         ACTIVE = 1
#         INACTIVE = 2
#         ANALYSIS_STATUS_UNSPECIFIED = 0
#         PENDING = 1
#         SCANNING = 2
#         FINISHED_SUCCESS = 3
#         FINISHED_FAILED = 4
#         FINISHED_UNSUPPORTED = 5
# 
# Path: grafeas/grafeas_v1/types/dsse_attestation.py
# class DSSEAttestationNote(proto.Message):
#     class DSSEHint(proto.Message):
# class DSSEAttestationOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/image.py
# class Layer(proto.Message):
# class Fingerprint(proto.Message):
# class ImageNote(proto.Message):
# class ImageOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/package.py
# class Architecture(proto.Enum):
# class Distribution(proto.Message):
# class Location(proto.Message):
# class PackageNote(proto.Message):
# class PackageOccurrence(proto.Message):
# class Version(proto.Message):
#     class VersionKind(proto.Enum):
#     ARCHITECTURE_UNSPECIFIED = 0
#     X86 = 1
#     X64 = 2
#         VERSION_KIND_UNSPECIFIED = 0
#         NORMAL = 1
#         MINIMUM = 2
#         MAXIMUM = 3
# 
# Path: grafeas/grafeas_v1/types/upgrade.py
# class UpgradeNote(proto.Message):
# class UpgradeDistribution(proto.Message):
# class WindowsUpdate(proto.Message):
#     class Identity(proto.Message):
#     class Category(proto.Message):
# class UpgradeOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/vulnerability.py
# class VulnerabilityNote(proto.Message):
#     class Detail(proto.Message):
#     class WindowsDetail(proto.Message):
#         class KnowledgeBase(proto.Message):
# class VulnerabilityOccurrence(proto.Message):
#     class PackageIssue(proto.Message):


import proto  # type: ignore
from google.protobuf import field_mask_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore
from grafeas.grafeas_v1.types import attestation as g_attestation
from grafeas.grafeas_v1.types import build as g_build
from grafeas.grafeas_v1.types import common
from grafeas.grafeas_v1.types import compliance as g_compliance
from grafeas.grafeas_v1.types import deployment as g_deployment
from grafeas.grafeas_v1.types import discovery as g_discovery
from grafeas.grafeas_v1.types import dsse_attestation as g_dsse_attestation
from grafeas.grafeas_v1.types import image as g_image
from grafeas.grafeas_v1.types import package as g_package
from grafeas.grafeas_v1.types import upgrade as g_upgrade
from grafeas.grafeas_v1.types import vulnerability as g_vulnerability
    update_time = proto.Field(proto.MESSAGE, number=8, message=timestamp_pb2.Timestamp,)
    related_note_names = proto.RepeatedField(proto.STRING, number=9,)
    vulnerability = proto.Field(
        proto.MESSAGE,
        number=10,
        oneof="type",
        message=g_vulnerability.VulnerabilityNote,
    )
    build = proto.Field(
        proto.MESSAGE, number=11, oneof="type", message=g_build.BuildNote,
    )
    image = proto.Field(
        proto.MESSAGE, number=12, oneof="type", message=g_image.ImageNote,
    )
    package = proto.Field(
        proto.MESSAGE, number=13, oneof="type", message=g_package.PackageNote,
    )
    deployment = proto.Field(
        proto.MESSAGE, number=14, oneof="type", message=g_deployment.DeploymentNote,
    )
    discovery = proto.Field(
        proto.MESSAGE, number=15, oneof="type", message=g_discovery.DiscoveryNote,
    )
    attestation = proto.Field(
        proto.MESSAGE, number=16, oneof="type", message=g_attestation.AttestationNote,
    )
    upgrade = proto.Field(
        proto.MESSAGE, number=17, oneof="type", message=g_upgrade.UpgradeNote,
    )
    compliance = proto.Field(

# Path: grafeas/grafeas_v1/types/attestation.py
# class AttestationNote(proto.Message):
#     class Hint(proto.Message):
# class Jwt(proto.Message):
# class AttestationOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/build.py
# class BuildNote(proto.Message):
# class BuildOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/common.py
# class NoteKind(proto.Enum):
# class RelatedUrl(proto.Message):
# class Signature(proto.Message):
# class Envelope(proto.Message):
# class EnvelopeSignature(proto.Message):
#     NOTE_KIND_UNSPECIFIED = 0
#     VULNERABILITY = 1
#     BUILD = 2
#     IMAGE = 3
#     PACKAGE = 4
#     DEPLOYMENT = 5
#     DISCOVERY = 6
#     ATTESTATION = 7
#     UPGRADE = 8
#     COMPLIANCE = 9
#     DSSE_ATTESTATION = 10
# 
# Path: grafeas/grafeas_v1/types/compliance.py
# class ComplianceNote(proto.Message):
#     class CisBenchmark(proto.Message):
# class ComplianceVersion(proto.Message):
# class ComplianceOccurrence(proto.Message):
# class NonCompliantFile(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/deployment.py
# class DeploymentNote(proto.Message):
# class DeploymentOccurrence(proto.Message):
#     class Platform(proto.Enum):
#         PLATFORM_UNSPECIFIED = 0
#         GKE = 1
#         FLEX = 2
#         CUSTOM = 3
# 
# Path: grafeas/grafeas_v1/types/discovery.py
# class DiscoveryNote(proto.Message):
# class DiscoveryOccurrence(proto.Message):
#     class ContinuousAnalysis(proto.Enum):
#     class AnalysisStatus(proto.Enum):
#         CONTINUOUS_ANALYSIS_UNSPECIFIED = 0
#         ACTIVE = 1
#         INACTIVE = 2
#         ANALYSIS_STATUS_UNSPECIFIED = 0
#         PENDING = 1
#         SCANNING = 2
#         FINISHED_SUCCESS = 3
#         FINISHED_FAILED = 4
#         FINISHED_UNSUPPORTED = 5
# 
# Path: grafeas/grafeas_v1/types/dsse_attestation.py
# class DSSEAttestationNote(proto.Message):
#     class DSSEHint(proto.Message):
# class DSSEAttestationOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/image.py
# class Layer(proto.Message):
# class Fingerprint(proto.Message):
# class ImageNote(proto.Message):
# class ImageOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/package.py
# class Architecture(proto.Enum):
# class Distribution(proto.Message):
# class Location(proto.Message):
# class PackageNote(proto.Message):
# class PackageOccurrence(proto.Message):
# class Version(proto.Message):
#     class VersionKind(proto.Enum):
#     ARCHITECTURE_UNSPECIFIED = 0
#     X86 = 1
#     X64 = 2
#         VERSION_KIND_UNSPECIFIED = 0
#         NORMAL = 1
#         MINIMUM = 2
#         MAXIMUM = 3
# 
# Path: grafeas/grafeas_v1/types/upgrade.py
# class UpgradeNote(proto.Message):
# class UpgradeDistribution(proto.Message):
# class WindowsUpdate(proto.Message):
#     class Identity(proto.Message):
#     class Category(proto.Message):
# class UpgradeOccurrence(proto.Message):
# 
# Path: grafeas/grafeas_v1/types/vulnerability.py
# class VulnerabilityNote(proto.Message):
#     class Detail(proto.Message):
#     class WindowsDetail(proto.Message):
#         class KnowledgeBase(proto.Message):
# class VulnerabilityOccurrence(proto.Message):
#     class PackageIssue(proto.Message):


# Path: grafeas/grafeas_v1/types/grafeas.py
import proto  # type: ignore
from google.protobuf import field_mask_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore
from grafeas.grafeas_v1.types import attestation as g_attestation
from grafeas.grafeas_v1.types import build as g_build
from grafeas.grafeas_v1.types import common
from grafeas.grafeas_v1.types import compliance as g_compliance
from grafeas.grafeas_v1.types import deployment as g_deployment
from grafeas.grafeas_v1.types import discovery as g_discovery
from grafeas.grafeas_v1.types import dsse_attestation as g_dsse_attestation
from grafeas.grafeas_v1.types import image as g_image
from grafeas.grafeas_v1.types import package as g_package
from grafeas.grafeas_v1.types import upgrade as g_upgrade
from grafeas.grafeas_v1.types import vulnerability as g_vulnerability

    update_time = proto.Field(proto.MESSAGE, number=8, message=timestamp_pb2.Timestamp,)
    related_note_names = proto.RepeatedField(proto.STRING, number=9,)
    vulnerability = proto.Field(
        proto.MESSAGE,
        number=10,
        oneof="type",
        message=g_vulnerability.VulnerabilityNote,
    )
    build = proto.Field(
        proto.MESSAGE, number=11, oneof="type", message=g_build.BuildNote,
    )
    image = proto.Field(
        proto.MESSAGE, number=12, oneof="type", message=g_image.ImageNote,
    )
    package = proto.Field(
        proto.MESSAGE, number=13, oneof="type", message=g_package.PackageNote,
    )
    deployment = proto.Field(
        proto.MESSAGE, number=14, oneof="type", message=g_deployment.DeploymentNote,
    )
    discovery = proto.Field(
        proto.MESSAGE, number=15, oneof="type", message=g_discovery.DiscoveryNote,
    )
    attestation = proto.Field(
        proto.MESSAGE, number=16, oneof="type", message=g_attestation.AttestationNote,
    )
    upgrade = proto.Field(
        proto.MESSAGE, number=17, oneof="type", message=g_upgrade.UpgradeNote,
    )
    compliance = proto.Field(

        proto.MESSAGE, number=18, oneof="type", message=g_compliance.ComplianceNote,