Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • eccm — содержит переменные с различной системной информацией
    • eccm.user — имя пользователя, который запустил задачу на групповое конфигурирование
    • eccm.time — время запуска задачи на групповое конфигурирование (время сервера)
    • eccm.ip_address — IP адрес сервера ECCM (management интерфейс)
  • global — содержит глобальные общесистемные параметры и настройки
    • global.snmp_communities— список SNMP communities, задаваемый глобально в системных настройках ЕССМ. (warning) (warning) Так как данная переменная содержит список значений, то доступ к ней осуществляется либо по индексу: {{ global.snmp_communities[0] }}, либо в цикле: {% for c in global.snmp_communities %} {{ c }} {% endfor %}
  • group - содержит переменные, специфичные для группы устройства, на которое применяется данный шаблон
    • group.id — содержит id группы
    • group.name — содержит имя группы
  • device - содержит переменные, специфичные для устройства, на которое применяется данный шаблон
    • device.id — содержит id устройства
    • device.ip — содержит management IP адрес устройства
    • device.mac — содержит MAC адрес устройства
    • device.sn — содержит серийный номер устройства
    • device.hostname — содержит hostname устройства
    • device.model — содержит название модели устройства
    • device.series — содержит серию устройства
    • device.snmp_communities — содержит список SNMP communities устройства, заданный в настройках доступа для данного устройства. (warning)(warning) Содержит список значений, по аналогии с global.snmp_communities.

Управляющие конструкции

Шаблонизатор Jinja2 поддерживает ряд стандартных управляющих конструкций: операторы ветвлений (if ... else), циклы (for), макросы, неблочные фильтры, функции, присвоения, математические и логические операторы. 

• Оператор ветвления if else :

Блок кода
{% if device.model = "ESR-10" %}
    hostname ESR-10
{% endif %}

• Оператор цикла for :

Блок кода
{% for snmp_community in device.snmp_communities %}
    snmp-server community "{{ snmp_community }}" ro
{% endfor %}

• Макрос :

Блок кода
{% macro network(name, ip_prefix) -%}
    object-group network {{ name }}
        ip prefix {{ ip_prefix }}
    exit
{%- endmacro %}

{{ network("LAN", "10.10.99.32/27") }}

Прочие операторы и конструкции :

Блок кода
Пример задания внутришаблонной переменной:
{% set var = 'example' %}

Пример фильтра upper
{{ var|upper }} -> EXAMPLE

Пример применения фильтра join на массиве:
{{ [1, 2, 3]|join('|') }} -> 1|2|3

Пример форматирования строки при помощи фильтра format:
{{ "%s, %s!"|format("Hello", "World") }} -> Hello, World!

Пример арифметических операций:
{{ (1 + 2) * 10 / 5 }} -> 6.0


Запуск

Раздел предназначен для создания задачи группового конфигурирования. Представляет собой последовательность из 4 шагов:

...