Spec-Zone.ru › Ansible

Модуль community.aws.dynamodb_table — создание, обновление или удаление таблиц AWS Dynamo DB

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.aws.dynamodb_table.

Добавлено в community.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создаёт или удаляет таблицы AWS Dynamo DB.
  • Может обновлять подготовленную пропускную способность существующих таблиц.
  • Возвращает состояние указанной таблицы.

Требования

На хосте, выполняющем этот модуль, необходимы следующие компоненты.

  • python >= 3.6
  • boto3 >= 1.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key

string

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK.

aws_ca_bundle

path

Путь к пакету CA для проверки сертификатов SSL.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

billing_mode

string

Определяет, будут ли созданы таблицы с подготовленной или с оплатой по запросу пропускной способностью.

Варианты:

  • "PROVISIONED"
  • "PAY_PER_REQUEST"

debug_botocore_endpoint_logs

boolean

Использовать регистратор botocore.endpoint для разбора уникальных (а не общего числа) вызовов API "resource:action", выполненных в рамках задачи, и выводить набор в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести общий список вызовов, выполненных в рамках плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

aliases: aws_endpoint_url

string

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

hash_key_name

string

Имя хеш-ключа.

Обязателен, если state=present и таблица не существует.

hash_key_type

string

Тип хеш-ключа.

При создании таблицы по умолчанию используется 'STRING'.

Варианты:

  • "STRING"
  • "NUMBER"
  • "BINARY"

indexes

list / elements=dictionary

Список словарей с описанием индексов, которые нужно добавить в таблицу. Глобальные индексы можно обновлять. Локальные индексы не поддерживают обновление и не имеют пропускной способности.

обязательные параметры: [‘name’, ‘type’, ‘hash_key_name’]

другие параметры: [‘hash_key_type’, ‘range_key_name’, ‘range_key_type’, ‘includes’, ‘read_capacity’, ‘write_capacity’]

По умолчанию: []

hash_key_name

string

Имя ключа на основе хеша.

Обязателен, если индекс ещё не существует.

После создания индекса изменить нельзя.

hash_key_type

string

Тип ключа на основе хеша.

При создании индекса по умолчанию используется 'STRING'.

После создания индекса изменить нельзя.

Варианты:

  • "STRING"
  • "NUMBER"
  • "BINARY"

includes

list / elements=string

Список полей, включаемых при использовании индексов global_include или include.

name

string / обязательный

Имя индекса.

range_key_name

string

Имя ключа диапазона.

После создания индекса изменить нельзя.

range_key_type

string

Тип ключа диапазона.

При создании индекса по умолчанию используется 'STRING'.

После создания индекса изменить нельзя.

Варианты:

  • "STRING"
  • "NUMBER"
  • "BINARY"

read_capacity

integer

Пропускная способность чтения (единицы), выделяемая для индекса.

type

string / обязательный

Тип индекса.

Варианты:

  • "all"
  • "global_all"
  • "global_include"
  • "global_keys_only"
  • "include"
  • "keys_only"

write_capacity

integer

Пропускная способность записи (единицы), выделяемая для индекса.

name

string / обязательный

Имя таблицы.

profile

aliases: aws_profile

string

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token.

purge_tags

boolean

Если задано значение purge_tags=true и указан параметр tags, существующие теги ресурса будут удалены, чтобы их набор точно соответствовал указанному параметру tags.

Если параметр tags не задан, теги не будут изменены, даже если задано purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они игнорируются при обработке параметра purge_tags. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

range_key_name

string

Имя ключа диапазона.

range_key_type

string

Тип ключа диапазона.

При создании ключа диапазона по умолчанию используется 'STRING'.

Варианты:

  • "STRING"
  • "NUMBER"
  • "BINARY"

read_capacity

integer

Выделяемая пропускная способность чтения (единицы).

При создании таблицы по умолчанию используется 1.

region

aliases: aws_region

