@Summary(value="Initiates a Mule flow when an object is created in an Amazon S3 bucket")
@Alias(value="new-object-listener",
description="Listener for new and modified objects.")
@DisplayName(value="On New Object")
public class NewObjectSource
extends AbstractObjectSource
Initiates a Mule flow when an object is created in an Amazon S3 bucket
and sends an SQS notification about the new object
User can specify notificationQueueName or notificationConfigurationName, if omitted default queue with name mule-s3-trigger-new-queue-<'bucket-name'>
and default notification configuration with name mule-s3-trigger-new-object-conf-<'bucket-name'> are created and used.
As this source uses SQS service to poll for the event notifications, you need to add following SQS permission: 'sqs: ReceiveMessage', 'sqs: DeleteMessage' and S3 permission: 's3:GetBucketNotification'
NOTE: For the default queue to be created(if not specified) connector needs following SQS permissions: 'sqs:CreateQueue', 'sqs: GetQueueAttributes, 'sqs:SetQueueAttributes', 'sqs:GetQueueUrl'.
For the default configuration S3 permission 's3:PutBucketNotification' is needed