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

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
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, 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: {
  },
}

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

#event_bridge_configurationTypes::EventBridgeConfiguration

Enables delivery of events to Amazon EventBridge.



10376
10377
10378
10379
10380
10381
10382
10383
# File 'lib/aws-sdk-s3/types.rb', line 10376

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

#lambda_function_configurationsArray<Types::LambdaFunctionConfiguration>

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



10376
10377
10378
10379
10380
10381
10382
10383
# File 'lib/aws-sdk-s3/types.rb', line 10376

class NotificationConfiguration < Struct.new(
  :topic_configurations,
  :queue_configurations,
  :lambda_function_configurations,
  :event_bridge_configuration)
  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:



10376
10377
10378
10379
10380
10381
10382
10383
# File 'lib/aws-sdk-s3/types.rb', line 10376

class NotificationConfiguration < Struct.new(
  :topic_configurations,
  :queue_configurations,
  :lambda_function_configurations,
  :event_bridge_configuration)
  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:



10376
10377
10378
10379
10380
10381
10382
10383
# File 'lib/aws-sdk-s3/types.rb', line 10376

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