Spec-Zone.ru › Ansible

community.general.ansible_type тест – Валидация типа входных данных

Примечание

Этот плагин для тестов входит в состав коллекции community.general (версия 9.5.0).

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

Для установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать его в playbook, укажите: community.general.ansible_type.

Новая функция в community.general 9.2.0

  • Описание
  • Входные данные
  • Параметры ключевых слов
  • Примеры
  • Значение возврата

Описание

  • Этот тест проверяет тип входных данных.

Входные данные

Это описание входных данных теста, значение до is community.general.ansible_type или is not community.general.ansible_type.

Параметр

Комментарии

Входные данные

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

Входные данные.

Параметры ключевых слов

Это описание параметров ключевых слов теста. Это значения key1=value1, key2=value2 и так далее в следующих примерах: input is community.general.ansible_type(key1=value1, key2=value2, ...) и input is not community.general.ansible_type(key1=value1, key2=value2, ...)

Параметр

Комментарии

alias

словарь

Псевдонимы типов данных.

По умолчанию: {}

dtype

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

Один тип данных или список типов данных для проверки.

Примеры

# Substitution converts str to AnsibleUnicode
# -------------------------------------------

# String. AnsibleUnicode.
dtype: AnsibleUnicode
data: "abc"
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# String. AnsibleUnicode alias str.
alias: {"AnsibleUnicode": "str"}
dtype: str
data: "abc"
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# List. All items are AnsibleUnicode.
dtype: list[AnsibleUnicode]
data: ["a", "b", "c"]
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# Dictionary. All keys are AnsibleUnicode. All values are AnsibleUnicode.
dtype: dict[AnsibleUnicode, AnsibleUnicode]
data: {"a": "foo", "b": "bar", "c": "baz"}
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# No substitution and no alias. Type of strings is str
# ----------------------------------------------------

# String
dtype: str
result: '{{ "abc" is community.general.ansible_type(dtype) }}'
# result => true

# Integer
dtype: int
result: '{{ 123 is community.general.ansible_type(dtype) }}'
# result => true

# Float
dtype: float
result: '{{ 123.45 is community.general.ansible_type(dtype) }}'
# result => true

# Boolean
dtype: bool
result: '{{ true is community.general.ansible_type(dtype) }}'
# result => true

# List. All items are strings.
dtype: list[str]
result: '{{ ["a", "b", "c"] is community.general.ansible_type(dtype) }}'
# result => true

# List of dictionaries.
dtype: list[dict]
result: '{{ [{"a": 1}, {"b": 2}] is community.general.ansible_type(dtype) }}'
# result => true

# Dictionary. All keys are strings. All values are integers.
dtype: dict[str, int]
result: '{{ {"a": 1} is community.general.ansible_type(dtype) }}'
# result => true

# Dictionary. All keys are strings. All values are integers.
dtype: dict[str, int]
result: '{{ {"a": 1, "b": 2} is community.general.ansible_type(dtype) }}'
# result => true

# Type of strings is AnsibleUnicode or str
# ----------------------------------------

# Dictionary. The keys are integers or strings. All values are strings.
alias: {"AnsibleUnicode": "str"}
dtype: dict[int|str, str]
data: {1: 'a', 'b': 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# Dictionary. All keys are integers. All values are keys.
alias: {"AnsibleUnicode": "str"}
dtype: dict[int, str]
data: {1: 'a', 2: 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# Dictionary. All keys are strings. Multiple types values.
alias: {"AnsibleUnicode": "str"}
dtype: dict[str, bool|dict|float|int|list|str]
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': True, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# List. Multiple types items.
alias: {"AnsibleUnicode": "str"}
dtype: list[bool|dict|float|int|list|str]
data: [1, 2, 1.1, 'abc', True, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# Option dtype is list
# --------------------

# AnsibleUnicode or str
dtype: ['AnsibleUnicode', 'str']
data: abc
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# float or int
dtype: ['float', 'int']
data: 123
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# float or int
dtype: ['float', 'int']
data: 123.45
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true

# Multiple alias
# --------------

# int alias number
alias: {"int": "number", "float": "number"}
dtype: number
data: 123
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

# float alias number
alias: {"int": "number", "float": "number"}
dtype: number
data: 123.45
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true

Значение возврата

Ключ

Описание

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

булево

Является ли тип данных корректным.

Возвращено: успех

Авторы

  • Владимир Ботка (@vbotka)

Подсказка

Элементы конфигурации для каждого типа имеют порядок приоритетов снизу вверх. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

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

  • Система отслеживания проблем
  • Репозиторий (исходные коды)
  • Задать вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Общение

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

Spec-Zone.ru

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