1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. securitycenter
  5. NotificationConfig
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.securitycenter.NotificationConfig

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    A Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.

    Note: In order to use Cloud SCC resources, your organization must be enrolled in SCC Standard/Premium. Without doing so, you may run into errors during resource creation.

    To get more information about NotificationConfig, see:

    Example Usage

    Scc Notification Config Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const sccNotification = new gcp.pubsub.Topic("scc_notification", {name: "my-topic"});
    const customNotificationConfig = new gcp.securitycenter.NotificationConfig("custom_notification_config", {
        configId: "my-config",
        organization: "123456789",
        description: "My custom Cloud Security Command Center Finding Notification Configuration",
        pubsubTopic: sccNotification.id,
        streamingConfig: {
            filter: "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    scc_notification = gcp.pubsub.Topic("scc_notification", name="my-topic")
    custom_notification_config = gcp.securitycenter.NotificationConfig("custom_notification_config",
        config_id="my-config",
        organization="123456789",
        description="My custom Cloud Security Command Center Finding Notification Configuration",
        pubsub_topic=scc_notification.id,
        streaming_config={
            "filter": "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/pubsub"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/securitycenter"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sccNotification, err := pubsub.NewTopic(ctx, "scc_notification", &pubsub.TopicArgs{
    			Name: pulumi.String("my-topic"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = securitycenter.NewNotificationConfig(ctx, "custom_notification_config", &securitycenter.NotificationConfigArgs{
    			ConfigId:     pulumi.String("my-config"),
    			Organization: pulumi.String("123456789"),
    			Description:  pulumi.String("My custom Cloud Security Command Center Finding Notification Configuration"),
    			PubsubTopic:  sccNotification.ID(),
    			StreamingConfig: &securitycenter.NotificationConfigStreamingConfigArgs{
    				Filter: pulumi.String("category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\""),
    			},
    		})
    		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 sccNotification = new Gcp.PubSub.Topic("scc_notification", new()
        {
            Name = "my-topic",
        });
    
        var customNotificationConfig = new Gcp.SecurityCenter.NotificationConfig("custom_notification_config", new()
        {
            ConfigId = "my-config",
            Organization = "123456789",
            Description = "My custom Cloud Security Command Center Finding Notification Configuration",
            PubsubTopic = sccNotification.Id,
            StreamingConfig = new Gcp.SecurityCenter.Inputs.NotificationConfigStreamingConfigArgs
            {
                Filter = "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.pubsub.Topic;
    import com.pulumi.gcp.pubsub.TopicArgs;
    import com.pulumi.gcp.securitycenter.NotificationConfig;
    import com.pulumi.gcp.securitycenter.NotificationConfigArgs;
    import com.pulumi.gcp.securitycenter.inputs.NotificationConfigStreamingConfigArgs;
    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 sccNotification = new Topic("sccNotification", TopicArgs.builder()
                .name("my-topic")
                .build());
    
            var customNotificationConfig = new NotificationConfig("customNotificationConfig", NotificationConfigArgs.builder()
                .configId("my-config")
                .organization("123456789")
                .description("My custom Cloud Security Command Center Finding Notification Configuration")
                .pubsubTopic(sccNotification.id())
                .streamingConfig(NotificationConfigStreamingConfigArgs.builder()
                    .filter("category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"")
                    .build())
                .build());
    
        }
    }
    
    resources:
      sccNotification:
        type: gcp:pubsub:Topic
        name: scc_notification
        properties:
          name: my-topic
      customNotificationConfig:
        type: gcp:securitycenter:NotificationConfig
        name: custom_notification_config
        properties:
          configId: my-config
          organization: '123456789'
          description: My custom Cloud Security Command Center Finding Notification Configuration
          pubsubTopic: ${sccNotification.id}
          streamingConfig:
            filter: category = "OPEN_FIREWALL" AND state = "ACTIVE"
    

    Create NotificationConfig Resource

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

    Constructor syntax

    new NotificationConfig(name: string, args: NotificationConfigArgs, opts?: CustomResourceOptions);
    @overload
    def NotificationConfig(resource_name: str,
                           args: NotificationConfigArgs,
                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def NotificationConfig(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           config_id: Optional[str] = None,
                           organization: Optional[str] = None,
                           pubsub_topic: Optional[str] = None,
                           streaming_config: Optional[NotificationConfigStreamingConfigArgs] = None,
                           description: Optional[str] = None)
    func NewNotificationConfig(ctx *Context, name string, args NotificationConfigArgs, opts ...ResourceOption) (*NotificationConfig, error)
    public NotificationConfig(string name, NotificationConfigArgs args, CustomResourceOptions? opts = null)
    public NotificationConfig(String name, NotificationConfigArgs args)
    public NotificationConfig(String name, NotificationConfigArgs args, CustomResourceOptions options)
    
    type: gcp:securitycenter:NotificationConfig
    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 NotificationConfigArgs
    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 NotificationConfigArgs
    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 NotificationConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NotificationConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NotificationConfigArgs
    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 notificationConfigResource = new Gcp.SecurityCenter.NotificationConfig("notificationConfigResource", new()
    {
        ConfigId = "string",
        Organization = "string",
        PubsubTopic = "string",
        StreamingConfig = new Gcp.SecurityCenter.Inputs.NotificationConfigStreamingConfigArgs
        {
            Filter = "string",
        },
        Description = "string",
    });
    
    example, err := securitycenter.NewNotificationConfig(ctx, "notificationConfigResource", &securitycenter.NotificationConfigArgs{
    	ConfigId:     pulumi.String("string"),
    	Organization: pulumi.String("string"),
    	PubsubTopic:  pulumi.String("string"),
    	StreamingConfig: &securitycenter.NotificationConfigStreamingConfigArgs{
    		Filter: pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    })
    
    var notificationConfigResource = new NotificationConfig("notificationConfigResource", NotificationConfigArgs.builder()
        .configId("string")
        .organization("string")
        .pubsubTopic("string")
        .streamingConfig(NotificationConfigStreamingConfigArgs.builder()
            .filter("string")
            .build())
        .description("string")
        .build());
    
    notification_config_resource = gcp.securitycenter.NotificationConfig("notificationConfigResource",
        config_id="string",
        organization="string",
        pubsub_topic="string",
        streaming_config={
            "filter": "string",
        },
        description="string")
    
    const notificationConfigResource = new gcp.securitycenter.NotificationConfig("notificationConfigResource", {
        configId: "string",
        organization: "string",
        pubsubTopic: "string",
        streamingConfig: {
            filter: "string",
        },
        description: "string",
    });
    
    type: gcp:securitycenter:NotificationConfig
    properties:
        configId: string
        description: string
        organization: string
        pubsubTopic: string
        streamingConfig:
            filter: string
    

    NotificationConfig Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The NotificationConfig resource accepts the following input properties:

    ConfigId string
    This must be unique within the organization.
    Organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    PubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    StreamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    Description string
    The description of the notification config (max of 1024 characters).
    ConfigId string
    This must be unique within the organization.
    Organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    PubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    StreamingConfig NotificationConfigStreamingConfigArgs
    The config for triggering streaming-based notifications. Structure is documented below.
    Description string
    The description of the notification config (max of 1024 characters).
    configId String
    This must be unique within the organization.
    organization String
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic String
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    streamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    description String
    The description of the notification config (max of 1024 characters).
    configId string
    This must be unique within the organization.
    organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    streamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    description string
    The description of the notification config (max of 1024 characters).
    config_id str
    This must be unique within the organization.
    organization str
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsub_topic str
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    streaming_config NotificationConfigStreamingConfigArgs
    The config for triggering streaming-based notifications. Structure is documented below.
    description str
    The description of the notification config (max of 1024 characters).
    configId String
    This must be unique within the organization.
    organization String
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic String
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    streamingConfig Property Map
    The config for triggering streaming-based notifications. Structure is documented below.
    description String
    The description of the notification config (max of 1024 characters).

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    ServiceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    ServiceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    serviceAccount String
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    serviceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    service_account str
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    serviceAccount String
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.

    Look up Existing NotificationConfig Resource

    Get an existing NotificationConfig 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?: NotificationConfigState, opts?: CustomResourceOptions): NotificationConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            config_id: Optional[str] = None,
            description: Optional[str] = None,
            name: Optional[str] = None,
            organization: Optional[str] = None,
            pubsub_topic: Optional[str] = None,
            service_account: Optional[str] = None,
            streaming_config: Optional[NotificationConfigStreamingConfigArgs] = None) -> NotificationConfig
    func GetNotificationConfig(ctx *Context, name string, id IDInput, state *NotificationConfigState, opts ...ResourceOption) (*NotificationConfig, error)
    public static NotificationConfig Get(string name, Input<string> id, NotificationConfigState? state, CustomResourceOptions? opts = null)
    public static NotificationConfig get(String name, Output<String> id, NotificationConfigState 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:
    ConfigId string
    This must be unique within the organization.
    Description string
    The description of the notification config (max of 1024 characters).
    Name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    Organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    PubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    ServiceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    StreamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    ConfigId string
    This must be unique within the organization.
    Description string
    The description of the notification config (max of 1024 characters).
    Name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    Organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    PubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    ServiceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    StreamingConfig NotificationConfigStreamingConfigArgs
    The config for triggering streaming-based notifications. Structure is documented below.
    configId String
    This must be unique within the organization.
    description String
    The description of the notification config (max of 1024 characters).
    name String
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    organization String
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic String
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    serviceAccount String
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    streamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    configId string
    This must be unique within the organization.
    description string
    The description of the notification config (max of 1024 characters).
    name string
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    organization string
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic string
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    serviceAccount string
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    streamingConfig NotificationConfigStreamingConfig
    The config for triggering streaming-based notifications. Structure is documented below.
    config_id str
    This must be unique within the organization.
    description str
    The description of the notification config (max of 1024 characters).
    name str
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    organization str
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsub_topic str
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    service_account str
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    streaming_config NotificationConfigStreamingConfigArgs
    The config for triggering streaming-based notifications. Structure is documented below.
    configId String
    This must be unique within the organization.
    description String
    The description of the notification config (max of 1024 characters).
    name String
    The resource name of this notification config, in the format organizations/{{organization}}/notificationConfigs/{{config_id}}.
    organization String
    The organization whose Cloud Security Command Center the Notification Config lives in.
    pubsubTopic String
    The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
    serviceAccount String
    The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
    streamingConfig Property Map
    The config for triggering streaming-based notifications. Structure is documented below.

    Supporting Types

    NotificationConfigStreamingConfig, NotificationConfigStreamingConfigArgs

    Filter string

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    Filter string

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    filter String

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    filter string

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    filter str

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    filter String

    Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form and may have a - character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are:

    • = for all value types.
    • , <, >=, <= for integer values.

    • :, meaning substring matching, for strings. The supported value types are:
    • string literals in quotes.
    • integer literals without quotes.
    • boolean literals true and false without quotes. See Filtering notifications for information on how to write a filter.

    Import

    NotificationConfig can be imported using any of these accepted formats:

    • {{name}}

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

    $ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default {{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 v8.9.3 published on Monday, Nov 18, 2024 by Pulumi