# frozen_string_literal: true # Copyright 2021 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 # # https://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. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Grafeas module V1 # @!attribute [rw] builder # @return [::Grafeas::V1::SlsaProvenance::SlsaBuilder] # @!attribute [rw] recipe # @return [::Grafeas::V1::SlsaProvenance::SlsaRecipe] # Identifies the configuration used for the build. # When combined with materials, this SHOULD fully describe the build, # such that re-running this recipe results in bit-for-bit identical output # (if the build is reproducible). # @!attribute [rw] metadata # @return [::Grafeas::V1::SlsaProvenance::SlsaMetadata] # @!attribute [rw] materials # @return [::Array<::Grafeas::V1::SlsaProvenance::Material>] # The collection of artifacts that influenced the build including sources, # dependencies, build tools, base images, and so on. This is considered to be # incomplete unless metadata.completeness.materials is true. Unset or null is # equivalent to empty. class SlsaProvenance include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Steps taken to build the artifact. # For a TaskRun, typically each container corresponds to one step in the # recipe. # @!attribute [rw] type # @return [::String] # URI indicating what type of recipe was performed. It determines the # meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and # materials. # @!attribute [rw] defined_in_material # @return [::Integer] # Index in materials containing the recipe steps that are not implied by # recipe.type. For example, if the recipe type were "make", then this would # point to the source containing the Makefile, not the make program itself. # Set to -1 if the recipe doesn't come from a material, as zero is default # unset value for int64. # @!attribute [rw] entry_point # @return [::String] # String identifying the entry point into the build. # This is often a path to a configuration file and/or a target label within # that file. The syntax and meaning are defined by recipe.type. For # example, if the recipe type were "make", then this would reference the # directory in which to run make as well as which target to use. # @!attribute [rw] arguments # @return [::Google::Protobuf::Any] # Collection of all external inputs that influenced the build on top of # recipe.definedInMaterial and recipe.entryPoint. For example, if the # recipe type were "make", then this might be the flags passed to make # aside from the target, which is captured in recipe.entryPoint. Depending # on the recipe Type, the structure may be different. # @!attribute [rw] environment # @return [::Google::Protobuf::Any] # Any other builder-controlled inputs necessary for correctly evaluating # the recipe. Usually only needed for reproducing the build but not # evaluated as part of policy. Depending on the recipe Type, the structure # may be different. class SlsaRecipe include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Indicates that the builder claims certain fields in this message to be # complete. # @!attribute [rw] arguments # @return [::Boolean] # If true, the builder claims that recipe.arguments is complete, meaning # that all external inputs are properly captured in the recipe. # @!attribute [rw] environment # @return [::Boolean] # If true, the builder claims that recipe.environment is claimed to be # complete. # @!attribute [rw] materials # @return [::Boolean] # If true, the builder claims that materials are complete, usually through # some controls to prevent network access. Sometimes called "hermetic". class SlsaCompleteness include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Other properties of the build. # @!attribute [rw] build_invocation_id # @return [::String] # Identifies the particular build invocation, which can be useful for # finding associated logs or other ad-hoc analysis. The value SHOULD be # globally unique, per in-toto Provenance spec. # @!attribute [rw] build_started_on # @return [::Google::Protobuf::Timestamp] # The timestamp of when the build started. # @!attribute [rw] build_finished_on # @return [::Google::Protobuf::Timestamp] # The timestamp of when the build completed. # @!attribute [rw] completeness # @return [::Grafeas::V1::SlsaProvenance::SlsaCompleteness] # Indicates that the builder claims certain fields in this message to be # complete. # @!attribute [rw] reproducible # @return [::Boolean] # If true, the builder claims that running the recipe on materials will # produce bit-for-bit identical output. class SlsaMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] id # @return [::String] class SlsaBuilder include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] uri # @return [::String] # @!attribute [rw] digest # @return [::Google::Protobuf::Map{::String => ::String}] class Material include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class DigestEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end