class Aws::S3::Types::NotificationConfiguration

A container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off for the bucket.

@note When making an API call, you may pass NotificationConfiguration

data as a hash:

    {
      topic_configurations: [
        {
          id: "NotificationId",
          topic_arn: "TopicArn", # required
          events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
          filter: {
            key: {
              filter_rules: [
                {
                  name: "prefix", # accepts prefix, suffix
                  value: "FilterRuleValue",
                },
              ],
            },
          },
        },
      ],
      queue_configurations: [
        {
          id: "NotificationId",
          queue_arn: "QueueArn", # required
          events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
          filter: {
            key: {
              filter_rules: [
                {
                  name: "prefix", # accepts prefix, suffix
                  value: "FilterRuleValue",
                },
              ],
            },
          },
        },
      ],
      lambda_function_configurations: [
        {
          id: "NotificationId",
          lambda_function_arn: "LambdaFunctionArn", # required
          events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
          filter: {
            key: {
              filter_rules: [
                {
                  name: "prefix", # accepts prefix, suffix
                  value: "FilterRuleValue",
                },
              ],
            },
          },
        },
      ],
    }

@!attribute [rw] topic_configurations

The topic to which notifications are sent and the events for which
notifications are generated.
@return [Array<Types::TopicConfiguration>]

@!attribute [rw] queue_configurations

The Amazon Simple Queue Service queues to publish messages to and
the events for which to publish messages.
@return [Array<Types::QueueConfiguration>]

@!attribute [rw] lambda_function_configurations

Describes the Lambda functions to invoke and the events for which to
invoke them.
@return [Array<Types::LambdaFunctionConfiguration>]

@see docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration AWS API Documentation

Constants

SENSITIVE