Observation period that led to the insight. The source data used to
generate the insight ends at last_refresh_time and begins at
(last_refresh_time - observation_period).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the Google Cloud Recommender v1 API class Insight is 3.7.0, with older versions available, going back to 2.5.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInsight\u003c/code\u003e class provides information used to derive insights, which may also have associated recommendations, and it 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\u003eInsights can be categorized and described, and they include details like severity, observation period, and the timestamp of the latest data used.\u003c/p\u003e\n"],["\u003cp\u003eEach insight has a unique name and subtype, along with an \u003ccode\u003eEtag\u003c/code\u003e for optimistic locking when updating the state.\u003c/p\u003e\n"],["\u003cp\u003eThe class \u003ccode\u003eInsight\u003c/code\u003e allows you to get the recommendations and target resources that are associated with it, in addition to getting the latest refresh time.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Recommender v1 API - Class Insight (3.7.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.7.0 (latest)](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.Insight)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.6.0/Google.Cloud.Recommender.V1.Insight)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.5.0/Google.Cloud.Recommender.V1.Insight)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.4.0/Google.Cloud.Recommender.V1.Insight)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.3.0/Google.Cloud.Recommender.V1.Insight)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.2.0/Google.Cloud.Recommender.V1.Insight)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.1.0/Google.Cloud.Recommender.V1.Insight)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/3.0.0/Google.Cloud.Recommender.V1.Insight)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/2.8.0/Google.Cloud.Recommender.V1.Insight)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/2.7.0/Google.Cloud.Recommender.V1.Insight)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/2.6.0/Google.Cloud.Recommender.V1.Insight)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Recommender.V1/2.5.0/Google.Cloud.Recommender.V1.Insight) \n\n public sealed class Insight : IMessage\u003cInsight\u003e, IEquatable\u003cInsight\u003e, IDeepCloneable\u003cInsight\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Recommender v1 API class Insight.\n\nAn insight along with the information used to derive the insight. The insight\nmay have associated recommendations as well. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Insight \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Insight](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.Insight), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Insight](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.Insight), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Insight](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.Insight), [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[Google.Cloud.Recommender.V1](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Recommender.V1.dll\n\nConstructors\n------------\n\n### Insight()\n\n public Insight()\n\n### Insight(Insight)\n\n public Insight(Insight other)\n\nProperties\n----------\n\n### AssociatedRecommendations\n\n public RepeatedField\u003cInsight.Types.RecommendationReference\u003e AssociatedRecommendations { get; }\n\nRecommendations derived from this insight.\n\n### Category\n\n public Insight.Types.Category Category { get; set; }\n\nCategory being targeted by the insight.\n\n### Content\n\n public Struct Content { get; set; }\n\nA struct of custom fields to explain the insight.\nExample: \"grantedPermissionsCount\": \"1000\"\n\n### Description\n\n public string Description { get; set; }\n\nFree-form human readable summary in English. The maximum length is 500\ncharacters.\n\n### Etag\n\n public string Etag { get; set; }\n\nFingerprint of the Insight. Provides optimistic locking when updating\nstates.\n\n### InsightName\n\n public InsightName InsightName { get; set; }\n\n[InsightName](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.InsightName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Recommender.V1/latest/Google.Cloud.Recommender.V1.Insight#Google_Cloud_Recommender_V1_Insight_Name) resource name property.\n\n### InsightSubtype\n\n public string InsightSubtype { get; set; }\n\nInsight subtype. Insight content schema will be stable for a given subtype.\n\n### LastRefreshTime\n\n public Timestamp LastRefreshTime { get; set; }\n\nTimestamp of the latest data used to generate the insight.\n\n### Name\n\n public string Name { get; set; }\n\nName of the insight.\n\n### ObservationPeriod\n\n public Duration ObservationPeriod { get; set; }\n\nObservation period that led to the insight. The source data used to\ngenerate the insight ends at last_refresh_time and begins at\n(last_refresh_time - observation_period).\n\n### Severity\n\n public Insight.Types.Severity Severity { get; set; }\n\nInsight's severity.\n\n### StateInfo\n\n public InsightStateInfo StateInfo { get; set; }\n\nInformation state and metadata.\n\n### TargetResources\n\n public RepeatedField\u003cstring\u003e TargetResources { get; }\n\nFully qualified resource names that this insight is targeting."]]