public sealed class DiscoveryOccurrence : IMessage<DiscoveryOccurrence>, IEquatable<DiscoveryOccurrence>, IDeepCloneable<DiscoveryOccurrence>, IBufferMessage, IMessage
Reference documentation and code samples for the Grafeas v1 API class DiscoveryOccurrence.
Provides information about the analysis status of a discovered resource.
When an error is encountered this will contain a LocalizedMessage under
details to show to the user. The LocalizedMessage is output only and
populated by the API.
[[["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 \u003ccode\u003eDiscoveryOccurrence\u003c/code\u003e class in the Grafeas v1 API provides information about the analysis status of a discovered resource.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of \u003ccode\u003eDiscoveryOccurrence\u003c/code\u003e is 3.7.0, and older versions are also accessible, ranging down to version 2.2.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDiscoveryOccurrence\u003c/code\u003e includes properties like \u003ccode\u003eAnalysisStatus\u003c/code\u003e, \u003ccode\u003eAnalysisError\u003c/code\u003e, \u003ccode\u003eLastScanTime\u003c/code\u003e, and \u003ccode\u003eCpe\u003c/code\u003e to provide details on the discovery process.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and inherits members from the base object class, such as \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eGetType\u003c/code\u003e, and \u003ccode\u003eToString\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDiscoveryOccurrence\u003c/code\u003e can track the status of a resource's SBOM generation with the property \u003ccode\u003eSbomStatus\u003c/code\u003e, or the status of a vulnerability attestation generation with the property \u003ccode\u003eVulnerabilityAttestation\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Grafeas v1 API - Class DiscoveryOccurrence (3.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.10.0 (latest)](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.DiscoveryOccurrence)\n- [3.8.0](/dotnet/docs/reference/Grafeas.V1/3.8.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.7.0](/dotnet/docs/reference/Grafeas.V1/3.7.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.6.0](/dotnet/docs/reference/Grafeas.V1/3.6.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.5.0](/dotnet/docs/reference/Grafeas.V1/3.5.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.4.0](/dotnet/docs/reference/Grafeas.V1/3.4.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.3.0](/dotnet/docs/reference/Grafeas.V1/3.3.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.2.0](/dotnet/docs/reference/Grafeas.V1/3.2.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.1.0](/dotnet/docs/reference/Grafeas.V1/3.1.0/Grafeas.V1.DiscoveryOccurrence)\n- [3.0.0](/dotnet/docs/reference/Grafeas.V1/3.0.0/Grafeas.V1.DiscoveryOccurrence)\n- [2.4.0](/dotnet/docs/reference/Grafeas.V1/2.4.0/Grafeas.V1.DiscoveryOccurrence)\n- [2.3.0](/dotnet/docs/reference/Grafeas.V1/2.3.0/Grafeas.V1.DiscoveryOccurrence)\n- [2.2.0](/dotnet/docs/reference/Grafeas.V1/2.2.0/Grafeas.V1.DiscoveryOccurrence) \n\n public sealed class DiscoveryOccurrence : IMessage\u003cDiscoveryOccurrence\u003e, IEquatable\u003cDiscoveryOccurrence\u003e, IDeepCloneable\u003cDiscoveryOccurrence\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Grafeas v1 API class DiscoveryOccurrence.\n\nProvides information about the analysis status of a discovered resource. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e DiscoveryOccurrence \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[DiscoveryOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.DiscoveryOccurrence), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[DiscoveryOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.DiscoveryOccurrence), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[DiscoveryOccurrence](/dotnet/docs/reference/Grafeas.V1/latest/Grafeas.V1.DiscoveryOccurrence), [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### DiscoveryOccurrence()\n\n public DiscoveryOccurrence()\n\n### DiscoveryOccurrence(DiscoveryOccurrence)\n\n public DiscoveryOccurrence(DiscoveryOccurrence other)\n\nProperties\n----------\n\n### AnalysisCompleted\n\n public DiscoveryOccurrence.Types.AnalysisCompleted AnalysisCompleted { get; set; }\n\n### AnalysisError\n\n public RepeatedField\u003cStatus\u003e AnalysisError { get; }\n\nIndicates any errors encountered during analysis of a resource. There\ncould be 0 or more of these errors.\n\n### AnalysisStatus\n\n public DiscoveryOccurrence.Types.AnalysisStatus AnalysisStatus { get; set; }\n\nThe status of discovery for the resource.\n\n### AnalysisStatusError\n\n public Status AnalysisStatusError { get; set; }\n\nWhen an error is encountered this will contain a LocalizedMessage under\ndetails to show to the user. The LocalizedMessage is output only and\npopulated by the API.\n\n### ArchiveTime\n\n public Timestamp ArchiveTime { get; set; }\n\nThe time occurrences related to this discovery occurrence were archived.\n\n### ContinuousAnalysis\n\n public DiscoveryOccurrence.Types.ContinuousAnalysis ContinuousAnalysis { get; set; }\n\nWhether the resource is continuously analyzed.\n\n### Cpe\n\n public string Cpe { get; set; }\n\nThe CPE of the resource being scanned.\n\n### LastScanTime\n\n public Timestamp LastScanTime { get; set; }\n\nThe last time this resource was scanned.\n\n### SbomStatus\n\n public DiscoveryOccurrence.Types.SBOMStatus SbomStatus { get; set; }\n\nThe status of an SBOM generation.\n\n### VulnerabilityAttestation\n\n public DiscoveryOccurrence.Types.VulnerabilityAttestation VulnerabilityAttestation { get; set; }\n\nThe status of an vulnerability attestation generation."]]