Skip to content

aws.s3-bucket-notification resource

Description

BucketNotification manages the whole notification configuration of one S3 bucket. S3 has no create call for this resource: Create and Update both send a complete PutBucketNotificationConfiguration request, and Delete sends the same request with an empty configuration. Destination ids are optional API fields; when omitted, the library sends stable generated ids and returns the ids read back from S3.

Source: internal/service/s3/bucket_notification_rsrc.go:41

Example usage:

imports: {
  aws: 'github.com/cloudboss/unobin-library-aws'
}

resources: {
  example: aws.s3-bucket-notification {
    # Set input fields here.
  }
}

Inputs

bucket

string

required

eventbridge

optional(boolean)

lambda-function

list(object)
list(
  object({
    id: optional(string)
    lambda-function-arn: optional(string)
    events: list(string)
    filter-prefix: optional(string)
    filter-suffix: optional(string)
  })
)

queue

list(object)
list(
  object({
    id: optional(string)
    queue-arn: string
    events: list(string)
    filter-prefix: optional(string)
    filter-suffix: optional(string)
  })
)

topic

list(object)
list(
  object({
    id: optional(string)
    topic-arn: string
    events: list(string)
    filter-prefix: optional(string)
    filter-suffix: optional(string)
  })
)

Input Constraints

This kind declares no extra input constraints.

Outputs

bucket

string

eventbridge

boolean

lambda-function-observed-summaries

list(object)
list(
  object({
    id: string
    lambda-function-arn: string
    events: list(string)
    filter-prefix: string
    filter-suffix: string
  })
)

queue-observed-summaries

list(object)
list(
  object({
    id: string
    queue-arn: string
    events: list(string)
    filter-prefix: string
    filter-suffix: string
  })
)

topic-observed-summaries

list(object)
list(
  object({
    id: string
    topic-arn: string
    events: list(string)
    filter-prefix: string
    filter-suffix: string
  })
)