1. Packages
  2. Packages
  3. AWS
  4. API Docs
  5. s3
  6. getBucketNotification
Viewing docs for AWS v7.37.0
published on Tuesday, Jul 14, 2026 by Pulumi
aws logo
Viewing docs for AWS v7.37.0
published on Tuesday, Jul 14, 2026 by Pulumi

    Provides details about the notification configuration of an S3 bucket.

    Useful when aws.s3.BucketNotification is the right resource but the bucket already has notifications you do not manage. Read the existing notifications with this data source and re-emit them — alongside your own — in a single aws.s3.BucketNotification resource. See issue #501 for the longer story. For sharing a bucket across many independent consumers, enabling EventBridge on the resource is usually a better fit.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = aws.s3.getBucketNotification({
        bucket: "example-bucket",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.s3.get_bucket_notification(bucket="example-bucket")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := s3.LookupBucketNotification(ctx, &s3.LookupBucketNotificationArgs{
    			Bucket: "example-bucket",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = Aws.S3.GetBucketNotification.Invoke(new()
        {
            Bucket = "example-bucket",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.s3.S3Functions;
    import com.pulumi.aws.s3.inputs.GetBucketNotificationArgs;
    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) {
            final var example = S3Functions.getBucketNotification(GetBucketNotificationArgs.builder()
                .bucket("example-bucket")
                .build());
    
        }
    }
    
    variables:
      example:
        fn::invoke:
          function: aws:s3:getBucketNotification
          arguments:
            bucket: example-bucket
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    data "aws_s3_getbucketnotification" "example" {
      bucket = "example-bucket"
    }
    

    Conditionally Subscribe via EventBridge

    When the bucket forwards events to Amazon EventBridge, independent consumers can subscribe with their own aws.cloudwatch.EventRule resources. Use this data source to subscribe only when EventBridge is in fact enabled on the bucket.

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    export = async () => {
        const shared = await aws.s3.getBucketNotification({
            bucket: "shared-bucket",
        });
        const s3ObjectCreated: aws.cloudwatch.EventRule[] = [];
        for (let range = 0; range < (shared.eventbridge ? 1 : 0); range++) {
            s3ObjectCreated.push(new aws.cloudwatch.EventRule(`s3_object_created-${range}`, {
                name: "shared-bucket-object-created",
                description: "S3 object-created events from the shared bucket.",
                eventPattern: JSON.stringify({
                    source: ["aws.s3"],
                    "detail-type": ["Object Created"],
                    detail: {
                        bucket: {
                            name: [shared.bucket],
                        },
                    },
                }),
            }));
        }
    }
    
    import pulumi
    from typing import Any
    import json
    import pulumi_aws as aws
    
    shared = aws.s3.get_bucket_notification(bucket="shared-bucket")
    s3_object_created: list[aws.cloudwatch.EventRule] = []
    for s3_object_created_range in [{"value": i} for i in range(0, 1 if shared.eventbridge else 0)]:
        s3_object_created.append(aws.cloudwatch.EventRule(f"s3_object_created-{s3_object_created_range['value']}",
            name="shared-bucket-object-created",
            description="S3 object-created events from the shared bucket.",
            event_pattern=json.dumps({
                "source": ["aws.s3"],
                "detail-type": ["Object Created"],
                "detail": {
                    "bucket": {
                        "name": [shared.bucket],
                    },
                },
            })))
    
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		shared, err := s3.LookupBucketNotification(ctx, &s3.LookupBucketNotificationArgs{
    			Bucket: "shared-bucket",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"source": []string{
    				"aws.s3",
    			},
    			"detail-type": []string{
    				"Object Created",
    			},
    			"detail": map[string]interface{}{
    				"bucket": map[string]interface{}{
    					"name": []*string{
    						shared.Bucket,
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		var tmp0 int
    		if pulumi.Bool(shared.Eventbridge) {
    			tmp0 = 1
    		} else {
    			tmp0 = 0
    		}
    		var s3ObjectCreated []*cloudwatch.EventRule
    		for index := 0; index < tmp0; index++ {
    			key0 := index
    			_ := index
    			__res, err := cloudwatch.NewEventRule(ctx, fmt.Sprintf("s3_object_created-%v", key0), &cloudwatch.EventRuleArgs{
    				Name:         pulumi.String("shared-bucket-object-created"),
    				Description:  pulumi.String("S3 object-created events from the shared bucket."),
    				EventPattern: json0,
    			})
    			if err != nil {
    				return err
    			}
    			s3ObjectCreated = append(s3ObjectCreated, __res)
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using System.Threading.Tasks;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(async() => 
    {
        var shared = await Aws.S3.GetBucketNotification.InvokeAsync(new()
        {
            Bucket = "shared-bucket",
        });
    
        var s3ObjectCreated = new List<Aws.CloudWatch.EventRule>();
        for (var rangeIndex = 0; rangeIndex < shared.Eventbridge ? 1 : 0; rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            s3ObjectCreated.Add(new Aws.CloudWatch.EventRule($"s3_object_created-{range.Value}", new()
            {
                Name = "shared-bucket-object-created",
                Description = "S3 object-created events from the shared bucket.",
                EventPattern = JsonSerializer.Serialize(new Dictionary<string, object?>
                {
                    ["source"] = new[]
                    {
                        "aws.s3",
                    },
                    ["detail-type"] = new[]
                    {
                        "Object Created",
                    },
                    ["detail"] = new Dictionary<string, object?>
                    {
                        ["bucket"] = new Dictionary<string, object?>
                        {
                            ["name"] = new[]
                            {
                                shared.Bucket,
                            },
                        },
                    },
                }),
            }));
        }
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.s3.S3Functions;
    import com.pulumi.aws.s3.inputs.GetBucketNotificationArgs;
    import com.pulumi.aws.cloudwatch.EventRule;
    import com.pulumi.aws.cloudwatch.EventRuleArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import com.pulumi.codegen.internal.KeyedValue;
    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) {
            final var shared = S3Functions.getBucketNotification(GetBucketNotificationArgs.builder()
                .bucket("shared-bucket")
                .build());
    
            for (var i = 0; i < shared.eventbridge() ? 1 : 0; i++) {
                new EventRule("s3ObjectCreated-" + i, EventRuleArgs.builder()
                    .name("shared-bucket-object-created")
                    .description("S3 object-created events from the shared bucket.")
                    .eventPattern(serializeJson(
                        jsonObject(
                            jsonProperty("source", jsonArray("aws.s3")),
                            jsonProperty("detail-type", jsonArray("Object Created")),
                            jsonProperty("detail", jsonObject(
                                jsonProperty("bucket", jsonObject(
                                    jsonProperty("name", jsonArray(shared.bucket()))
                                ))
                            ))
                        )))
                    .build());
    
            
    }
        }
    }
    
    resources:
      s3ObjectCreated:
        type: aws:cloudwatch:EventRule
        name: s3_object_created
        properties:
          name: shared-bucket-object-created
          description: S3 object-created events from the shared bucket.
          eventPattern:
            fn::toJSON:
              source:
                - aws.s3
              detail-type:
                - Object Created
              detail:
                bucket:
                  name:
                    - ${shared.bucket}
        options: {}
    variables:
      shared:
        fn::invoke:
          function: aws:s3:getBucketNotification
          arguments:
            bucket: shared-bucket
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    data "aws_s3_getbucketnotification" "shared" {
      bucket = "shared-bucket"
    }
    
    resource "aws_cloudwatch_eventrule" "s3_object_created" {
      count       = data.aws_s3_getbucketnotification.shared.eventbridge ? 1 : 0
      name        = "shared-bucket-object-created"
      description = "S3 object-created events from the shared bucket."
      event_pattern = jsonencode({
        "source"      = ["aws.s3"]
        "detail-type" = ["Object Created"]
        "detail" = {
          "bucket" = {
            "name" = [data.aws_s3_getbucketnotification.shared.bucket]
          }
        }
      })
    }
    

    Read Existing Notifications and Re-emit Them

    The S3 PutBucketNotificationConfiguration API replaces the entire notification configuration on every call, so a single aws.s3.BucketNotification resource owns the bucket. To preserve notifications already on the bucket — or to mirror one bucket’s configuration onto another — read them with this data source and pass them through dynamic blocks. The data source’s output shape matches the resource’s input shape, so each block forwards directly.

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const existing = aws.s3.getBucketNotification({
        bucket: exampleAwsS3Bucket.id,
    });
    const example = new aws.s3.BucketNotification("example", {
        lambdaFunctions: .map(entry => ({
            id: entry.value.id,
            lambdaFunctionArn: entry.value.lambdaFunctionArn,
            events: entry.value.events,
            filterPrefix: entry.value.filterPrefix,
            filterSuffix: entry.value.filterSuffix,
        })),
        queues: .map(entry2 => ({
            id: entry2.value.id,
            queueArn: entry2.value.queueArn,
            events: entry2.value.events,
            filterPrefix: entry2.value.filterPrefix,
            filterSuffix: entry2.value.filterSuffix,
        })),
        topics: .map(entry3 => ({
            id: entry3.value.id,
            topicArn: entry3.value.topicArn,
            events: entry3.value.events,
            filterPrefix: entry3.value.filterPrefix,
            filterSuffix: entry3.value.filterSuffix,
        })),
        bucket: exampleAwsS3Bucket.id,
        eventbridge: existing.then(existing => existing.eventbridge),
    });
    
    import pulumi
    import pulumi_aws as aws
    
    existing = aws.s3.get_bucket_notification(bucket=example_aws_s3_bucket["id"])
    example = aws.s3.BucketNotification("example",
        lambda_functions=[{"key": k, "value": v} for k, v in sorted(existing.lambda_functions.items())].apply(lambda entries: [aws.s3.BucketNotificationLambdaFunctionArgs(
            id=entry["value"].id,
            lambda_function_arn=entry["value"].lambda_function_arn,
            events=entry["value"].events,
            filter_prefix=entry["value"].filter_prefix,
            filter_suffix=entry["value"].filter_suffix,
        ) for entry in entries]),
        queues=[{"key": k, "value": v} for k, v in sorted(existing.queues.items())].apply(lambda entries: [aws.s3.BucketNotificationQueueArgs(
            id=entry2["value"].id,
            queue_arn=entry2["value"].queue_arn,
            events=entry2["value"].events,
            filter_prefix=entry2["value"].filter_prefix,
            filter_suffix=entry2["value"].filter_suffix,
        ) for entry2 in entries]),
        topics=[{"key": k, "value": v} for k, v in sorted(existing.topics.items())].apply(lambda entries: [aws.s3.BucketNotificationTopicArgs(
            id=entry3["value"].id,
            topic_arn=entry3["value"].topic_arn,
            events=entry3["value"].events,
            filter_prefix=entry3["value"].filter_prefix,
            filter_suffix=entry3["value"].filter_suffix,
        ) for entry3 in entries]),
        bucket=example_aws_s3_bucket["id"],
        eventbridge=existing.eventbridge)
    
    Example coming soon!
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var existing = Aws.S3.GetBucketNotification.Invoke(new()
        {
            Bucket = exampleAwsS3Bucket.Id,
        });
    
        var example = new Aws.S3.BucketNotification("example", new()
        {
            LambdaFunctions = ,
            Queues = ,
            Topics = ,
            Bucket = exampleAwsS3Bucket.Id,
            Eventbridge = existing.Apply(getBucketNotificationResult => getBucketNotificationResult.Eventbridge),
        });
    
    });
    
    Example coming soon!
    
    Example coming soon!
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    data "aws_s3_getbucketnotification" "existing" {
      bucket = exampleAwsS3Bucket.id
    }
    
    resource "aws_s3_bucketnotification" "example" {
      dynamic "lambda_functions" {
        for_each = entries(data.aws_s3_getbucketnotification.existing.lambda_functions)
        content {
          id                  = lambda_functions.value.value.id
          lambda_function_arn = lambda_functions.value.value.lambdaFunctionArn
          events              = lambda_functions.value.value.events
          filter_prefix       = lambda_functions.value.value.filterPrefix
          filter_suffix       = lambda_functions.value.value.filterSuffix
        }
      }
      dynamic "queues" {
        for_each = entries(data.aws_s3_getbucketnotification.existing.queues)
        content {
          id            = queues.value.value.id
          queue_arn     = queues.value.value.queueArn
          events        = queues.value.value.events
          filter_prefix = queues.value.value.filterPrefix
          filter_suffix = queues.value.value.filterSuffix
        }
      }
      dynamic "topics" {
        for_each = entries(data.aws_s3_getbucketnotification.existing.topics)
        content {
          id            = topics.value.value.id
          topic_arn     = topics.value.value.topicArn
          events        = topics.value.value.events
          filter_prefix = topics.value.value.filterPrefix
          filter_suffix = topics.value.value.filterSuffix
        }
      }
      bucket      = exampleAwsS3Bucket.id
      eventbridge = data.aws_s3_getbucketnotification.existing.eventbridge
    }
    

    To add a new rule alongside existing ones, exclude IDs your resource owns from the iteration to avoid duplicates, and declare those rules separately:

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.s3.BucketNotification("example", {
        lambdaFunctions: [{
            id: "my-team-rule",
            lambdaFunctionArn: mine.arn,
            events: ["s3:ObjectRemoved:*"],
        }],
        bucket: exampleAwsS3Bucket.id,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.s3.BucketNotification("example",
        lambda_functions=[{
            "id": "my-team-rule",
            "lambda_function_arn": mine["arn"],
            "events": ["s3:ObjectRemoved:*"],
        }],
        bucket=example_aws_s3_bucket["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := s3.NewBucketNotification(ctx, "example", &s3.BucketNotificationArgs{
    			LambdaFunctions: s3.BucketNotificationLambdaFunctionArray{
    				&s3.BucketNotificationLambdaFunctionArgs{
    					Id:                pulumi.String("my-team-rule"),
    					LambdaFunctionArn: pulumi.Any(mine.Arn),
    					Events: pulumi.StringArray{
    						pulumi.String("s3:ObjectRemoved:*"),
    					},
    				},
    			},
    			Bucket: pulumi.Any(exampleAwsS3Bucket.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.S3.BucketNotification("example", new()
        {
            LambdaFunctions = new[]
            {
                new Aws.S3.Inputs.BucketNotificationLambdaFunctionArgs
                {
                    Id = "my-team-rule",
                    LambdaFunctionArn = mine.Arn,
                    Events = new[]
                    {
                        "s3:ObjectRemoved:*",
                    },
                },
            },
            Bucket = exampleAwsS3Bucket.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.s3.BucketNotification;
    import com.pulumi.aws.s3.BucketNotificationArgs;
    import com.pulumi.aws.s3.inputs.BucketNotificationLambdaFunctionArgs;
    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 example = new BucketNotification("example", BucketNotificationArgs.builder()
                .lambdaFunctions(BucketNotificationLambdaFunctionArgs.builder()
                    .id("my-team-rule")
                    .lambdaFunctionArn(mine.arn())
                    .events("s3:ObjectRemoved:*")
                    .build())
                .bucket(exampleAwsS3Bucket.id())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:s3:BucketNotification
        properties:
          lambdaFunctions:
            - id: my-team-rule
              lambdaFunctionArn: ${mine.arn}
              events:
                - s3:ObjectRemoved:*
          bucket: ${exampleAwsS3Bucket.id}
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_s3_bucketnotification" "example" {
      lambda_functions {
        id                  = "my-team-rule"
        lambda_function_arn = mine.arn
        events              = ["s3:ObjectRemoved:*"]
      }
      bucket = exampleAwsS3Bucket.id
    }
    

    Note: The S3 API has no per-rule mutation primitive and no compare-and-swap, so two pulumi up runs from different state files writing to the same bucket can still race. For independent consumers of one bucket, EventBridge is generally a better fit.

    Using getBucketNotification

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getBucketNotification(args: GetBucketNotificationArgs, opts?: InvokeOptions): Promise<GetBucketNotificationResult>
    function getBucketNotificationOutput(args: GetBucketNotificationOutputArgs, opts?: InvokeOptions): Output<GetBucketNotificationResult>
    def get_bucket_notification(bucket: Optional[str] = None,
                                region: Optional[str] = None,
                                opts: Optional[InvokeOptions] = None) -> GetBucketNotificationResult
    def get_bucket_notification_output(bucket: pulumi.Input[Optional[str]] = None,
                                region: pulumi.Input[Optional[str]] = None,
                                opts: Optional[InvokeOptions] = None) -> Output[GetBucketNotificationResult]
    func LookupBucketNotification(ctx *Context, args *LookupBucketNotificationArgs, opts ...InvokeOption) (*LookupBucketNotificationResult, error)
    func LookupBucketNotificationOutput(ctx *Context, args *LookupBucketNotificationOutputArgs, opts ...InvokeOption) LookupBucketNotificationResultOutput

    > Note: This function is named LookupBucketNotification in the Go SDK.

    public static class GetBucketNotification 
    {
        public static Task<GetBucketNotificationResult> InvokeAsync(GetBucketNotificationArgs args, InvokeOptions? opts = null)
        public static Output<GetBucketNotificationResult> Invoke(GetBucketNotificationInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetBucketNotificationResult> getBucketNotification(GetBucketNotificationArgs args, InvokeOptions options)
    public static Output<GetBucketNotificationResult> getBucketNotification(GetBucketNotificationArgs args, InvokeOptions options)
    
    fn::invoke:
      function: aws:s3/getBucketNotification:getBucketNotification
      arguments:
        # arguments dictionary
    data "aws_s3_getbucketnotification" "name" {
        # arguments
    }

    The following arguments are supported:

    Bucket string
    Name of the bucket.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Bucket string
    Name of the bucket.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    bucket string
    Name of the bucket.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    bucket String
    Name of the bucket.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    bucket string
    Name of the bucket.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    bucket str
    Name of the bucket.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    bucket String
    Name of the bucket.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.

    getBucketNotification Result

    The following output properties are available:

    Bucket string
    Eventbridge bool
    Whether Amazon EventBridge notifications are enabled on this bucket.
    Id string
    The provider-assigned unique ID for this managed resource.
    LambdaFunctions List<GetBucketNotificationLambdaFunction>
    List of Lambda function notification configurations. See lambdaFunction below.
    Queues List<GetBucketNotificationQueue>
    List of SQS queue notification configurations. See queue below.
    Region string
    Topics List<GetBucketNotificationTopic>
    List of SNS topic notification configurations. See topic below.
    Bucket string
    Eventbridge bool
    Whether Amazon EventBridge notifications are enabled on this bucket.
    Id string
    The provider-assigned unique ID for this managed resource.
    LambdaFunctions []GetBucketNotificationLambdaFunction
    List of Lambda function notification configurations. See lambdaFunction below.
    Queues []GetBucketNotificationQueue
    List of SQS queue notification configurations. See queue below.
    Region string
    Topics []GetBucketNotificationTopic
    List of SNS topic notification configurations. See topic below.
    bucket string
    eventbridge bool
    Whether Amazon EventBridge notifications are enabled on this bucket.
    id string
    The provider-assigned unique ID for this managed resource.
    lambda_functions list(object)
    List of Lambda function notification configurations. See lambdaFunction below.
    queues list(object)
    List of SQS queue notification configurations. See queue below.
    region string
    topics list(object)
    List of SNS topic notification configurations. See topic below.
    bucket String
    eventbridge Boolean
    Whether Amazon EventBridge notifications are enabled on this bucket.
    id String
    The provider-assigned unique ID for this managed resource.
    lambdaFunctions List<GetBucketNotificationLambdaFunction>
    List of Lambda function notification configurations. See lambdaFunction below.
    queues List<GetBucketNotificationQueue>
    List of SQS queue notification configurations. See queue below.
    region String
    topics List<GetBucketNotificationTopic>
    List of SNS topic notification configurations. See topic below.
    bucket string
    eventbridge boolean
    Whether Amazon EventBridge notifications are enabled on this bucket.
    id string
    The provider-assigned unique ID for this managed resource.
    lambdaFunctions GetBucketNotificationLambdaFunction[]
    List of Lambda function notification configurations. See lambdaFunction below.
    queues GetBucketNotificationQueue[]
    List of SQS queue notification configurations. See queue below.
    region string
    topics GetBucketNotificationTopic[]
    List of SNS topic notification configurations. See topic below.
    bucket str
    eventbridge bool
    Whether Amazon EventBridge notifications are enabled on this bucket.
    id str
    The provider-assigned unique ID for this managed resource.
    lambda_functions Sequence[GetBucketNotificationLambdaFunction]
    List of Lambda function notification configurations. See lambdaFunction below.
    queues Sequence[GetBucketNotificationQueue]
    List of SQS queue notification configurations. See queue below.
    region str
    topics Sequence[GetBucketNotificationTopic]
    List of SNS topic notification configurations. See topic below.
    bucket String
    eventbridge Boolean
    Whether Amazon EventBridge notifications are enabled on this bucket.
    id String
    The provider-assigned unique ID for this managed resource.
    lambdaFunctions List<Property Map>
    List of Lambda function notification configurations. See lambdaFunction below.
    queues List<Property Map>
    List of SQS queue notification configurations. See queue below.
    region String
    topics List<Property Map>
    List of SNS topic notification configurations. See topic below.

    Supporting Types

    GetBucketNotificationLambdaFunction

    Events List<string>
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    LambdaFunctionArn string
    ARN of the Lambda function.
    Events []string
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    LambdaFunctionArn string
    ARN of the Lambda function.
    events list(string)
    Events for which Amazon S3 sends notifications.
    filter_prefix string
    Object key name prefix.
    filter_suffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    lambda_function_arn string
    ARN of the Lambda function.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    lambdaFunctionArn String
    ARN of the Lambda function.
    events string[]
    Events for which Amazon S3 sends notifications.
    filterPrefix string
    Object key name prefix.
    filterSuffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    lambdaFunctionArn string
    ARN of the Lambda function.
    events Sequence[str]
    Events for which Amazon S3 sends notifications.
    filter_prefix str
    Object key name prefix.
    filter_suffix str
    Object key name suffix.
    id str
    Unique identifier for the notification configuration.
    lambda_function_arn str
    ARN of the Lambda function.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    lambdaFunctionArn String
    ARN of the Lambda function.

    GetBucketNotificationQueue

    Events List<string>
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    QueueArn string
    ARN of the SQS queue.
    Events []string
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    QueueArn string
    ARN of the SQS queue.
    events list(string)
    Events for which Amazon S3 sends notifications.
    filter_prefix string
    Object key name prefix.
    filter_suffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    queue_arn string
    ARN of the SQS queue.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    queueArn String
    ARN of the SQS queue.
    events string[]
    Events for which Amazon S3 sends notifications.
    filterPrefix string
    Object key name prefix.
    filterSuffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    queueArn string
    ARN of the SQS queue.
    events Sequence[str]
    Events for which Amazon S3 sends notifications.
    filter_prefix str
    Object key name prefix.
    filter_suffix str
    Object key name suffix.
    id str
    Unique identifier for the notification configuration.
    queue_arn str
    ARN of the SQS queue.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    queueArn String
    ARN of the SQS queue.

    GetBucketNotificationTopic

    Events List<string>
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    TopicArn string
    ARN of the SNS topic.
    Events []string
    Events for which Amazon S3 sends notifications.
    FilterPrefix string
    Object key name prefix.
    FilterSuffix string
    Object key name suffix.
    Id string
    Unique identifier for the notification configuration.
    TopicArn string
    ARN of the SNS topic.
    events list(string)
    Events for which Amazon S3 sends notifications.
    filter_prefix string
    Object key name prefix.
    filter_suffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    topic_arn string
    ARN of the SNS topic.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    topicArn String
    ARN of the SNS topic.
    events string[]
    Events for which Amazon S3 sends notifications.
    filterPrefix string
    Object key name prefix.
    filterSuffix string
    Object key name suffix.
    id string
    Unique identifier for the notification configuration.
    topicArn string
    ARN of the SNS topic.
    events Sequence[str]
    Events for which Amazon S3 sends notifications.
    filter_prefix str
    Object key name prefix.
    filter_suffix str
    Object key name suffix.
    id str
    Unique identifier for the notification configuration.
    topic_arn str
    ARN of the SNS topic.
    events List<String>
    Events for which Amazon S3 sends notifications.
    filterPrefix String
    Object key name prefix.
    filterSuffix String
    Object key name suffix.
    id String
    Unique identifier for the notification configuration.
    topicArn String
    ARN of the SNS topic.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    Viewing docs for AWS v7.37.0
    published on Tuesday, Jul 14, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial