public sealed class SlsaProvenance.Types.SlsaRecipe : IMessage<SlsaProvenance.Types.SlsaRecipe>, IEquatable<SlsaProvenance.Types.SlsaRecipe>, IDeepCloneable<SlsaProvenance.Types.SlsaRecipe>, IBufferMessage, IMessage
Reference documentation and code samples for the Grafeas v1 API class SlsaProvenance.Types.SlsaRecipe.
Steps taken to build the artifact.
For a TaskRun, typically each container corresponds to one step in the
recipe.
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.
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.
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.
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.
[[["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-09 UTC."],[[["\u003cp\u003eThis documentation provides reference information for the \u003ccode\u003eSlsaProvenance.Types.SlsaRecipe\u003c/code\u003e class within the Grafeas v1 API, covering its structure, methods, and properties.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSlsaProvenance.Types.SlsaRecipe\u003c/code\u003e class represents the steps taken to build an artifact, and it is used to define a build recipe, typically with each container in a TaskRun corresponding to one step.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes properties like \u003ccode\u003eArguments\u003c/code\u003e, \u003ccode\u003eDefinedInMaterial\u003c/code\u003e, \u003ccode\u003eEntryPoint\u003c/code\u003e, \u003ccode\u003eEnvironment\u003c/code\u003e, and \u003ccode\u003eType\u003c/code\u003e, which provide details about the recipe's external inputs, source location, entry point, environment, and recipe type.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation lists the available versions of the \u003ccode\u003eSlsaRecipe\u003c/code\u003e class, ranging from version 2.2.0 to the latest 3.7.0, allowing users to access specific version information.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSlsaRecipe\u003c/code\u003e class inherits members from \u003ccode\u003eobject\u003c/code\u003e and implements \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e interfaces, providing standard functionalities for message handling, equality comparison, cloning, and buffer manipulation.\u003c/p\u003e\n"]]],[],null,["# Grafeas v1 API - Class SlsaProvenance.Types.SlsaRecipe (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.8.0](/dotnet/docs/reference/Grafeas.V1/3.8.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.7.0](/dotnet/docs/reference/Grafeas.V1/3.7.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.6.0](/dotnet/docs/reference/Grafeas.V1/3.6.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.5.0](/dotnet/docs/reference/Grafeas.V1/3.5.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.4.0](/dotnet/docs/reference/Grafeas.V1/3.4.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.3.0](/dotnet/docs/reference/Grafeas.V1/3.3.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.2.0](/dotnet/docs/reference/Grafeas.V1/3.2.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.1.0](/dotnet/docs/reference/Grafeas.V1/3.1.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [3.0.0](/dotnet/docs/reference/Grafeas.V1/3.0.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [2.4.0](/dotnet/docs/reference/Grafeas.V1/2.4.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [2.3.0](/dotnet/docs/reference/Grafeas.V1/2.3.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe)\n- [2.2.0](/dotnet/docs/reference/Grafeas.V1/2.2.0/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe) \n\n public sealed class SlsaProvenance.Types.SlsaRecipe : IMessage\u003cSlsaProvenance.Types.SlsaRecipe\u003e, IEquatable\u003cSlsaProvenance.Types.SlsaRecipe\u003e, IDeepCloneable\u003cSlsaProvenance.Types.SlsaRecipe\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Grafeas v1 API class SlsaProvenance.Types.SlsaRecipe.\n\nSteps taken to build the artifact.\nFor a TaskRun, typically each container corresponds to one step in the\nrecipe. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e SlsaProvenance.Types.SlsaRecipe \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)[Types](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types)[SlsaRecipe](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[SlsaProvenance](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance)[Types](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types)[SlsaRecipe](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe), [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)[Types](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types)[SlsaRecipe](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.SlsaProvenance.Types.SlsaRecipe), [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### SlsaRecipe()\n\n public SlsaRecipe()\n\n### SlsaRecipe(SlsaRecipe)\n\n public SlsaRecipe(SlsaProvenance.Types.SlsaRecipe other)\n\nProperties\n----------\n\n### Arguments\n\n public Any Arguments { get; set; }\n\nCollection of all external inputs that influenced the build on top of\nrecipe.definedInMaterial and recipe.entryPoint. For example, if the\nrecipe type were \"make\", then this might be the flags passed to make\naside from the target, which is captured in recipe.entryPoint. Depending\non the recipe Type, the structure may be different.\n\n### DefinedInMaterial\n\n public long DefinedInMaterial { get; set; }\n\nIndex in materials containing the recipe steps that are not implied by\nrecipe.type. For example, if the recipe type were \"make\", then this would\npoint to the source containing the Makefile, not the make program itself.\nSet to -1 if the recipe doesn't come from a material, as zero is default\nunset value for int64.\n\n### EntryPoint\n\n public string EntryPoint { get; set; }\n\nString identifying the entry point into the build.\nThis is often a path to a configuration file and/or a target label within\nthat file. The syntax and meaning are defined by recipe.type. For\nexample, if the recipe type were \"make\", then this would reference the\ndirectory in which to run make as well as which target to use.\n\n### Environment\n\n public Any Environment { get; set; }\n\nAny other builder-controlled inputs necessary for correctly evaluating\nthe recipe. Usually only needed for reproducing the build but not\nevaluated as part of policy. Depending on the recipe Type, the structure\nmay be different.\n\n### Type\n\n public string Type { get; set; }\n\nURI indicating what type of recipe was performed. It determines the\nmeaning of recipe.entryPoint, recipe.arguments, recipe.environment, and\nmaterials."]]