s3_bucket – Управление S3-бакетами в AWS, DigitalOcean, Ceph, Walrus и FakeS3
Обзор
- Управление S3-бакетами в AWS, DigitalOcean, Ceph, Walrus и FakeS3
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа к AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | |
| ceph булево |
| Включить совместимость API с Ceph. Учитывает подмножество S3 API, работающее с Ceph, чтобы обеспечить аналогичное поведение модуля там, где это возможно. |
| debug_botocore_endpoint_logs булево добавлено в 2.8 |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашей облачной системе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она задана. | |
| encryption - добавлено в 2.9 |
| Определяет стандартное шифрование на стороне сервера, применяемое к новым объектам в бакете. Чтобы удалить шифрование на стороне сервера, необходимо явно установить encryption в «нет». |
| encryption_key_id - добавлено в 2.9 | Идентификатор главного ключа KMS для использования при стандартном шифровании. Этот параметр разрешен, если encryption равен aws:kms. Если не указан, используется предоставленный AWS ключ KMS. | |
| force булево |
| При попытке удаления бакета сначала удаляются все ключи (включая версии и маркеры удаления) в бакете (для успешного удаления S3-бакета он должен быть пустым). |
| name - / обязательно | Имя S3-бакета | |
| policy - | Политика в формате JSON в виде строки. | |
| profile строка | Использование профиля boto. Работает только с boto >= 2.24.0. | |
| purge_tags булево добавлено в 2.9 |
| Удалить теги, отсутствующие в параметре tags |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| requester_pays булево |
| В бакетах с оплатой запросчиком оплату запроса и загрузки данных из бакета производит запросчик, а не владелец бакета. |
| s3_url - | Конечная точка S3 URL для использования с DigitalOcean, Ceph, Eucalyptus и fakes3 и т.д. По умолчанию предполагается AWS, если не указано иначе. Для Walrus используйте полное доменное имя (FQDN) конечной точки без схемы и пути. псевдонимы: S3_URL | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - |
| Создать или удалить S3-бак |
| tags - | Словарь тегов для применения к бакету | |
| validate_certs булево |
| При установке в «нет» сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| versioning булево |
| Включить или отключить версионирование (обратите внимание, что после включения версионирования его можно только приостановить) |
Примечания
Примечание
- Если операции/API
requestPayment,policy,taggingилиversioningне реализованы конечной точкой, модуль не завершается неудачей, если соответствующие параметры requester_pays, policy, tags или versioningNone. - Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - 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.
# Create a simple s3 bucket
- s3_bucket:
name: mys3bucket
state: present
# Create a simple s3 bucket on Ceph Rados Gateway
- s3_bucket:
name: mys3bucket
s3_url: http://your-ceph-rados-gateway-server.xxx
ceph: true
# Remove an s3 bucket and any keys it contains
- s3_bucket:
name: mys3bucket
state: absent
force: yes
# Create a bucket, add a policy from a file, enable requester pays, enable versioning and tag
- s3_bucket:
name: mys3bucket
policy: "{{ lookup('file','policy.json') }}"
requester_pays: yes
versioning: yes
tags:
example: tag1
another: tag2
# Create a simple DigitalOcean Spaces bucket using their provided regional endpoint
- s3_bucket:
name: mydobucket
s3_url: 'https://nyc3.digitaloceanspaces.com'
Статус
- Этот модуль гарантирует обратную совместимость изменений интерфейса в будущем. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- 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.9/modules/s3_bucket_module.html