As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Source code for grafeas.grafeas_v1.types.sbom

# -*- coding: utf-8 -*-
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from __future__ import annotations

from typing import MutableMapping, MutableSequence

import proto  # type: ignore

from grafeas.grafeas_v1.types import common, intoto_statement

__protobuf__ = proto.module(
    package="grafeas.v1",
    manifest={
        "SBOMReferenceNote",
        "SBOMReferenceOccurrence",
        "SbomReferenceIntotoPayload",
        "SbomReferenceIntotoPredicate",
    },
)


[docs]class SBOMReferenceNote(proto.Message): r"""The note representing an SBOM reference. Attributes: format_ (str): The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... version (str): The version of the format that the SBOM takes. E.g. if the format is spdx, the version may be 2.3. """ format_: str = proto.Field( proto.STRING, number=1, ) version: str = proto.Field( proto.STRING, number=2, )
[docs]class SBOMReferenceOccurrence(proto.Message): r"""The occurrence representing an SBOM reference as applied to a specific resource. The occurrence follows the DSSE specification. See https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more details. Attributes: payload (grafeas.grafeas_v1.types.SbomReferenceIntotoPayload): The actual payload that contains the SBOM reference data. payload_type (str): The kind of payload that SbomReferenceIntotoPayload takes. Since it's in the intoto format, this value is expected to be 'application/vnd.in-toto+json'. signatures (MutableSequence[grafeas.grafeas_v1.types.EnvelopeSignature]): The signatures over the payload. """ payload: "SbomReferenceIntotoPayload" = proto.Field( proto.MESSAGE, number=1, message="SbomReferenceIntotoPayload", ) payload_type: str = proto.Field( proto.STRING, number=2, ) signatures: MutableSequence[common.EnvelopeSignature] = proto.RepeatedField( proto.MESSAGE, number=3, message=common.EnvelopeSignature, )
[docs]class SbomReferenceIntotoPayload(proto.Message): r"""The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details. Attributes: type_ (str): Identifier for the schema of the Statement. predicate_type (str): URI identifying the type of the Predicate. subject (MutableSequence[grafeas.grafeas_v1.types.Subject]): Set of software artifacts that the attestation applies to. Each element represents a single software artifact. predicate (grafeas.grafeas_v1.types.SbomReferenceIntotoPredicate): Additional parameters of the Predicate. Includes the actual data about the SBOM. """ type_: str = proto.Field( proto.STRING, number=1, ) predicate_type: str = proto.Field( proto.STRING, number=2, ) subject: MutableSequence[intoto_statement.Subject] = proto.RepeatedField( proto.MESSAGE, number=3, message=intoto_statement.Subject, ) predicate: "SbomReferenceIntotoPredicate" = proto.Field( proto.MESSAGE, number=4, message="SbomReferenceIntotoPredicate", )
[docs]class SbomReferenceIntotoPredicate(proto.Message): r"""A predicate which describes the SBOM being referenced. Attributes: referrer_id (str): The person or system referring this predicate to the consumer. location (str): The location of the SBOM. mime_type (str): The mime type of the SBOM. digest (MutableMapping[str, str]): A map of algorithm to digest of the contents of the SBOM. """ referrer_id: str = proto.Field( proto.STRING, number=1, ) location: str = proto.Field( proto.STRING, number=2, ) mime_type: str = proto.Field( proto.STRING, number=3, ) digest: MutableMapping[str, str] = proto.MapField( proto.STRING, proto.STRING, number=4, )
__all__ = tuple(sorted(__protobuf__.manifest))