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 считывается на стороне «модуля» и, возможно, требует явного копирования с контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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 для вывода в список всего, что было выполнено во время книги задач. |
| 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 логический |
| Указывает, нужно ли заменить все текущие переходы новыми. Если значение ложь, указанные переходы будут добавлены, заменяя переходы с тем же storage_class. Если значение истина, существующие переходы будут удалены и заменены новыми. |
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/s3_lifecycle_module.html