string

Регион AWS.

Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

secret_key

aliases: aws_secret_access_key, aws_secret_key

string

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK.

session_token

aliases: aws_session_token

string

Токен сеанса AWS STS для использования с временными учётными данными.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

string

Создать или удалить таблицу.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

table_class

string

добавлено в community.aws 3.1.0

Класс таблицы.

Варианты:

  • "STANDARD"
  • "STANDARD_INFREQUENT_ACCESS"

tags

aliases: resource_tags

dictionary

Словарь тегов, применяемых к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

Если задано значение false, сертификаты SSL при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется устанавливать validate_certs=false; в качестве альтернативы рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

wait

boolean

При wait=True модуль будет ожидать завершения обновления индексов, создания или удаления таблицы до wait_timeout секунд, прежде чем вернуть результат.

Варианты:

  • false
  • true ← (по умолчанию)

wait_timeout

aliases: wait_for_active_timeout

integer

Время ожидания (в секундах) завершения создания, обновления или удаления.

AWS позволяет обновлять только один вторичный индекс за раз. Этот модуль обновляет их последовательно, применяя тайм-аут отдельно к каждому индексу.

По умолчанию: 900

write_capacity

integer

Выделяемая пропускная способность записи (единицы).

При создании таблицы по умолчанию используется 1.

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллер». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других параметров, например региона, из файлов конфигурации в контексте Ansible «хост» (обычно ~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

- name: Create dynamo table with hash and range primary key
  community.aws.dynamodb_table:
    name: my-table
    region: us-east-1
    hash_key_name: id
    hash_key_type: STRING
    range_key_name: create_time
    range_key_type: NUMBER
    read_capacity: 2
    write_capacity: 2
    tags:
      tag_name: tag_value

- name: Update capacity on existing dynamo table
  community.aws.dynamodb_table:
    name: my-table
    region: us-east-1
    read_capacity: 10
    write_capacity: 10

- name: Create pay-per-request table
  community.aws.dynamodb_table:
    name: my-table
    region: us-east-1
    hash_key_name: id
    hash_key_type: STRING
    billing_mode: PAY_PER_REQUEST

- name: set index on existing dynamo table
  community.aws.dynamodb_table:
    name: my-table
    region: us-east-1
    indexes:
      - name: NamedIndex
        type: global_include
        hash_key_name: id
        range_key_name: create_time
        includes:
          - other_field
          - other_field2
        read_capacity: 10
        write_capacity: 10

- name: Delete dynamo table
  community.aws.dynamodb_table:
    name: my-table
    region: us-east-1
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

table

complex

Параметры возвращённой таблицы из вызова API describe.

Возвращается: при успехе

Пример: {"arn": "arn:aws:dynamodb:us-east-1:721066863947:table/ansible-test-table", "attribute_definitions": [{"attribute_name": "id", "attribute_type": "N"}], "billing_mode": "PROVISIONED", "creation_date_time": "2022-02-04T13:36:01.578000+00:00", "id": "533b45fe-0870-4b66-9b00-d2afcfe96f19", "item_count": 0, "key_schema": [{"attribute_name": "id", "key_type": "HASH"}], "name": "ansible-test-14482047-alinas-mbp", "provisioned_throughput": {"number_of_decreases_today": 0, "read_capacity_units": 1, "write_capacity_units": 1}, "size": 0, "status": "ACTIVE", "table_arn": "arn:aws:dynamodb:us-east-1:721066863947:table/ansible-test-table", "table_id": "533b45fe-0870-4b66-9b00-d2afcfe96f19", "table_name": "ansible-test-table", "table_size_bytes": 0, "table_status": "ACTIVE", "tags": {}}

table_status

string

Текущее состояние таблицы.

Возвращается: при успехе

Пример: "ACTIVE"

Авторы

  • Alan Loi (@loia)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/dynamodb_table_module.html

Spec-Zone.ru

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