V2Folder Notification Config Args
data class V2FolderNotificationConfigArgs(val configId: Output<String>? = null, val description: Output<String>? = null, val folder: Output<String>? = null, val location: Output<String>? = null, val pubsubTopic: Output<String>? = null, val streamingConfig: Output<V2FolderNotificationConfigStreamingConfigArgs>? = null) : ConvertibleToJava<V2FolderNotificationConfigArgs>
This is a continuous export that exports findings to a Pub/Sub topic. To get more information about FolderNotificationConfig, see:
How-to Guides
Example Usage
Scc V2 Folder Notification Config Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const folder = new gcp.organizations.Folder("folder", {
parent: "organizations/123456789",
displayName: "folder-name",
});
const sccV2FolderNotificationConfig = new gcp.pubsub.Topic("scc_v2_folder_notification_config", {name: "my-topic"});
const customNotificationConfig = new gcp.securitycenter.V2FolderNotificationConfig("custom_notification_config", {
configId: "my-config",
folder: folder.folderId,
location: "global",
description: "My custom Cloud Security Command Center Finding Notification Configuration",
pubsubTopic: sccV2FolderNotificationConfig.id,
streamingConfig: {
filter: "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
},
});
Content copied to clipboard
import pulumi
import pulumi_gcp as gcp
folder = gcp.organizations.Folder("folder",
parent="organizations/123456789",
display_name="folder-name")
scc_v2_folder_notification_config = gcp.pubsub.Topic("scc_v2_folder_notification_config", name="my-topic")
custom_notification_config = gcp.securitycenter.V2FolderNotificationConfig("custom_notification_config",
config_id="my-config",
folder=folder.folder_id,
location="global",
description="My custom Cloud Security Command Center Finding Notification Configuration",
pubsub_topic=scc_v2_folder_notification_config.id,
streaming_config={
"filter": "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var folder = new Gcp.Organizations.Folder("folder", new()
{
Parent = "organizations/123456789",
DisplayName = "folder-name",
});
var sccV2FolderNotificationConfig = new Gcp.PubSub.Topic("scc_v2_folder_notification_config", new()
{
Name = "my-topic",
});
var customNotificationConfig = new Gcp.SecurityCenter.V2FolderNotificationConfig("custom_notification_config", new()
{
ConfigId = "my-config",
Folder = folder.FolderId,
Location = "global",
Description = "My custom Cloud Security Command Center Finding Notification Configuration",
PubsubTopic = sccV2FolderNotificationConfig.Id,
StreamingConfig = new Gcp.SecurityCenter.Inputs.V2FolderNotificationConfigStreamingConfigArgs
{
Filter = "category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"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 {
folder, err := organizations.NewFolder(ctx, "folder", &organizations.FolderArgs{
Parent: pulumi.String("organizations/123456789"),
DisplayName: pulumi.String("folder-name"),
})
if err != nil {
return err
}
sccV2FolderNotificationConfig, err := pubsub.NewTopic(ctx, "scc_v2_folder_notification_config", &pubsub.TopicArgs{
Name: pulumi.String("my-topic"),
})
if err != nil {
return err
}
_, err = securitycenter.NewV2FolderNotificationConfig(ctx, "custom_notification_config", &securitycenter.V2FolderNotificationConfigArgs{
ConfigId: pulumi.String("my-config"),
Folder: folder.FolderId,
Location: pulumi.String("global"),
Description: pulumi.String("My custom Cloud Security Command Center Finding Notification Configuration"),
PubsubTopic: sccV2FolderNotificationConfig.ID(),
StreamingConfig: &securitycenter.V2FolderNotificationConfigStreamingConfigArgs{
Filter: pulumi.String("category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\""),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.Folder;
import com.pulumi.gcp.organizations.FolderArgs;
import com.pulumi.gcp.pubsub.Topic;
import com.pulumi.gcp.pubsub.TopicArgs;
import com.pulumi.gcp.securitycenter.V2FolderNotificationConfig;
import com.pulumi.gcp.securitycenter.V2FolderNotificationConfigArgs;
import com.pulumi.gcp.securitycenter.inputs.V2FolderNotificationConfigStreamingConfigArgs;
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 folder = new Folder("folder", FolderArgs.builder()
.parent("organizations/123456789")
.displayName("folder-name")
.build());
var sccV2FolderNotificationConfig = new Topic("sccV2FolderNotificationConfig", TopicArgs.builder()
.name("my-topic")
.build());
var customNotificationConfig = new V2FolderNotificationConfig("customNotificationConfig", V2FolderNotificationConfigArgs.builder()
.configId("my-config")
.folder(folder.folderId())
.location("global")
.description("My custom Cloud Security Command Center Finding Notification Configuration")
.pubsubTopic(sccV2FolderNotificationConfig.id())
.streamingConfig(V2FolderNotificationConfigStreamingConfigArgs.builder()
.filter("category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"")
.build())
.build());
}
}
Content copied to clipboard
resources:
folder:
type: gcp:organizations:Folder
properties:
parent: organizations/123456789
displayName: folder-name
sccV2FolderNotificationConfig:
type: gcp:pubsub:Topic
name: scc_v2_folder_notification_config
properties:
name: my-topic
customNotificationConfig:
type: gcp:securitycenter:V2FolderNotificationConfig
name: custom_notification_config
properties:
configId: my-config
folder: ${folder.folderId}
location: global
description: My custom Cloud Security Command Center Finding Notification Configuration
pubsubTopic: ${sccV2FolderNotificationConfig.id}
streamingConfig:
filter: category = "OPEN_FIREWALL" AND state = "ACTIVE"
Content copied to clipboard
Import
FolderNotificationConfig can be imported using any of these accepted formats:
folders/{{folder}}/locations/{{location}}/notificationConfigs/{{config_id}}
{{folder}}/{{location}}/{{config_id}}
When using thepulumi import
command, FolderNotificationConfig can be imported using one of the formats above. For example:
$ pulumi import gcp:securitycenter/v2FolderNotificationConfig:V2FolderNotificationConfig default folders/{{folder}}/locations/{{location}}/notificationConfigs/{{config_id}}
Content copied to clipboard
$ pulumi import gcp:securitycenter/v2FolderNotificationConfig:V2FolderNotificationConfig default {{folder}}/{{location}}/{{config_id}}
Content copied to clipboard
Properties
Link copied to clipboard
The description of the notification config (max of 1024 characters).
Link copied to clipboard
The Pub/Sub topic to send notifications to. Its format is "projects/project_id/topics/topic".
Link copied to clipboard
The config for triggering streaming-based notifications. Structure is documented below.