Class: Aws::S3::Types::PutBucketNotificationConfigurationRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb

Overview

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, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
        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, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
        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, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
        filter: {
          key: {
            filter_rules: [
              {
                name: "prefix", # accepts prefix, suffix
                value: "FilterRuleValue",
              },
            ],
          },
        },
      },
    ],
    event_bridge_configuration: {
    },
  },
  expected_bucket_owner: "AccountId",
  skip_destination_validation: false,
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#bucketString

The name of the bucket.

Returns:

  • (String)


12198
12199
12200
12201
12202
12203
12204
12205
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 12198

class PutBucketNotificationConfigurationRequest < Struct.new(
  :bucket,
  :notification_configuration,
  :expected_bucket_owner,
  :skip_destination_validation)
  SENSITIVE = []
  include Aws::Structure
end

#expected_bucket_ownerString

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

Returns:

  • (String)


12198
12199
12200
12201
12202
12203
12204
12205
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 12198

class PutBucketNotificationConfigurationRequest < Struct.new(
  :bucket,
  :notification_configuration,
  :expected_bucket_owner,
  :skip_destination_validation)
  SENSITIVE = []
  include Aws::Structure
end

#notification_configurationTypes::NotificationConfiguration

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



12198
12199
12200
12201
12202
12203
12204
12205
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 12198

class PutBucketNotificationConfigurationRequest < Struct.new(
  :bucket,
  :notification_configuration,
  :expected_bucket_owner,
  :skip_destination_validation)
  SENSITIVE = []
  include Aws::Structure
end

#skip_destination_validationBoolean

Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or false value.

Returns:

  • (Boolean)


12198
12199
12200
12201
12202
12203
12204
12205
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 12198

class PutBucketNotificationConfigurationRequest < Struct.new(
  :bucket,
  :notification_configuration,
  :expected_bucket_owner,
  :skip_destination_validation)
  SENSITIVE = []
  include Aws::Structure
end