community / community.aws / 5.1.0 / module / s3_lifecycle Manage S3 bucket lifecycle rules in AWS | "added in version" 1.0.0 of community.aws" Authors: Rob White (@wimnat)community.aws.s3_lifecycle (5.1.0) — module
Install with ansible-galaxy collection install community.aws:==5.1.0
collections: - name: community.aws version: 5.1.0
Manage S3 bucket lifecycle rules in AWS.
# Note: These examples do not set authentication details, see the AWS Guide for details. - name: Configure a lifecycle rule on a bucket to expire (delete) items with a prefix of /logs/ after 30 days community.aws.s3_lifecycle: name: mybucket expiration_days: 30 prefix: logs/ status: enabled state: present
- name: Configure a lifecycle rule to transition all items with a prefix of /logs/ to glacier after 7 days and then delete after 90 days community.aws.s3_lifecycle: name: mybucket transition_days: 7 expiration_days: 90 prefix: logs/ status: enabled state: present
# Note that midnight GMT must be specified. # Be sure to quote your date strings - name: Configure a lifecycle rule to transition all items with a prefix of /logs/ to glacier on 31 Dec 2020 and then delete on 31 Dec 2030. community.aws.s3_lifecycle: name: mybucket transition_date: "2020-12-30T00:00:00.000Z" expiration_date: "2030-12-30T00:00:00.000Z" prefix: logs/ status: enabled state: present
- name: Disable the rule created above community.aws.s3_lifecycle: name: mybucket prefix: logs/ status: disabled state: present
- name: Delete the lifecycle rule created above community.aws.s3_lifecycle: name: mybucket prefix: logs/ state: absent
- name: Configure a lifecycle rule to transition all backup files older than 31 days in /backups/ to standard infrequent access class. community.aws.s3_lifecycle: name: mybucket prefix: backups/ storage_class: standard_ia transition_days: 31 state: present status: enabled
- name: Configure a lifecycle rule to transition files to infrequent access after 30 days and glacier after 90 community.aws.s3_lifecycle: name: mybucket prefix: logs/ state: present status: enabled transitions: - transition_days: 30 storage_class: standard_ia - transition_days: 90 storage_class: glacier
name: description: - Name of the S3 bucket. required: true type: str wait: default: false description: - Wait for the configuration to complete before returning. type: bool version_added: 1.5.0 version_added_collection: community.aws state: choices: - present - absent default: present description: - Create or remove the lifecycle rule. type: str prefix: description: - Prefix identifying one or more objects to which the rule applies. - If no prefix is specified, the rule will apply to the whole bucket. 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 status: choices: - enabled - disabled default: enabled description: - If C(enabled), the rule is currently being applied. - If C(disabled), the rule is not currently being applied. 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 rule_id: description: - Unique identifier for the rule. - The value cannot be longer than 255 characters. - A unique value for the rule will be generated if no value is provided. type: str 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 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 transitions: description: - A list of transition behaviors to be applied to the rule. - Each storage class may be used only once. Each transition behavior may contain these elements I(transition_days) I(transition_date) I(storage_class) elements: dict type: list 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 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 storage_class: choices: - glacier - onezone_ia - standard_ia - intelligent_tiering - deep_archive default: glacier description: - The storage class to transition to. type: str 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 expiration_date: description: - Indicates the lifetime of the objects that are subject to the rule by the date they will expire. - The value must be ISO-8601 format, the time must be midnight and a GMT timezone must be specified. - This cannot be specified with I(expire_object_delete_marker) type: str expiration_days: description: - Indicates the lifetime, in days, of the objects that are subject to the rule. - The value must be a non-zero positive integer. - This cannot be specified with I(expire_object_delete_marker) type: int transition_date: description: - Indicates the lifetime of the objects that are subject to the rule by the date they will transition to a different storage class. - The value must be ISO-8601 format, the time must be midnight and a GMT timezone must be specified. - If (transition_days) is not specified, this parameter is required. type: str transition_days: description: - Indicates when, in days, an object transitions to a different storage class. - If I(transition_date) is not specified, this parameter is required. type: int purge_transitions: default: true description: - Whether to replace all the current transition(s) with the new transition(s). - When C(false), the provided transition(s) will be added, replacing transitions with the same storage_class. When true, existing transitions will be removed and replaced with the new transition(s) type: bool expire_object_delete_marker: description: - Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. - If set to C(true), the delete marker will be expired; if set to C(false) the policy takes no action. - This cannot be specified with I(expiration_days) or I(expiration_date). type: bool version_added: 2.2.0 version_added_collection: community.aws 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 noncurrent_version_transitions: description: - A list of transition behaviors to be applied to noncurrent versions for the rule. - Each storage class may be used only once. Each transition behavior contains these elements I(transition_days) I(storage_class) elements: dict type: list noncurrent_version_storage_class: choices: - glacier - onezone_ia - standard_ia - intelligent_tiering - deep_archive default: glacier description: - The storage class to which non-current versions are transitioned. required: false type: str noncurrent_version_expiration_days: description: - The number of days after which non-current versions should be deleted. required: false type: int noncurrent_version_transition_days: description: - The number of days after which non-current versions will be transitioned to the storage class specified in I(noncurrent_version_storage_class). required: false type: int abort_incomplete_multipart_upload_days: description: - Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. type: int version_added: 2.2.0 version_added_collection: community.aws