1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. securitycenter
  5. ManagementOrganizationSecurityHealthAnalyticsCustomModule
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi

    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 child folders and projects.

    To get more information about OrganizationSecurityHealthAnalyticsCustomModule, see:

    Example Usage

    Scc Management Organization Security Health Analytics Custom Module Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const example = new gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", {
        organization: "123456789",
        displayName: "basic_custom_module",
        location: "global",
        enablementState: "ENABLED",
        customConfig: {
            predicate: {
                expression: "resource.rotationPeriod > duration(\"2592000s\")",
            },
            resourceSelector: {
                resourceTypes: ["cloudkms.googleapis.com/CryptoKey"],
            },
            description: "The rotation period of the identified cryptokey resource exceeds 30 days.",
            recommendation: "Set the rotation period to at most 30 days.",
            severity: "MEDIUM",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    example = gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example",
        organization="123456789",
        display_name="basic_custom_module",
        location="global",
        enablement_state="ENABLED",
        custom_config=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
            predicate=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
                expression="resource.rotationPeriod > duration(\"2592000s\")",
            ),
            resource_selector=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
                resource_types=["cloudkms.googleapis.com/CryptoKey"],
            ),
            description="The rotation period of the identified cryptokey resource exceeds 30 days.",
            recommendation="Set the rotation period to at most 30 days.",
            severity="MEDIUM",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securitycenter"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := securitycenter.NewManagementOrganizationSecurityHealthAnalyticsCustomModule(ctx, "example", &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs{
    			Organization:    pulumi.String("123456789"),
    			DisplayName:     pulumi.String("basic_custom_module"),
    			Location:        pulumi.String("global"),
    			EnablementState: pulumi.String("ENABLED"),
    			CustomConfig: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs{
    				Predicate: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs{
    					Expression: pulumi.String("resource.rotationPeriod > duration(\"2592000s\")"),
    				},
    				ResourceSelector: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs{
    					ResourceTypes: pulumi.StringArray{
    						pulumi.String("cloudkms.googleapis.com/CryptoKey"),
    					},
    				},
    				Description:    pulumi.String("The rotation period of the identified cryptokey resource exceeds 30 days."),
    				Recommendation: pulumi.String("Set the rotation period to at most 30 days."),
    				Severity:       pulumi.String("MEDIUM"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Gcp.SecurityCenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", new()
        {
            Organization = "123456789",
            DisplayName = "basic_custom_module",
            Location = "global",
            EnablementState = "ENABLED",
            CustomConfig = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
            {
                Predicate = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs
                {
                    Expression = "resource.rotationPeriod > duration(\"2592000s\")",
                },
                ResourceSelector = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs
                {
                    ResourceTypes = new[]
                    {
                        "cloudkms.googleapis.com/CryptoKey",
                    },
                },
                Description = "The rotation period of the identified cryptokey resource exceeds 30 days.",
                Recommendation = "Set the rotation period to at most 30 days.",
                Severity = "MEDIUM",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule;
    import com.pulumi.gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs.builder()
                .organization("123456789")
                .displayName("basic_custom_module")
                .location("global")
                .enablementState("ENABLED")
                .customConfig(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs.builder()
                    .predicate(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs.builder()
                        .expression("resource.rotationPeriod > duration(\"2592000s\")")
                        .build())
                    .resourceSelector(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs.builder()
                        .resourceTypes("cloudkms.googleapis.com/CryptoKey")
                        .build())
                    .description("The rotation period of the identified cryptokey resource exceeds 30 days.")
                    .recommendation("Set the rotation period to at most 30 days.")
                    .severity("MEDIUM")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: gcp:securitycenter:ManagementOrganizationSecurityHealthAnalyticsCustomModule
        properties:
          organization: '123456789'
          displayName: basic_custom_module
          location: global
          enablementState: ENABLED
          customConfig:
            predicate:
              expression: resource.rotationPeriod > duration("2592000s")
            resourceSelector:
              resourceTypes:
                - cloudkms.googleapis.com/CryptoKey
            description: The rotation period of the identified cryptokey resource exceeds 30 days.
            recommendation: Set the rotation period to at most 30 days.
            severity: MEDIUM
    

    Scc Management Organization Security Health Analytics Custom Module Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const example = new gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", {
        organization: "123456789",
        displayName: "full_custom_module",
        location: "global",
        enablementState: "ENABLED",
        customConfig: {
            predicate: {
                expression: "resource.rotationPeriod > duration(\"2592000s\")",
                title: "Purpose of the expression",
                description: "description of the expression",
                location: "location of the expression",
            },
            customOutput: {
                properties: [{
                    name: "duration",
                    valueExpression: {
                        expression: "resource.rotationPeriod",
                        title: "Purpose of the expression",
                        description: "description of the expression",
                        location: "location of the expression",
                    },
                }],
            },
            resourceSelector: {
                resourceTypes: ["cloudkms.googleapis.com/CryptoKey"],
            },
            severity: "LOW",
            description: "Description of the custom module",
            recommendation: "Steps to resolve violation",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    example = gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example",
        organization="123456789",
        display_name="full_custom_module",
        location="global",
        enablement_state="ENABLED",
        custom_config=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
            predicate=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
                expression="resource.rotationPeriod > duration(\"2592000s\")",
                title="Purpose of the expression",
                description="description of the expression",
                location="location of the expression",
            ),
            custom_output=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs(
                properties=[gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs(
                    name="duration",
                    value_expression=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs(
                        expression="resource.rotationPeriod",
                        title="Purpose of the expression",
                        description="description of the expression",
                        location="location of the expression",
                    ),
                )],
            ),
            resource_selector=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
                resource_types=["cloudkms.googleapis.com/CryptoKey"],
            ),
            severity="LOW",
            description="Description of the custom module",
            recommendation="Steps to resolve violation",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/securitycenter"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := securitycenter.NewManagementOrganizationSecurityHealthAnalyticsCustomModule(ctx, "example", &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs{
    			Organization:    pulumi.String("123456789"),
    			DisplayName:     pulumi.String("full_custom_module"),
    			Location:        pulumi.String("global"),
    			EnablementState: pulumi.String("ENABLED"),
    			CustomConfig: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs{
    				Predicate: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs{
    					Expression:  pulumi.String("resource.rotationPeriod > duration(\"2592000s\")"),
    					Title:       pulumi.String("Purpose of the expression"),
    					Description: pulumi.String("description of the expression"),
    					Location:    pulumi.String("location of the expression"),
    				},
    				CustomOutput: securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs{
    					Properties: securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArray{
    						&securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs{
    							Name: pulumi.String("duration"),
    							ValueExpression: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs{
    								Expression:  pulumi.String("resource.rotationPeriod"),
    								Title:       pulumi.String("Purpose of the expression"),
    								Description: pulumi.String("description of the expression"),
    								Location:    pulumi.String("location of the expression"),
    							},
    						},
    					},
    				},
    				ResourceSelector: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs{
    					ResourceTypes: pulumi.StringArray{
    						pulumi.String("cloudkms.googleapis.com/CryptoKey"),
    					},
    				},
    				Severity:       pulumi.String("LOW"),
    				Description:    pulumi.String("Description of the custom module"),
    				Recommendation: pulumi.String("Steps to resolve violation"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Gcp.SecurityCenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", new()
        {
            Organization = "123456789",
            DisplayName = "full_custom_module",
            Location = "global",
            EnablementState = "ENABLED",
            CustomConfig = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
            {
                Predicate = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs
                {
                    Expression = "resource.rotationPeriod > duration(\"2592000s\")",
                    Title = "Purpose of the expression",
                    Description = "description of the expression",
                    Location = "location of the expression",
                },
                CustomOutput = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs
                {
                    Properties = new[]
                    {
                        new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs
                        {
                            Name = "duration",
                            ValueExpression = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs
                            {
                                Expression = "resource.rotationPeriod",
                                Title = "Purpose of the expression",
                                Description = "description of the expression",
                                Location = "location of the expression",
                            },
                        },
                    },
                },
                ResourceSelector = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs
                {
                    ResourceTypes = new[]
                    {
                        "cloudkms.googleapis.com/CryptoKey",
                    },
                },
                Severity = "LOW",
                Description = "Description of the custom module",
                Recommendation = "Steps to resolve violation",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule;
    import com.pulumi.gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs;
    import com.pulumi.gcp.securitycenter.inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ManagementOrganizationSecurityHealthAnalyticsCustomModule("example", ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs.builder()
                .organization("123456789")
                .displayName("full_custom_module")
                .location("global")
                .enablementState("ENABLED")
                .customConfig(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs.builder()
                    .predicate(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs.builder()
                        .expression("resource.rotationPeriod > duration(\"2592000s\")")
                        .title("Purpose of the expression")
                        .description("description of the expression")
                        .location("location of the expression")
                        .build())
                    .customOutput(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs.builder()
                        .properties(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs.builder()
                            .name("duration")
                            .valueExpression(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs.builder()
                                .expression("resource.rotationPeriod")
                                .title("Purpose of the expression")
                                .description("description of the expression")
                                .location("location of the expression")
                                .build())
                            .build())
                        .build())
                    .resourceSelector(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs.builder()
                        .resourceTypes("cloudkms.googleapis.com/CryptoKey")
                        .build())
                    .severity("LOW")
                    .description("Description of the custom module")
                    .recommendation("Steps to resolve violation")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: gcp:securitycenter:ManagementOrganizationSecurityHealthAnalyticsCustomModule
        properties:
          organization: '123456789'
          displayName: full_custom_module
          location: global
          enablementState: ENABLED
          customConfig:
            predicate:
              expression: resource.rotationPeriod > duration("2592000s")
              title: Purpose of the expression
              description: description of the expression
              location: location of the expression
            customOutput:
              properties:
                - name: duration
                  valueExpression:
                    expression: resource.rotationPeriod
                    title: Purpose of the expression
                    description: description of the expression
                    location: location of the expression
            resourceSelector:
              resourceTypes:
                - cloudkms.googleapis.com/CryptoKey
            severity: LOW
            description: Description of the custom module
            recommendation: Steps to resolve violation
    

    Create ManagementOrganizationSecurityHealthAnalyticsCustomModule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ManagementOrganizationSecurityHealthAnalyticsCustomModule(name: string, args: ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs, opts?: CustomResourceOptions);
    @overload
    def ManagementOrganizationSecurityHealthAnalyticsCustomModule(resource_name: str,
                                                                  args: ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs,
                                                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def ManagementOrganizationSecurityHealthAnalyticsCustomModule(resource_name: str,
                                                                  opts: Optional[ResourceOptions] = None,
                                                                  organization: Optional[str] = None,
                                                                  custom_config: Optional[ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs] = None,
                                                                  display_name: Optional[str] = None,
                                                                  enablement_state: Optional[str] = None,
                                                                  location: Optional[str] = None)
    func NewManagementOrganizationSecurityHealthAnalyticsCustomModule(ctx *Context, name string, args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs, opts ...ResourceOption) (*ManagementOrganizationSecurityHealthAnalyticsCustomModule, error)
    public ManagementOrganizationSecurityHealthAnalyticsCustomModule(string name, ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs args, CustomResourceOptions? opts = null)
    public ManagementOrganizationSecurityHealthAnalyticsCustomModule(String name, ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs args)
    public ManagementOrganizationSecurityHealthAnalyticsCustomModule(String name, ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs args, CustomResourceOptions options)
    
    type: gcp:securitycenter:ManagementOrganizationSecurityHealthAnalyticsCustomModule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var managementOrganizationSecurityHealthAnalyticsCustomModuleResource = new Gcp.SecurityCenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("managementOrganizationSecurityHealthAnalyticsCustomModuleResource", new()
    {
        Organization = "string",
        CustomConfig = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
        {
            Predicate = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs
            {
                Expression = "string",
                Description = "string",
                Location = "string",
                Title = "string",
            },
            Recommendation = "string",
            ResourceSelector = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs
            {
                ResourceTypes = new[]
                {
                    "string",
                },
            },
            Severity = "string",
            CustomOutput = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs
            {
                Properties = new[]
                {
                    new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs
                    {
                        Name = "string",
                        ValueExpression = new Gcp.SecurityCenter.Inputs.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs
                        {
                            Expression = "string",
                            Description = "string",
                            Location = "string",
                            Title = "string",
                        },
                    },
                },
            },
            Description = "string",
        },
        DisplayName = "string",
        EnablementState = "string",
        Location = "string",
    });
    
    example, err := securitycenter.NewManagementOrganizationSecurityHealthAnalyticsCustomModule(ctx, "managementOrganizationSecurityHealthAnalyticsCustomModuleResource", &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs{
    	Organization: pulumi.String("string"),
    	CustomConfig: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs{
    		Predicate: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs{
    			Expression:  pulumi.String("string"),
    			Description: pulumi.String("string"),
    			Location:    pulumi.String("string"),
    			Title:       pulumi.String("string"),
    		},
    		Recommendation: pulumi.String("string"),
    		ResourceSelector: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs{
    			ResourceTypes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Severity: pulumi.String("string"),
    		CustomOutput: securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs{
    			Properties: securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArray{
    				&securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs{
    					Name: pulumi.String("string"),
    					ValueExpression: &securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs{
    						Expression:  pulumi.String("string"),
    						Description: pulumi.String("string"),
    						Location:    pulumi.String("string"),
    						Title:       pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Description: pulumi.String("string"),
    	},
    	DisplayName:     pulumi.String("string"),
    	EnablementState: pulumi.String("string"),
    	Location:        pulumi.String("string"),
    })
    
    var managementOrganizationSecurityHealthAnalyticsCustomModuleResource = new ManagementOrganizationSecurityHealthAnalyticsCustomModule("managementOrganizationSecurityHealthAnalyticsCustomModuleResource", ManagementOrganizationSecurityHealthAnalyticsCustomModuleArgs.builder()
        .organization("string")
        .customConfig(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs.builder()
            .predicate(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs.builder()
                .expression("string")
                .description("string")
                .location("string")
                .title("string")
                .build())
            .recommendation("string")
            .resourceSelector(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs.builder()
                .resourceTypes("string")
                .build())
            .severity("string")
            .customOutput(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs.builder()
                .properties(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs.builder()
                    .name("string")
                    .valueExpression(ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs.builder()
                        .expression("string")
                        .description("string")
                        .location("string")
                        .title("string")
                        .build())
                    .build())
                .build())
            .description("string")
            .build())
        .displayName("string")
        .enablementState("string")
        .location("string")
        .build());
    
    management_organization_security_health_analytics_custom_module_resource = gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("managementOrganizationSecurityHealthAnalyticsCustomModuleResource",
        organization="string",
        custom_config=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs(
            predicate=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs(
                expression="string",
                description="string",
                location="string",
                title="string",
            ),
            recommendation="string",
            resource_selector=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs(
                resource_types=["string"],
            ),
            severity="string",
            custom_output=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs(
                properties=[gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs(
                    name="string",
                    value_expression=gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs(
                        expression="string",
                        description="string",
                        location="string",
                        title="string",
                    ),
                )],
            ),
            description="string",
        ),
        display_name="string",
        enablement_state="string",
        location="string")
    
    const managementOrganizationSecurityHealthAnalyticsCustomModuleResource = new gcp.securitycenter.ManagementOrganizationSecurityHealthAnalyticsCustomModule("managementOrganizationSecurityHealthAnalyticsCustomModuleResource", {
        organization: "string",
        customConfig: {
            predicate: {
                expression: "string",
                description: "string",
                location: "string",
                title: "string",
            },
            recommendation: "string",
            resourceSelector: {
                resourceTypes: ["string"],
            },
            severity: "string",
            customOutput: {
                properties: [{
                    name: "string",
                    valueExpression: {
                        expression: "string",
                        description: "string",
                        location: "string",
                        title: "string",
                    },
                }],
            },
            description: "string",
        },
        displayName: "string",
        enablementState: "string",
        location: "string",
    });
    
    type: gcp:securitycenter:ManagementOrganizationSecurityHealthAnalyticsCustomModule
    properties:
        customConfig:
            customOutput:
                properties:
                    - name: string
                      valueExpression:
                        description: string
                        expression: string
                        location: string
                        title: string
            description: string
            predicate:
                description: string
                expression: string
                location: string
                title: string
            recommendation: string
            resourceSelector:
                resourceTypes:
                    - string
            severity: string
        displayName: string
        enablementState: string
        location: string
        organization: string
    

    ManagementOrganizationSecurityHealthAnalyticsCustomModule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ManagementOrganizationSecurityHealthAnalyticsCustomModule resource accepts the following input properties:

    Organization string
    Numerical ID of the parent organization.


    CustomConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    DisplayName string
    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.
    EnablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    Location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    Organization string
    Numerical ID of the parent organization.


    CustomConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
    The user specified custom configuration for the module. Structure is documented below.
    DisplayName string
    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.
    EnablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    Location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    organization String
    Numerical ID of the parent organization.


    customConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    displayName String
    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.
    enablementState String
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    location String
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    organization string
    Numerical ID of the parent organization.


    customConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    displayName string
    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.
    enablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    organization str
    Numerical ID of the parent organization.


    custom_config ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
    The user specified custom configuration for the module. Structure is documented below.
    display_name str
    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.
    enablement_state str
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    location str
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    organization String
    Numerical ID of the parent organization.


    customConfig Property Map
    The user specified custom configuration for the module. Structure is documented below.
    displayName String
    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.
    enablementState String
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    location String
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ManagementOrganizationSecurityHealthAnalyticsCustomModule resource produces the following output properties:

    AncestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastEditor string
    The editor that last updated the custom module.
    Name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    UpdateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    AncestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastEditor string
    The editor that last updated the custom module.
    Name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    UpdateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule String
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    id String
    The provider-assigned unique ID for this managed resource.
    lastEditor String
    The editor that last updated the custom module.
    name String
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    updateTime String
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    id string
    The provider-assigned unique ID for this managed resource.
    lastEditor string
    The editor that last updated the custom module.
    name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    updateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestor_module str
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    id str
    The provider-assigned unique ID for this managed resource.
    last_editor str
    The editor that last updated the custom module.
    name str
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    update_time str
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule String
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    id String
    The provider-assigned unique ID for this managed resource.
    lastEditor String
    The editor that last updated the custom module.
    name String
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    updateTime String
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    Look up Existing ManagementOrganizationSecurityHealthAnalyticsCustomModule Resource

    Get an existing ManagementOrganizationSecurityHealthAnalyticsCustomModule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ManagementOrganizationSecurityHealthAnalyticsCustomModuleState, opts?: CustomResourceOptions): ManagementOrganizationSecurityHealthAnalyticsCustomModule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            ancestor_module: Optional[str] = None,
            custom_config: Optional[ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs] = None,
            display_name: Optional[str] = None,
            enablement_state: Optional[str] = None,
            last_editor: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            organization: Optional[str] = None,
            update_time: Optional[str] = None) -> ManagementOrganizationSecurityHealthAnalyticsCustomModule
    func GetManagementOrganizationSecurityHealthAnalyticsCustomModule(ctx *Context, name string, id IDInput, state *ManagementOrganizationSecurityHealthAnalyticsCustomModuleState, opts ...ResourceOption) (*ManagementOrganizationSecurityHealthAnalyticsCustomModule, error)
    public static ManagementOrganizationSecurityHealthAnalyticsCustomModule Get(string name, Input<string> id, ManagementOrganizationSecurityHealthAnalyticsCustomModuleState? state, CustomResourceOptions? opts = null)
    public static ManagementOrganizationSecurityHealthAnalyticsCustomModule get(String name, Output<String> id, ManagementOrganizationSecurityHealthAnalyticsCustomModuleState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AncestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    CustomConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    DisplayName string
    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.
    EnablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    LastEditor string
    The editor that last updated the custom module.
    Location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    Name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    Organization string
    Numerical ID of the parent organization.


    UpdateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    AncestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    CustomConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
    The user specified custom configuration for the module. Structure is documented below.
    DisplayName string
    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.
    EnablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    LastEditor string
    The editor that last updated the custom module.
    Location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    Name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    Organization string
    Numerical ID of the parent organization.


    UpdateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule String
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    customConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    displayName String
    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.
    enablementState String
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    lastEditor String
    The editor that last updated the custom module.
    location String
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    name String
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    organization String
    Numerical ID of the parent organization.


    updateTime String
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule string
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    customConfig ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig
    The user specified custom configuration for the module. Structure is documented below.
    displayName string
    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.
    enablementState string
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    lastEditor string
    The editor that last updated the custom module.
    location string
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    name string
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    organization string
    Numerical ID of the parent organization.


    updateTime string
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestor_module str
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    custom_config ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs
    The user specified custom configuration for the module. Structure is documented below.
    display_name str
    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.
    enablement_state str
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    last_editor str
    The editor that last updated the custom module.
    location str
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    name str
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    organization str
    Numerical ID of the parent organization.


    update_time str
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    ancestorModule String
    If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, ancestor_module specifies the organization or folder from which the custom module is inherited.
    customConfig Property Map
    The user specified custom configuration for the module. Structure is documented below.
    displayName String
    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.
    enablementState String
    The enablement state of the custom module. Possible values are: ENABLED, DISABLED.
    lastEditor String
    The editor that last updated the custom module.
    location String
    Location ID of the parent organization. If not provided, 'global' will be used as the default location.
    name String
    The resource name of the custom module. Its format is "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{securityHealthAnalyticsCustomModule}". The id {securityHealthAnalyticsCustomModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
    organization String
    Numerical ID of the parent organization.


    updateTime String
    The time at which the custom module was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    Supporting Types

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfig, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigArgs

    Predicate ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    Recommendation string
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    ResourceSelector ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    Severity string
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    CustomOutput ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput
    Custom output properties. Structure is documented below.
    Description string
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
    Predicate ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    Recommendation string
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    ResourceSelector ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    Severity string
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    CustomOutput ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput
    Custom output properties. Structure is documented below.
    Description string
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
    predicate ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    recommendation String
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    resourceSelector ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    severity String
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    customOutput ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput
    Custom output properties. Structure is documented below.
    description String
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
    predicate ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    recommendation string
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    resourceSelector ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    severity string
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    customOutput ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput
    Custom output properties. Structure is documented below.
    description string
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
    predicate ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    recommendation str
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    resource_selector ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    severity str
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    custom_output ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput
    Custom output properties. Structure is documented below.
    description str
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
    predicate Property Map
    The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. Structure is documented below.
    recommendation String
    An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the nextSteps property of the finding JSON.
    resourceSelector Property Map
    The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. Structure is documented below.
    severity String
    The severity to assign to findings generated by the module. Possible values are: CRITICAL, HIGH, MEDIUM, LOW.
    customOutput Property Map
    Custom output properties. Structure is documented below.
    description String
    Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutput, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputArgs

    Properties List<ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty>
    A list of custom output properties to add to the finding. Structure is documented below.
    Properties []ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty
    A list of custom output properties to add to the finding. Structure is documented below.
    properties List<ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty>
    A list of custom output properties to add to the finding. Structure is documented below.
    properties ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty[]
    A list of custom output properties to add to the finding. Structure is documented below.
    properties Sequence[ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty]
    A list of custom output properties to add to the finding. Structure is documented below.
    properties List<Property Map>
    A list of custom output properties to add to the finding. Structure is documented below.

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputProperty, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyArgs

    Name string
    Name of the property for the custom output.
    ValueExpression ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.
    Name string
    Name of the property for the custom output.
    ValueExpression ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.
    name String
    Name of the property for the custom output.
    valueExpression ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.
    name string
    Name of the property for the custom output.
    valueExpression ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.
    name str
    Name of the property for the custom output.
    value_expression ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.
    name String
    Name of the property for the custom output.
    valueExpression Property Map
    The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. Structure is documented below.

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpression, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigCustomOutputPropertyValueExpressionArgs

    Expression string
    Textual representation of an expression in Common Expression Language syntax.
    Description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    Location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    Title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    Expression string
    Textual representation of an expression in Common Expression Language syntax.
    Description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    Location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    Title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression String
    Textual representation of an expression in Common Expression Language syntax.
    description String
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location String
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title String
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression string
    Textual representation of an expression in Common Expression Language syntax.
    description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression str
    Textual representation of an expression in Common Expression Language syntax.
    description str
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location str
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title str
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression String
    Textual representation of an expression in Common Expression Language syntax.
    description String
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location String
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title String
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicate, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigPredicateArgs

    Expression string
    Textual representation of an expression in Common Expression Language syntax.
    Description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    Location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    Title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    Expression string
    Textual representation of an expression in Common Expression Language syntax.
    Description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    Location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    Title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression String
    Textual representation of an expression in Common Expression Language syntax.
    description String
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location String
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title String
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression string
    Textual representation of an expression in Common Expression Language syntax.
    description string
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location string
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title string
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression str
    Textual representation of an expression in Common Expression Language syntax.
    description str
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location str
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title str
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
    expression String
    Textual representation of an expression in Common Expression Language syntax.
    description String
    Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
    location String
    String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
    title String
    Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

    ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelector, ManagementOrganizationSecurityHealthAnalyticsCustomModuleCustomConfigResourceSelectorArgs

    ResourceTypes List<string>
    The resource types to run the detector on.
    ResourceTypes []string
    The resource types to run the detector on.
    resourceTypes List<String>
    The resource types to run the detector on.
    resourceTypes string[]
    The resource types to run the detector on.
    resource_types Sequence[str]
    The resource types to run the detector on.
    resourceTypes List<String>
    The resource types to run the detector on.

    Import

    OrganizationSecurityHealthAnalyticsCustomModule can be imported using any of these accepted formats:

    • organizations/{{organization}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}

    • {{organization}}/{{location}}/{{name}}

    When using the pulumi import command, OrganizationSecurityHealthAnalyticsCustomModule can be imported using one of the formats above. For example:

    $ pulumi import gcp:securitycenter/managementOrganizationSecurityHealthAnalyticsCustomModule:ManagementOrganizationSecurityHealthAnalyticsCustomModule default organizations/{{organization}}/locations/{{location}}/securityHealthAnalyticsCustomModules/{{name}}
    
    $ pulumi import gcp:securitycenter/managementOrganizationSecurityHealthAnalyticsCustomModule:ManagementOrganizationSecurityHealthAnalyticsCustomModule default {{organization}}/{{location}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi