FolderExclusion class

Manages a folder-level logging exclusion. For more information see:

> You can specify exclusions for log sinks created by the provider by using the exclusions field of gcp.logging.FolderSink

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const my_folder = new gcp.organizations.Folder("my-folder", {
    displayName: "My folder",
    parent: "organizations/123456",
});
const my_exclusion = new gcp.logging.FolderExclusion("my-exclusion", {
    name: "my-instance-debug-exclusion",
    folder: my_folder.name,
    description: "Exclude GCE instance debug logs",
    filter: "resource.type = gce_instance AND severity <= DEBUG",
});
import pulumi
import pulumi_gcp as gcp

my_folder = gcp.organizations.Folder("my-folder",
    display_name="My folder",
    parent="organizations/123456")
my_exclusion = gcp.logging.FolderExclusion("my-exclusion",
    name="my-instance-debug-exclusion",
    folder=my_folder.name,
    description="Exclude GCE instance debug logs",
    filter="resource.type = gce_instance AND severity <= DEBUG")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var my_folder = new Gcp.Organizations.Folder("my-folder", new()
    {
        DisplayName = "My folder",
        Parent = "organizations/123456",
    });

    var my_exclusion = new Gcp.Logging.FolderExclusion("my-exclusion", new()
    {
        Name = "my-instance-debug-exclusion",
        Folder = my_folder.Name,
        Description = "Exclude GCE instance debug logs",
        Filter = "resource.type = gce_instance AND severity <= DEBUG",
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/logging"
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		my_folder, err := organizations.NewFolder(ctx, "my-folder", &organizations.FolderArgs{
			DisplayName: pulumi.String("My folder"),
			Parent:      pulumi.String("organizations/123456"),
		})
		if err != nil {
			return err
		}
		_, err = logging.NewFolderExclusion(ctx, "my-exclusion", &logging.FolderExclusionArgs{
			Name:        pulumi.String("my-instance-debug-exclusion"),
			Folder:      my_folder.Name,
			Description: pulumi.String("Exclude GCE instance debug logs"),
			Filter:      pulumi.String("resource.type = gce_instance AND severity <= DEBUG"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_logging_folderexclusion" "my-exclusion" {
  name        = "my-instance-debug-exclusion"
  folder      = gcp_organizations_folder.my-folder.name
  description = "Exclude GCE instance debug logs"
  filter      = "resource.type = gce_instance AND severity <= DEBUG"
}
resource "gcp_organizations_folder" "my-folder" {
  display_name = "My folder"
  parent       = "organizations/123456"
}
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.logging.FolderExclusion;
import com.pulumi.gcp.logging.FolderExclusionArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 my_folder = new Folder("my-folder", FolderArgs.builder()
            .displayName("My folder")
            .parent("organizations/123456")
            .build());

        var my_exclusion = new FolderExclusion("my-exclusion", FolderExclusionArgs.builder()
            .name("my-instance-debug-exclusion")
            .folder(my_folder.name())
            .description("Exclude GCE instance debug logs")
            .filter("resource.type = gce_instance AND severity <= DEBUG")
            .build());

    }
}
resources:
  my-exclusion:
    type: gcp:logging:FolderExclusion
    properties:
      name: my-instance-debug-exclusion
      folder: ${["my-folder"].name}
      description: Exclude GCE instance debug logs
      filter: resource.type = gce_instance AND severity <= DEBUG
  my-folder:
    type: gcp:organizations:Folder
    properties:
      displayName: My folder
      parent: organizations/123456

Import

Folder-level logging exclusions can be imported using their URI, e.g.

  • folders/{{folder}}/exclusions/{{name}}

When using the pulumi import command, folder-level logging exclusions can be imported using one of the formats above. For example:

$ pulumi import gcp:logging/folderExclusion:FolderExclusion default folders/{{folder}}/exclusions/{{name}}

Constructors

FolderExclusion(String name, {FolderExclusionArgs? args, CustomResourceOptions? options})
Creates a new FolderExclusion. name The Pulumi resource name. args Arguments used to configure this FolderExclusion. The set of arguments for FolderExclusion. options Resource options controlling this resource's behavior.
FolderExclusion.reference(String urn)
Creates a typed reference to an existing FolderExclusion resource.

Properties

childResources → Set<Resource>
finalinherited
completionSources ↔ Map<String, IOutputCompletionSource>
latefinalinherited
description ↔ Output<String?>
A human-readable description.
latefinal
disabled ↔ Output<bool?>
Whether this exclusion rule should be disabled or not. This defaults to false.
latefinal
filter ↔ Output<String>
The filter to apply when excluding logs. Only log entries that match the filter are excluded. See Advanced Log Filters for information on how to write a filter.
latefinal
folder ↔ Output<String>
The folder to be exported to the sink. Note that either FOLDER_ID or "folders/FOLDER_ID" is accepted.
latefinal
hashCode → int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom → bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected → bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote → bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference → bool
Whether this instance represents a resource value returned over RPC.
finalinherited
name ↔ Output<String>
The name of the logging exclusion.
latefinal
resourceTransforms → List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
transformations → List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() → String
Returns this resource's logical name.
inherited
getResourceType() → String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) → Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {FolderExclusionState? state, CustomResourceOptions? options}) → FolderExclusion
Gets an existing FolderExclusion resource's state with the given name and id.