public sealed class BuildOccurrence : IMessage<BuildOccurrence>, IEquatable<BuildOccurrence>, IDeepCloneable<BuildOccurrence>, IBufferMessage, IMessage
Reference documentation and code samples for the Grafeas v1 API class BuildOccurrence.
public InTotoSlsaProvenanceV1 InTotoSlsaProvenanceV1 { get; set; }
In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa
spec, wrapped in an in-toto statement. This allows for direct
jsonification of a to-spec in-toto slsa statement with a to-spec
slsa provenance.
public InTotoStatement IntotoStatement { get; set; }
In-toto Statement representation as defined in spec.
The intoto_statement can contain any type of provenance. The serialized
payload of the statement can be stored and signed in the Occurrence's
envelope.
Serialized JSON representation of the provenance, used in generating the
build signature in the corresponding build note. After verifying the
signature,provenance_bytescan be unmarshalled and compared to the
provenance to confirm that it is unchanged. A base64-encoded string
representation of the provenance bytes is used for the signature in order
to interoperate with openssl which expects this format for signature
verification.
The serialized form is captured both to avoid ambiguity in how the
provenance is marshalled to json as well to prevent incompatibilities with
future changes.
[[["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\u003eThis document provides reference documentation and code samples for the Grafeas v1 API class \u003ccode\u003eBuildOccurrence\u003c/code\u003e, outlining details of a build occurrence.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of \u003ccode\u003eBuildOccurrence\u003c/code\u003e is 3.7.0, with historical versions ranging from 2.2.0 to 3.6.0 also available, and the class implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBuildOccurrence\u003c/code\u003e class includes properties such as \u003ccode\u003eInTotoSlsaProvenanceV1\u003c/code\u003e, \u003ccode\u003eIntotoProvenance\u003c/code\u003e, \u003ccode\u003eIntotoStatement\u003c/code\u003e, \u003ccode\u003eProvenance\u003c/code\u003e, and \u003ccode\u003eProvenanceBytes\u003c/code\u003e, which provide different representations and details of the build's provenance.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eBuildOccurrence\u003c/code\u003e has two constructors: a default constructor, and another that takes a \u003ccode\u003eBuildOccurrence\u003c/code\u003e object as a parameter for creating a new instance based on an existing one.\u003c/p\u003e\n"],["\u003cp\u003eThe class inherits from \u003ccode\u003eobject\u003c/code\u003e and provides inherited members such as \u003ccode\u003eGetHashCode()\u003c/code\u003e, \u003ccode\u003eGetType()\u003c/code\u003e, and \u003ccode\u003eToString()\u003c/code\u003e, within the \u003ccode\u003eGrafeas.V1\u003c/code\u003e namespace and the \u003ccode\u003eGrafeas.V1.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"]]],[],null,["# Grafeas v1 API - Class BuildOccurrence (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.BuildOccurrence)\n- [3.8.0](/dotnet/docs/reference/Grafeas.V1/3.8.0/Grafeas.V1.BuildOccurrence)\n- [3.7.0](/dotnet/docs/reference/Grafeas.V1/3.7.0/Grafeas.V1.BuildOccurrence)\n- [3.6.0](/dotnet/docs/reference/Grafeas.V1/3.6.0/Grafeas.V1.BuildOccurrence)\n- [3.5.0](/dotnet/docs/reference/Grafeas.V1/3.5.0/Grafeas.V1.BuildOccurrence)\n- [3.4.0](/dotnet/docs/reference/Grafeas.V1/3.4.0/Grafeas.V1.BuildOccurrence)\n- [3.3.0](/dotnet/docs/reference/Grafeas.V1/3.3.0/Grafeas.V1.BuildOccurrence)\n- [3.2.0](/dotnet/docs/reference/Grafeas.V1/3.2.0/Grafeas.V1.BuildOccurrence)\n- [3.1.0](/dotnet/docs/reference/Grafeas.V1/3.1.0/Grafeas.V1.BuildOccurrence)\n- [3.0.0](/dotnet/docs/reference/Grafeas.V1/3.0.0/Grafeas.V1.BuildOccurrence)\n- [2.4.0](/dotnet/docs/reference/Grafeas.V1/2.4.0/Grafeas.V1.BuildOccurrence)\n- [2.3.0](/dotnet/docs/reference/Grafeas.V1/2.3.0/Grafeas.V1.BuildOccurrence)\n- [2.2.0](/dotnet/docs/reference/Grafeas.V1/2.2.0/Grafeas.V1.BuildOccurrence) \n\n public sealed class BuildOccurrence : IMessage\u003cBuildOccurrence\u003e, IEquatable\u003cBuildOccurrence\u003e, IDeepCloneable\u003cBuildOccurrence\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Grafeas v1 API class BuildOccurrence.\n\nDetails of a build occurrence. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e BuildOccurrence \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[BuildOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.BuildOccurrence), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[BuildOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.BuildOccurrence), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[BuildOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.BuildOccurrence), [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### BuildOccurrence()\n\n public BuildOccurrence()\n\n### BuildOccurrence(BuildOccurrence)\n\n public BuildOccurrence(BuildOccurrence other)\n\nProperties\n----------\n\n### InTotoSlsaProvenanceV1\n\n public InTotoSlsaProvenanceV1 InTotoSlsaProvenanceV1 { get; set; }\n\nIn-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa\nspec, wrapped in an in-toto statement. This allows for direct\njsonification of a to-spec in-toto slsa statement with a to-spec\nslsa provenance.\n\n### IntotoProvenance\n\n public InTotoProvenance IntotoProvenance { get; set; }\n\nDeprecated. See InTotoStatement for the replacement.\nIn-toto Provenance representation as defined in spec.\n\n### IntotoStatement\n\n public InTotoStatement IntotoStatement { get; set; }\n\nIn-toto Statement representation as defined in spec.\nThe intoto_statement can contain any type of provenance. The serialized\npayload of the statement can be stored and signed in the Occurrence's\nenvelope.\n\n### Provenance\n\n public BuildProvenance Provenance { get; set; }\n\nThe actual provenance for the build.\n\n### ProvenanceBytes\n\n public string ProvenanceBytes { get; set; }\n\nSerialized JSON representation of the provenance, used in generating the\nbuild signature in the corresponding build note. After verifying the\nsignature, `provenance_bytes` can be unmarshalled and compared to the\nprovenance to confirm that it is unchanged. A base64-encoded string\nrepresentation of the provenance bytes is used for the signature in order\nto interoperate with openssl which expects this format for signature\nverification.\n\nThe serialized form is captured both to avoid ambiguity in how the\nprovenance is marshalled to json as well to prevent incompatibilities with\nfuture changes."]]