Class: Aws::S3::Types::NotificationConfiguration

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 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",
            },
          ],
        },
      },
    },
  ],
}

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#lambda_function_configurationsArray<Types::LambdaFunctionConfiguration>

Describes the AWS Lambda functions to invoke and the events for which to invoke them.



8037
8038
8039
8040
8041
8042
8043
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 8037

class NotificationConfiguration < Struct.new(
  :topic_configurations,
  :queue_configurations,
  :lambda_function_configurations)
  SENSITIVE = []
  include Aws::Structure
end

#queue_configurationsArray<Types::QueueConfiguration>

The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

Returns:



8037
8038
8039
8040
8041
8042
8043
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 8037

class NotificationConfiguration < Struct.new(
  :topic_configurations,
  :queue_configurations,
  :lambda_function_configurations)
  SENSITIVE = []
  include Aws::Structure
end

#topic_configurationsArray<Types::TopicConfiguration>

The topic to which notifications are sent and the events for which notifications are generated.

Returns:



8037
8038
8039
8040
8041
8042
8043
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 8037

class NotificationConfiguration < Struct.new(
  :topic_configurations,
  :queue_configurations,
  :lambda_function_configurations)
  SENSITIVE = []
  include Aws::Structure
end