community / community.aws / 5.1.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 (5.1.0) — module
Install with ansible-galaxy collection install community.aws:==5.1.0
collections: - name: community.aws version: 5.1.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:123456789012: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:123456789012: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 default: [] 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: default: '' 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. - For global services such as IAM, Route53 and CloudFront, I(region) is ignored. - The C(AWS_REGION) or C(EC2_REGION) environment variables may also be used. - See the Amazon AWS documentation for more information U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). - The C(ec2_region) alias has been deprecated and will be removed in a release after 2024-12-01 - Support for the C(EC2_REGION) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str suffix: default: '' description: - Optional suffix to limit the notifications to objects with keys that end with matching characters. type: str profile: aliases: - aws_profile description: - A named AWS profile to use for authentication. - See the AWS documentation for more information about named profiles U(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html). - The C(AWS_PROFILE) environment variable may also be used. - The I(profile) option is mutually exclusive with the I(aws_access_key), I(aws_secret_key) and I(security_token) options. 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 access_key: aliases: - aws_access_key_id - aws_access_key - ec2_access_key description: - AWS access key ID. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variables may also be used in decreasing order of preference. - The I(aws_access_key) and I(profile) options are mutually exclusive. - The I(aws_access_key_id) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_access_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_ACCESS_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found in the AWS documentation U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). type: dict event_name: description: - Unique name for event notification on bucket. required: true type: str secret_key: aliases: - aws_secret_access_key - aws_secret_key - ec2_secret_key description: - AWS secret access key. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variables may also be used in decreasing order of preference. - The I(secret_key) and I(profile) options are mutually exclusive. - The I(aws_secret_access_key) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_secret_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str bucket_name: description: - S3 bucket name. required: true type: str endpoint_url: aliases: - ec2_url - aws_endpoint_url - s3_url description: - URL to connect to instead of the default AWS endpoints. While this can be used to connection to other AWS-compatible services the amazon.aws and community.aws collections are only tested against AWS. - The C(AWS_URL) or C(EC2_URL) environment variables may also be used, in decreasing order of preference. - The I(ec2_url) and I(s3_url) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_URL) environment variable has been deprecated and will be removed in a release after 2024-12-01. 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. - The C(AWS_CA_BUNDLE) environment variable may also be used. type: path session_token: aliases: - aws_session_token - security_token - aws_security_token - access_token description: - AWS STS session token for use with temporary credentials. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SESSION_TOKEN), C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variables may also be used in decreasing order of preference. - The I(security_token) and I(profile) options are mutually exclusive. - Aliases I(aws_session_token) and I(session_token) were added in release 3.2.0, with the parameter being renamed from I(security_token) to I(session_token) in release 6.0.0. - The I(security_token), I(aws_security_token), and I(access_token) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) and C(AWS_SECURITY_TOKEN) environment variables has been deprecated and will be removed in a release after 2024-12-01. type: str lambda_version: default: 0 description: - Version of the Lambda function. - Mutually exclusive with I(lambda_alias). type: int validate_certs: default: true description: - When set to C(false), SSL certificates will not be validated for communication with the AWS APIs. - Setting I(validate_certs=false) is strongly discouraged, as an alternative, consider setting I(aws_ca_bundle) instead. 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: false description: - Use a C(botocore.endpoint) logger to parse the unique (rather than total) C("resource:action") API calls made during a task, outputing the set to the resource_actions key in the task results. Use the C(aws_resource_action) callback to output to total list made during a playbook. - The C(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