community / community.aws / 3.4.0 / module / s3_bucket_notification Creates, updates or deletes S3 Bucket notifications targeting Lambda functions, SNS or SQS. | "added in version" 1.0.0 of community.aws" Authors: XLAB d.o.o. (@xlab-si), Aljaz Kosir (@aljazkosir), Miha Plesko (@miha-plesko), Mark Woolley (@marknet15)community.aws.s3_bucket_notification (3.4.0) — module
Install with ansible-galaxy collection install community.aws:==3.4.0
collections: - name: community.aws version: 3.4.0
This module supports the creation, updates and deletions of S3 bucket notification profiles targeting either Lambda functions, SNS topics or SQS queues.
The target for the notifications must already exist. For lambdas use module M(community.aws.lambda) to manage the lambda function itself, M(community.aws.lambda_alias) to manage function aliases and M(community.aws.lambda_policy) to modify lambda permissions. For SNS or SQS then use M(community.aws.sns_topic) or M(community.aws.sqs_queue).
--- # Examples adding notification target configs to a S3 bucket - name: Setup bucket event notification to a Lambda function community.aws.s3_bucket_notification: state: present event_name: on_file_add_or_remove bucket_name: test-bucket lambda_function_arn: arn:aws:lambda:us-east-2:526810320200:function:test-lambda events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"] prefix: images/ suffix: .jpg
- name: Setup bucket event notification to SQS community.aws.s3_bucket_notification: state: present event_name: on_file_add_or_remove bucket_name: test-bucket queue_arn: arn:aws:sqs:us-east-2:526810320200:test-queue events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"] prefix: images/ suffix: .jpg
# Example removing an event notification - name: Remove event notification community.aws.s3_bucket_notification: state: absent event_name: on_file_add_or_remove bucket_name: test-bucket
state: choices: - present - absent default: present description: - Describes the desired state. type: str events: choices: - s3:ObjectCreated:* - s3:ObjectCreated:Put - s3:ObjectCreated:Post - s3:ObjectCreated:Copy - s3:ObjectCreated:CompleteMultipartUpload - s3:ObjectRemoved:* - s3:ObjectRemoved:Delete - s3:ObjectRemoved:DeleteMarkerCreated - s3:ObjectRestore:Post - s3:ObjectRestore:Completed - s3:ReducedRedundancyLostObject description: - Events that will be triggering a notification. You can select multiple events to send to the same destination, you can set up different events to send to different destinations, and you can set up a prefix or suffix for an event. However, for each bucket, individual events cannot have multiple configurations with overlapping prefixes or suffixes that could match the same object key. - Required when I(state=present). elements: str type: list prefix: description: - Optional prefix to limit the notifications to objects with keys that start with matching characters. type: str region: aliases: - aws_region - ec2_region description: - The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region) type: str suffix: description: - Optional suffix to limit the notifications to objects with keys that end with matching characters. type: str ec2_url: aliases: - aws_endpoint_url - endpoint_url description: - URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will use EC2 endpoints). Ignored for modules where region is required. Must be specified for all other modules if region is not used. If not set then the value of the EC2_URL environment variable, if any, is used. type: str profile: aliases: - aws_profile description: - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token) and support for passing them at the same time as I(profile) has been deprecated. - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually exclusive with I(profile) after 2022-06-01. type: str queue_arn: description: - The ARN of the SQS queue. - Mutually exclusive with I(topic_arn) and I(lambda_function_arn). type: str version_added: 3.2.0 version_added_collection: community.aws topic_arn: description: - The ARN of the SNS topic. - Mutually exclusive with I(queue_arn) and I(lambda_function_arn). type: str version_added: 3.2.0 version_added_collection: community.aws aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto) for more boto configuration. type: dict event_name: description: - Unique name for event notification on bucket. required: true type: str bucket_name: description: - S3 bucket name. required: true type: str lambda_alias: description: - Name of the Lambda function alias. - Mutually exclusive with I(lambda_version). type: str aws_ca_bundle: description: - The location of a CA Bundle to use when validating SSL certificates. - Not used by boto 2 based modules. - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied from the controller if not run locally.' type: path aws_access_key: aliases: - ec2_access_key - access_key description: - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01. type: str aws_secret_key: aliases: - ec2_secret_key - secret_key description: - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01. type: str lambda_version: description: - Version of the Lambda function. - Mutually exclusive with I(lambda_alias). type: int security_token: aliases: - aws_security_token - access_token description: - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variable is used. - If I(profile) is set this parameter is ignored. - Passing the I(security_token) and I(profile) options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01. type: str validate_certs: default: true description: - When set to "no", SSL certificates will not be validated for communication with the AWS APIs. type: bool lambda_function_arn: aliases: - function_arn description: - The ARN of the lambda function. - Mutually exclusive with I(queue_arn) and I(topic_arn). type: str debug_botocore_endpoint_logs: default: 'no' description: - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action" API calls made during a task, outputing the set to the resource_actions key in the task results. Use the aws_resource_action callback to output to total list made during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also be used. type: bool
notification_configuration: contains: lambda_function_configurations: description: - List of current Lambda function notification configurations applied to the bucket. type: list queue_configurations: description: - List of current SQS notification configurations applied to the bucket. type: list topic_configurations: description: - List of current SNS notification configurations applied to the bucket. type: list description: dictionary of currently applied notifications returned: success type: complex