community.aws.s3_lifecycle – Управление правилами жизненного цикла ведер s3 в AWS
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.s3_lifecycle.
Новое в версии 1.0.0: коллекции community.aws
Описание
- Управление правилами жизненного цикла ведер s3 в AWS
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- boto
- python >= 2.6
- python-dateutil
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и после 2022-06-01 эти параметры будут взаимоисключающими. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла сертификатов CA для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Файл CA Bundle считывается со стороны модуля и может потребоваться его явное копирование из контроллера, если модуль не выполняется локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Подробнее о конфигурации boto см. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и после 2022-06-01 эти параметры будут взаимоисключающими. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие", выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если таковое есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| expiration_date строка | Указывает срок жизни объектов, которые регулируются правилом, по дате их истечения. Значение должно быть в формате ISO-8601, время должно быть полночь, а часовой пояс должен быть указан как GMT. | |
| expiration_days целое число | Указывает срок жизни объектов, которые регулируются правилом, в днях. Значение должно быть положительным целым числом, отличным от нуля. | |
| name строка / обязательно | Имя ведра s3 | |
| noncurrent_version_expiration_days целое число | Удаление неактуальных версий через столько дней после их перехода в неактуальное состояние | |
| noncurrent_version_storage_class строка |
| Перенос неактуальных версий в этот класс хранения |
| noncurrent_version_transition_days целое число | Переход неактуальных версий через столько дней после их перехода в неактуальное состояние | |
| noncurrent_version_transitions список / элементы=словарь | Список правил перевода неактуальных версий для правила. Каждый класс хранения может быть использован только один раз. Каждое правило перевода содержит следующие элементы: transition_days, storage_class | |
| prefix строка | Префикс, определяющий один или несколько объектов, на которые распространяется правило. Если префикс не указан, правило будет применяться ко всему ведру. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка одновременного их указания с profile устарела. aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| purge_transitions логический тип |
| «Заменять ли все текущие переходы новыми переходами. Если false, предоставленные переходы будут добавлены, заменяя переходы с тем же storage_class. Если true, существующие переходы будут удалены и заменены новыми переходами» |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region псевдонимы: aws_region, ec2_region | |
| requester_pays логический тип |
| Параметр requester_pays не выполняет никаких действий и будет удален после 2022-06-01 |
| rule_id строка | Уникальный идентификатор правила. Значение не может быть длиннее 255 символов. Уникальное значение для правила будет сгенерировано, если значение не указано. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и после 2022-06-01 эти параметры будут взаимоисключающими. псевдонимы: aws_security_token, access_token | |
| state строка |
| Создать или удалить правило жизненного цикла |
| status строка |
| Если 'enabled', правило в настоящее время применяется. Если 'disabled', правило в настоящее время не применяется. |
| storage_class строка |
| Класс хранения для перехода. Класс 'standard_ia' доступен только начиная с версии Ansible 2.2. |
| transition_date строка | Указывает срок жизни объектов, которые регулируются правилом, по дате их перехода в другой класс хранения. Значение должно быть в формате ISO-8601, время должно быть полночь, а часовой пояс должен быть указан как GMT. Если transition_days не указан, этот параметр обязателен." | |
| transition_days целое число | Указывает, через сколько дней объект переходит в другой класс хранения. Если transition_date не указан, этот параметр обязателен. | |
| transitions список / элементы=словарь | Список правил перехода для правила. Каждый класс хранения может быть использован только один раз. Каждое правило перехода может содержать следующие элементы: transition_days, transition_date, storage_class | |
| validate_certs логический тип |
| При установке в «нет», SSL-сертификаты не будут проверены для версий boto >= 2.6.0. |
Примечания
Примечание
- Если задано время истечения в днях, то время перехода также должно быть задано в днях
- Если задано время истечения как дата, то время перехода также должно быть задано как дата
- Если параметры не заданы внутри модуля, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для задания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# 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
Авторы
- Rob White (@wimnat)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/s3_lifecycle_module.html