class Aws::S3::Types::PutBucketNotificationConfigurationRequest

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

data as a hash:

    {
      bucket: "BucketName", # required
      notification_configuration: { # required
        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",
                  },
                ],
              },
            },
          },
        ],
      },
      expected_bucket_owner: "AccountId",
    }

@!attribute [rw] bucket

The name of the bucket.
@return [String]

@!attribute [rw] notification_configuration

A container for specifying the notification configuration of the
bucket. If this element is empty, notifications are turned off for
the bucket.
@return [Types::NotificationConfiguration]

@!attribute [rw] expected_bucket_owner

The account ID of the expected bucket owner. If the bucket is owned
by a different account, the request will fail with an HTTP `403
(Access Denied)` error.
@return [String]

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

Constants

SENSITIVE