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.slsa_provenance_zero_two
# -*- 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
from google.protobuf import struct_pb2 # type: ignore
from google.protobuf import timestamp_pb2 # type: ignore
import proto # type: ignore
__protobuf__ = proto.module(
package="grafeas.v1",
manifest={
"SlsaProvenanceZeroTwo",
},
)
[docs]class SlsaProvenanceZeroTwo(proto.Message):
r"""See full explanation of fields at slsa.dev/provenance/v0.2.
Attributes:
builder (grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaBuilder):
build_type (str):
invocation (grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaInvocation):
build_config (google.protobuf.struct_pb2.Struct):
metadata (grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaMetadata):
materials (MutableSequence[grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaMaterial]):
"""
[docs] class SlsaBuilder(proto.Message):
r"""Identifies the entity that executed the recipe, which is
trusted to have correctly performed the operation and populated
this provenance.
Attributes:
id (str):
"""
id: str = proto.Field(
proto.STRING,
number=1,
)
[docs] class SlsaMaterial(proto.Message):
r"""The collection of artifacts that influenced the build
including sources, dependencies, build tools, base images, and
so on.
Attributes:
uri (str):
digest (MutableMapping[str, str]):
"""
uri: str = proto.Field(
proto.STRING,
number=1,
)
digest: MutableMapping[str, str] = proto.MapField(
proto.STRING,
proto.STRING,
number=2,
)
[docs] class SlsaInvocation(proto.Message):
r"""Identifies the event that kicked off the build.
Attributes:
config_source (grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaConfigSource):
parameters (google.protobuf.struct_pb2.Struct):
environment (google.protobuf.struct_pb2.Struct):
"""
config_source: "SlsaProvenanceZeroTwo.SlsaConfigSource" = proto.Field(
proto.MESSAGE,
number=1,
message="SlsaProvenanceZeroTwo.SlsaConfigSource",
)
parameters: struct_pb2.Struct = proto.Field(
proto.MESSAGE,
number=2,
message=struct_pb2.Struct,
)
environment: struct_pb2.Struct = proto.Field(
proto.MESSAGE,
number=3,
message=struct_pb2.Struct,
)
[docs] class SlsaConfigSource(proto.Message):
r"""Describes where the config file that kicked off the build
came from. This is effectively a pointer to the source where
buildConfig came from.
Attributes:
uri (str):
digest (MutableMapping[str, str]):
entry_point (str):
"""
uri: str = proto.Field(
proto.STRING,
number=1,
)
digest: MutableMapping[str, str] = proto.MapField(
proto.STRING,
proto.STRING,
number=2,
)
entry_point: str = proto.Field(
proto.STRING,
number=3,
)
[docs] class SlsaMetadata(proto.Message):
r"""Other properties of the build.
Attributes:
build_invocation_id (str):
build_started_on (google.protobuf.timestamp_pb2.Timestamp):
build_finished_on (google.protobuf.timestamp_pb2.Timestamp):
completeness (grafeas.grafeas_v1.types.SlsaProvenanceZeroTwo.SlsaCompleteness):
reproducible (bool):
"""
build_invocation_id: str = proto.Field(
proto.STRING,
number=1,
)
build_started_on: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=2,
message=timestamp_pb2.Timestamp,
)
build_finished_on: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=3,
message=timestamp_pb2.Timestamp,
)
completeness: "SlsaProvenanceZeroTwo.SlsaCompleteness" = proto.Field(
proto.MESSAGE,
number=4,
message="SlsaProvenanceZeroTwo.SlsaCompleteness",
)
reproducible: bool = proto.Field(
proto.BOOL,
number=5,
)
[docs] class SlsaCompleteness(proto.Message):
r"""Indicates that the builder claims certain fields in this
message to be complete.
Attributes:
parameters (bool):
environment (bool):
materials (bool):
"""
parameters: bool = proto.Field(
proto.BOOL,
number=1,
)
environment: bool = proto.Field(
proto.BOOL,
number=2,
)
materials: bool = proto.Field(
proto.BOOL,
number=3,
)
builder: SlsaBuilder = proto.Field(
proto.MESSAGE,
number=1,
message=SlsaBuilder,
)
build_type: str = proto.Field(
proto.STRING,
number=2,
)
invocation: SlsaInvocation = proto.Field(
proto.MESSAGE,
number=3,
message=SlsaInvocation,
)
build_config: struct_pb2.Struct = proto.Field(
proto.MESSAGE,
number=4,
message=struct_pb2.Struct,
)
metadata: SlsaMetadata = proto.Field(
proto.MESSAGE,
number=5,
message=SlsaMetadata,
)
materials: MutableSequence[SlsaMaterial] = proto.RepeatedField(
proto.MESSAGE,
number=6,
message=SlsaMaterial,
)
__all__ = tuple(sorted(__protobuf__.manifest))