public sealed class SecurityHealthAnalyticsCustomModule : IMessage<SecurityHealthAnalyticsCustomModule>, IEquatable<SecurityHealthAnalyticsCustomModule>, IDeepCloneable<SecurityHealthAnalyticsCustomModule>, IBufferMessage, IMessage
Reference documentation and code samples for the Security Center Management v1 API class SecurityHealthAnalyticsCustomModule.
Represents an instance of a Security Health Analytics custom module,
including its full module name, display name, enablement state, and last
updated time. You can create a custom module at the organization, folder, or
project level. Custom modules that you create at the organization or folder
level are inherited by the descendant folders and projects.
Output only. Specifies the organization or folder from which the custom
module is inherited. If empty, indicates that the custom module was created
in the organization, folder, or project in which you are viewing the custom
module.
Optional. The display name of the Security Health Analytics custom module.
This display name becomes the finding category for all findings that are
returned by this custom module. The display name must be between 1 and 128
characters, start with a lowercase letter, and contain alphanumeric
characters or underscores only.
[[["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\u003eSecurityHealthAnalyticsCustomModule\u003c/code\u003e class in the Security Center Management v1 API represents a custom module instance for Security Health Analytics, which can be created at the organization, folder, or project level.\u003c/p\u003e\n"],["\u003cp\u003eThis module includes properties for its name, display name, enablement state, last update time, and the ability to define custom configurations.\u003c/p\u003e\n"],["\u003cp\u003eCustom modules created at the organization or folder level are inherited by descendant folders and projects.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for this class is 1.2.0, with older versions 1.1.0 and 1.0.0 also documented.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements various interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from the .NET \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"]]],[],null,["# Security Center Management v1 API - Class SecurityHealthAnalyticsCustomModule (1.2.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.2.0 (latest)](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/1.1.0/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/1.0.0/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule) \n\n public sealed class SecurityHealthAnalyticsCustomModule : IMessage\u003cSecurityHealthAnalyticsCustomModule\u003e, IEquatable\u003cSecurityHealthAnalyticsCustomModule\u003e, IDeepCloneable\u003cSecurityHealthAnalyticsCustomModule\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Security Center Management v1 API class SecurityHealthAnalyticsCustomModule.\n\nRepresents an instance of a Security Health Analytics custom module,\nincluding its full module name, display name, enablement state, and last\nupdated time. You can create a custom module at the organization, folder, or\nproject level. Custom modules that you create at the organization or folder\nlevel are inherited by the descendant folders and projects. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e SecurityHealthAnalyticsCustomModule \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[SecurityHealthAnalyticsCustomModule](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[SecurityHealthAnalyticsCustomModule](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[SecurityHealthAnalyticsCustomModule](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule), [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.SecurityCenterManagement.V1](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.SecurityCenterManagement.V1.dll\n\nConstructors\n------------\n\n### SecurityHealthAnalyticsCustomModule()\n\n public SecurityHealthAnalyticsCustomModule()\n\n### SecurityHealthAnalyticsCustomModule(SecurityHealthAnalyticsCustomModule)\n\n public SecurityHealthAnalyticsCustomModule(SecurityHealthAnalyticsCustomModule other)\n\nProperties\n----------\n\n### AncestorModule\n\n public string AncestorModule { get; set; }\n\nOutput only. Specifies the organization or folder from which the custom\nmodule is inherited. If empty, indicates that the custom module was created\nin the organization, folder, or project in which you are viewing the custom\nmodule.\n\n### AncestorModuleAsSecurityHealthAnalyticsCustomModuleName\n\n public SecurityHealthAnalyticsCustomModuleName AncestorModuleAsSecurityHealthAnalyticsCustomModuleName { get; set; }\n\n[SecurityHealthAnalyticsCustomModuleName](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModuleName)-typed view over the [AncestorModule](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule#Google_Cloud_SecurityCenterManagement_V1_SecurityHealthAnalyticsCustomModule_AncestorModule)\nresource name property.\n\n### CustomConfig\n\n public CustomConfig CustomConfig { get; set; }\n\nOptional. The user-specified custom configuration for the module.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nOptional. The display name of the Security Health Analytics custom module.\nThis display name becomes the finding category for all findings that are\nreturned by this custom module. The display name must be between 1 and 128\ncharacters, start with a lowercase letter, and contain alphanumeric\ncharacters or underscores only.\n\n### EnablementState\n\n public SecurityHealthAnalyticsCustomModule.Types.EnablementState EnablementState { get; set; }\n\nOptional. The enablement state of the custom module.\n\n### LastEditor\n\n public string LastEditor { get; set; }\n\nOutput only. The editor that last updated the custom module.\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. The full resource name of the custom module, in one of the\nfollowing formats:\n\n- `organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{custom_module}`\n- `folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{custom_module}`\n- `projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{custom_module}`\n\n### SecurityHealthAnalyticsCustomModuleName\n\n public SecurityHealthAnalyticsCustomModuleName SecurityHealthAnalyticsCustomModuleName { get; set; }\n\n[SecurityHealthAnalyticsCustomModuleName](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModuleName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SecurityCenterManagement.V1/latest/Google.Cloud.SecurityCenterManagement.V1.SecurityHealthAnalyticsCustomModule#Google_Cloud_SecurityCenterManagement_V1_SecurityHealthAnalyticsCustomModule_Name) resource\nname property.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The time at which the custom module was last updated."]]