gcp.securitycenter.NotificationConfig
Explore with Pulumi AI
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:
- API documentation
- How-to Guides
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
The NotificationConfig resource accepts the following input properties:
- Config
Id string - This must be unique within the organization.
- Organization string
- The organization whose Cloud Security Command Center the Notification Config lives in.
- Pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- Streaming
Config NotificationConfig Streaming Config - 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 string - This must be unique within the organization.
- Organization string
- The organization whose Cloud Security Command Center the Notification Config lives in.
- Pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- Streaming
Config NotificationConfig Streaming Config Args - 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 String - This must be unique within the organization.
- organization String
- The organization whose Cloud Security Command Center the Notification Config lives in.
- pubsub
Topic String - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- streaming
Config NotificationConfig Streaming Config - 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 string - This must be unique within the organization.
- organization string
- The organization whose Cloud Security Command Center the Notification Config lives in.
- pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- streaming
Config NotificationConfig Streaming Config - 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 NotificationConfig Streaming Config Args - The config for triggering streaming-based notifications. Structure is documented below.
- description str
- The description of the notification config (max of 1024 characters).
- config
Id String - This must be unique within the organization.
- organization String
- The organization whose Cloud Security Command Center the Notification Config lives in.
- pubsub
Topic String - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- streaming
Config 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}}
. - Service
Account 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}}
. - Service
Account 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}}
. - service
Account 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}}
. - service
Account 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}}
. - service
Account 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.
- Config
Id 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.
- Pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- Service
Account string - The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
- Streaming
Config NotificationConfig Streaming Config - The config for triggering streaming-based notifications. Structure is documented below.
- Config
Id 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.
- Pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- Service
Account string - The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
- Streaming
Config NotificationConfig Streaming Config Args - The config for triggering streaming-based notifications. Structure is documented below.
- config
Id 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.
- pubsub
Topic String - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- service
Account String - The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
- streaming
Config NotificationConfig Streaming Config - The config for triggering streaming-based notifications. Structure is documented below.
- config
Id 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.
- pubsub
Topic string - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- service
Account string - The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
- streaming
Config NotificationConfig Streaming Config - 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 NotificationConfig Streaming Config Args - The config for triggering streaming-based notifications. Structure is documented below.
- config
Id 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.
- pubsub
Topic String - The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
- service
Account String - The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
- streaming
Config 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:
organizations/{{organization}}/notificationConfigs/{{name}}
{{organization}}/{{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 organizations/{{organization}}/notificationConfigs/{{name}}
$ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default {{organization}}/{{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.