Параметры данных и валидации
CUSTOM_VALIDATORS
Совет
Динамический параметр конфигурации
Это сопоставление моделей с пользовательскими валидаторами, которые были определены локально для применения пользовательской логики валидации. Пример приведён ниже:
CUSTOM_VALIDATORS = {
"dcim.site": [
{
"name": {
"min_length": 5,
"max_length": 30
}
},
"my_plugin.validators.Validator1"
],
"dcim.device": [
"my_plugin.validators.Validator1"
]
}
FIELD_CHOICES
Некоторые статические поля выбора в моделях могут быть настроены с пользовательскими значениями. Это делается путём определения FIELD_CHOICES как словаря, сопоставляющего поля модели с их вариантами выбора. Каждый вариант в списке должен иметь значение базы данных и удобочитаемую метку и может опционально указывать цвет. (Список доступных цветов приведён ниже.)
Предоставленные варианты могут либо заменить стандартные варианты, предоставляемые InfraVision, либо дополнить их. Чтобы заменить доступные варианты, укажите приложение, модель и имя поля, разделённые точками. Например, модель площадки будет указана как dcim.Site.status. Чтобы расширить доступные варианты, добавьте знак плюс в конец этой строки (например, dcim.Site.status+).
Например, следующая конфигурация заменит стандартные варианты статуса площадки на опции Foo, Bar и Baz:
FIELD_CHOICES = {
'dcim.Site.status': (
('foo', 'Foo', 'red'),
('bar', 'Bar', 'green'),
('baz', 'Baz', 'blue'),
)
}
Добавление знака плюс к идентификатору поля вместо этого добавит эти варианты к уже предлагаемым:
FIELD_CHOICES = {
'dcim.Site.status+': (
...
)
}
Следующие поля моделей поддерживают настраиваемые варианты:
circuits.Circuit.statusdcim.Device.statusdcim.Location.statusdcim.Module.statusdcim.PowerFeed.statusdcim.Rack.statusdcim.Site.statusdcim.VirtualDeviceContext.statusextras.JournalEntry.kindipam.IPAddress.statusipam.IPRange.statusipam.Prefix.statusipam.VLAN.statusvirtualization.Cluster.statusvirtualization.VirtualMachine.statuswireless.WirelessLAN.status
Поддерживаются следующие цвета:
blueindigopurplepinkredorangeyellowgreentealcyangrayblackwhite
PROTECTION_RULES
Совет
Динамический параметр конфигурации
Это сопоставление моделей с пользовательскими валидаторами, по которым оценивается объект непосредственно перед его удалением. Если валидация не проходит, объект не удаляется. Пример приведён ниже:
PROTECTION_RULES = {
"dcim.site": [
{
"status": {
"eq": "decommissioning"
}
},
"my_plugin.validators.Validator1",
]
}