public RepeatedField<SlsaProvenance.Types.Material> Materials { get; }
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.
public SlsaProvenance.Types.SlsaRecipe Recipe { get; set; }
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).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe latest version of \u003ccode\u003eSlsaProvenance\u003c/code\u003e is 3.7.0, which is part of the \u003ccode\u003eGrafeas.V1\u003c/code\u003e namespace and is documented within the .NET documentation.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSlsaProvenance\u003c/code\u003e is a sealed class that implements multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its role in data management and comparison.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSlsaProvenance\u003c/code\u003e class has properties such as \u003ccode\u003eBuilder\u003c/code\u003e, \u003ccode\u003eMaterials\u003c/code\u003e, \u003ccode\u003eMetadata\u003c/code\u003e, and \u003ccode\u003eRecipe\u003c/code\u003e, which store details about the build's configuration, influencing artifacts, and metadata.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMaterials\u003c/code\u003e property within \u003ccode\u003eSlsaProvenance\u003c/code\u003e is a collection that includes details on sources, dependencies, build tools, and base images, playing a role in describing the build.\u003c/p\u003e\n"],["\u003cp\u003eThere are multiple versions of \u003ccode\u003eSlsaProvenance\u003c/code\u003e available, ranging from version 2.2.0 up to the latest 3.7.0.\u003c/p\u003e\n"]]],[],null,["# Grafeas v1 API - Class SlsaProvenance (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance)\n- [3.8.0](/dotnet/docs/reference/Grafeas.V1/3.8.0/Grafeas.V1.SlsaProvenance)\n- [3.7.0](/dotnet/docs/reference/Grafeas.V1/3.7.0/Grafeas.V1.SlsaProvenance)\n- [3.6.0](/dotnet/docs/reference/Grafeas.V1/3.6.0/Grafeas.V1.SlsaProvenance)\n- [3.5.0](/dotnet/docs/reference/Grafeas.V1/3.5.0/Grafeas.V1.SlsaProvenance)\n- [3.4.0](/dotnet/docs/reference/Grafeas.V1/3.4.0/Grafeas.V1.SlsaProvenance)\n- [3.3.0](/dotnet/docs/reference/Grafeas.V1/3.3.0/Grafeas.V1.SlsaProvenance)\n- [3.2.0](/dotnet/docs/reference/Grafeas.V1/3.2.0/Grafeas.V1.SlsaProvenance)\n- [3.1.0](/dotnet/docs/reference/Grafeas.V1/3.1.0/Grafeas.V1.SlsaProvenance)\n- [3.0.0](/dotnet/docs/reference/Grafeas.V1/3.0.0/Grafeas.V1.SlsaProvenance)\n- [2.4.0](/dotnet/docs/reference/Grafeas.V1/2.4.0/Grafeas.V1.SlsaProvenance)\n- [2.3.0](/dotnet/docs/reference/Grafeas.V1/2.3.0/Grafeas.V1.SlsaProvenance)\n- [2.2.0](/dotnet/docs/reference/Grafeas.V1/2.2.0/Grafeas.V1.SlsaProvenance) \n\n public sealed class SlsaProvenance : IMessage\u003cSlsaProvenance\u003e, IEquatable\u003cSlsaProvenance\u003e, IDeepCloneable\u003cSlsaProvenance\u003e, IBufferMessage, IMessage\n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e SlsaProvenance \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[SlsaProvenance](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[SlsaProvenance](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[SlsaProvenance](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Grafeas.V1](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1)\n\nAssembly\n--------\n\nGrafeas.V1.dll\n\nConstructors\n------------\n\n### SlsaProvenance()\n\n public SlsaProvenance()\n\n### SlsaProvenance(SlsaProvenance)\n\n public SlsaProvenance(SlsaProvenance other)\n\nProperties\n----------\n\n### Builder\n\n public SlsaProvenance.Types.SlsaBuilder Builder { get; set; }\n\nrequired\n\n### Materials\n\n public RepeatedField\u003cSlsaProvenance.Types.Material\u003e Materials { get; }\n\nThe collection of artifacts that influenced the build including sources,\ndependencies, build tools, base images, and so on. This is considered to be\nincomplete unless metadata.completeness.materials is true. Unset or null is\nequivalent to empty.\n\n### Metadata\n\n public SlsaProvenance.Types.SlsaMetadata Metadata { get; set; }\n\n### Recipe\n\n public SlsaProvenance.Types.SlsaRecipe Recipe { get; set; }\n\nIdentifies the configuration used for the build.\nWhen combined with materials, this SHOULD fully describe the build,\nsuch that re-running this recipe results in bit-for-bit identical output\n(if the build is reproducible)."]]