Class: Aws::S3::Types::PutBucketNotificationConfigurationRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::S3::Types::PutBucketNotificationConfigurationRequest
- Includes:
- Aws::Structure
- Defined in:
- 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
-
#bucket ⇒ String
The name of the bucket.
-
#expected_bucket_owner ⇒ String
The account ID of the expected bucket owner.
-
#notification_configuration ⇒ Types::NotificationConfiguration
A container for specifying the notification configuration of the bucket.
-
#skip_destination_validation ⇒ Boolean
Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
Instance Attribute Details
#bucket ⇒ String
The name of the bucket.
12198 12199 12200 12201 12202 12203 12204 12205 |
# File '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_owner ⇒ String
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).
12198 12199 12200 12201 12202 12203 12204 12205 |
# File '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_configuration ⇒ Types::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 '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_validation ⇒ Boolean
Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or false value.
12198 12199 12200 12201 12202 12203 12204 12205 |
# File '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 |