Spec-Zone.ru › Ansible 2.10

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
путь
Путь к файлу сертификатов доверенных центров сертификации для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: Файл с сертификатами считывается на стороне модуля и может потребоваться явное копирование с контроллера, если он не выполняется локально.
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. Учитывает подмножество S3 API, работающее с Ceph, чтобы обеспечить одинаковое поведение модуля, где это возможно.
debug_botocore_endpoint_logs
логическое
    Варианты:
  • нет ←
  • да
Использует логгер botocore.endpoint для анализа уникальных (а не всех) API-вызовов "resource:action" во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте 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
  • AES256
  • aws:kms
Описание по умолчанию шифрования на стороне сервера, применяемого к новым объектам в бакете. Для удаления шифрования необходимо явно установить encryption в 'none'.
encryption_key_id
строка
ID главного ключа KMS для использования по умолчанию для шифрования. Этот параметр разрешен, если encryption равно aws:kms. Если не указан, используется предоставленный AWS ключ KMS.
force
логическое
    Варианты:
  • нет ←
  • да
При попытке удалить бакет, сначала удаляются все ключи (включая версии и delete-маркеры) в бакете (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
логическое
    Варианты:
  • нет
  • да
В бакетах с оплатой получателем, получатель, а не владелец бакета, оплачивает стоимость запроса и загрузки данных из бакета.
s3_url
строка
S3 URL-адрес конечной точки для использования с 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
строка
    Варианты:
  • present ←
  • absent
Создать или удалить 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/amazon/aws/s3_bucket_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API