environment_config.yaml - переменные окружения, доступные для редактирования через веб

attributes

Содержит все переменные, для редактирования

attributes:
    metadata:
        role: 'other'
    ilnurgi_plugin_text:
        value: 'Set default value'
        label: 'Text field'
        description: 'Description for text field'
        weight: 25
        type: "text"

metadata

Какая то метаинформация

  • group - группа в вебе, в которой должны отобразиться атрибуты

    • general
    • security
    • compute
    • network
    • storage
    • logging
    • openstack_services
    • other
  • restrictions - накладывает какую то логику на атрибут. По какому то условию можно что-то сделать.

    Поддерживаемые действия

    • condition - какое то улсовие

    • action - действие, если условие истинно
      • disable - атрибут не редактируем в вебе
      • hide - скрывает атрибут из веба
      • message - отображает сообщение
      • none - при наведении мышкой отобразит предупреждение
    • messages - отображает сообщение

    • strict - включает показ ошибок, если атрибуты в условии не доступны, иначе эти атрибуты просто равны null

    attribute:
        metadata:
            restrictions:
                - condition: "not (cluster:net_provider == 'neutron' and networking_parameters:segmentation_type == 'vlan')"
                  message: "Please use Neutron with VLAN segmentation, the only network type supported with Contrail plugin."
    
attributes:
    metadata:
        group: 'other'

    ilnurgi_plugin_text:
        value: 'Set default value'
        label: 'Text field'
        description: 'Description for text field'
        weight: 25
        type: "text"

Описание атрибутов:

description

Это описание отобразится как description для поля изменения значение в вебе

attribute:
    description: 'Description for text field'

label

Это описание отобразится как label в форме

attribute:
    label: 'Text field'

regex

Регулярное выражение для валидации введенного значения

attribute:
    regex:
        source: '?\d+$'
        error: "error message"

restrictions

Накладывает какую то логику на атрибут. По какому то условию можно что-то сделать.

Поддерживаемые действия

  • condition - какое то улсовие

  • action - действие, если условие истинно
    • disable - атрибут не редактируем в вебе
    • hide - скрывает атрибут из веба
    • message - отображает сообщение
    • none - при наведении мышкой отобразит предупреждение
  • messages - отображает сообщение

  • strict - включает показ ошибок, если атрибуты в условии не доступны, иначе эти атрибуты просто равны null

attribute:
    restrictions:
        - condition: "settings:some-plugin.attribute.value != 'true'"
          action: "hide"
        - condition: "settings:common.libvirt_type.value != 'kvm'"
          message: "KVM only is supported"
        - condition: "not ('experimental' in version:feature_groups)"
          action: hide
        - condition: "settings:other_plugin == null or settings:other_plugin.metadata.enabled != true"
          strict: false
          message: "Other plugin must be installed and enabled"

type

Тип атрибута.

Для каждого типа в вебе рисуется свой контрол

  • text
  • checkbox
  • radio
  • password
  • select
attribute:
    type: 'text'

value

Значение атрибута по умолчанию

attribute:
    value: 'Set default value'

values

Значения для выбора, например для radio, select

attribute:
    type: radio
    values:
        - data: "true"
          label: "True"
          description: "description1"
        - data: "false"
          label: "False"
          description: "description2"

weight

Ширина для поля изменения значения

attribute:
    weight: 25