amazon.aws.s3_bucket – Управление ведрами S3 в AWS, DigitalOcean, Ceph, Walrus, FakeS3 и StorageGRID
Примечание
Этот плагин входит в состав коллекции amazon.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install amazon.aws
Для использования в книге задач укажите: amazon.aws.s3_bucket
Новое в версии 1.0.0: из amazon.aws
Обзор
- Управление ведрами S3 в AWS, DigitalOcean, Ceph, Walrus, FakeS3 и StorageGRID.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, выполняющем этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| 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'. Подробнее о конфигурации 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 | ||
| ceph логическое значение |
| Включает совместимость API с Ceph. Учитывает подмножество API S3, работающее с Ceph, чтобы обеспечить одинаковое поведение модуля, где это возможно. | |
| debug_botocore_endpoint_logs логическое значение |
| Использует логгер botocore.endpoint для обработки уникальных (а не общих) вызовов API «ресурс:действие» во время задачи, выводит набор в ключ task results. Используйте callback aws_resource_action для вывода полного списка, созданного во время выполнения книги задач. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| delete_public_access логическое значение добавлено в 1.3.0 amazon.aws |
| Удаляет конфигурацию блокировки публичного доступа из ведра. Этот параметр нельзя использовать вместе с определением public_access. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной среды EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | ||
| encryption строка |
| Описывает стандартное шифрование сервера, применяемое к новым объектам в ведре. Для удаления шифрования сервера шифрование должно быть явно установлено в 'none'. | |
| encryption_key_id строка | Идентификатор главного ключа KMS для использования по умолчанию при шифровании. Этот параметр разрешен, если encryption равно aws:kms. Если не указан, используется предоставленный AWS ключ KMS. | ||
| force логическое значение |
| При попытке удалить ведро сначала удаляются все ключи (включая версии и метки удаления) в ведре (для успешного удаления ведро S3 должно быть пустым). | |
| name строка / обязательный | Имя ведра S3. | ||
| policy json | JSON-политика в виде строки. | ||
| 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 | ||
| public_access словарь добавлено в 1.3.0 amazon.aws | Настройка блокировки публичного доступа для ведра S3. Этот параметр нельзя использовать вместе с delete_public_access. | ||
| block_public_acls логическое значение |
| Устанавливает значение BlockPublicAcls. | |
| block_public_policy логическое значение |
| Устанавливает значение BlockPublicPolicy. | |
| ignore_public_acls логическое значение |
| Устанавливает значение IgnorePublicAcls. | |
| restrict_public_buckets логическое значение |
| Устанавливает значение RestrictPublicAcls. | |
| purge_tags логическое значение |
| Удалить теги, отсутствующие в параметре 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 логическое значение |
| При ведрах Requester Pays, вместо владельца ведра, запрос и загрузка данных из ведра оплачивает пользователь. | |
| s3_url строка | Конечная точка URL S3 для использования с DigitalOcean, Ceph, Eucalyptus и FakeS3 и т. д. По умолчанию предполагается AWS, если не указано иначе. Для Walrus используйте FQDN конечной точки без схемы и пути. псевдонимы: S3_URL | ||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | ||
| state строка |
| Создание или удаление ведра S3. | |
| tags словарь | Словарь тегов для применения к ведру. | ||
| validate_certs логическое значение |
| Если установлено значение "нет", SSL-сертификаты не будут проверены для версий boto >= 2.6.0. | |
| versioning логическое значение |
| Включить или отключить версионирование (обратите внимание, что после включения версионирования его можно только приостановить). | |
Примечания
Примечание
- Если операции/API
requestPayment,policy,taggingилиversioningне реализованы конечной точкой, модуль не завершается неудачей, если каждый параметр удовлетворяет следующему условию. requester_pays —False, policy, tags и versioning —None. - Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
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.
# Create a simple S3 bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
# Create a simple S3 bucket on Ceph Rados Gateway
- amazon.aws.s3_bucket:
name: mys3bucket
s3_url: http://your-ceph-rados-gateway-server.xxx
ceph: true
# Remove an S3 bucket and any keys it contains
- amazon.aws.s3_bucket:
name: mys3bucket
state: absent
force: yes
# Create a bucket, add a policy from a file, enable requester pays, enable versioning and tag
- amazon.aws.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
- amazon.aws.s3_bucket:
name: mydobucket
s3_url: 'https://nyc3.digitaloceanspaces.com'
# Create a bucket with AES256 encryption
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "AES256"
# Create a bucket with aws:kms encryption, KMS key
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "aws:kms"
encryption_key_id: "arn:aws:kms:us-east-1:1234/5678example"
# Create a bucket with aws:kms encryption, default key
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "aws:kms"
# Create a bucket with public policy block configuration
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
public_access:
BlockPublicAcls: true
IgnorePublicAcls: true
## keys == 'false' can be ommited, undefined keys defaults to 'false'
# BlockPublicPolicy: false
# RestrictPublicBuckets: false
# Delete public policy block from bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
delete_public_access: true
Авторы
- 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/amazon/aws/s3_bucket_module.html