Использование новых объектов Состояние
В этой теме приводится пример использования новых объектов Состояние.
В этом примере политика генерирует набор данных для виджета топологии. В ней есть выходной параметр worldObject, который представляет собой массив объектов Impact. При
выполнении политики параметр worldObject загружает данные в виджет DASH (например, в виджет топологии или таблицы
деревьев). Чтобы использовать этот пример для не топологического виджета (например, для таблицы), удалите атрибуты
UITreeNode из данных объекта.
Дополнительную информацию о создании выходного параметра смотрите в разделе Конфигурирование параметров политик в редакторе политик в публикации IBM Tivoli Impact - Справочное руководство по политике или по ссылке Конфигурирование параметров политики в редакторе политик.
Выходной параметр должен содержать следующие атрибуты:
Имя: worldObject
Имя переменной политики: worldObject
Формат: Массив объектов Impact
Для поля Определение схемы нужно задать следующие три поля:
Имя |
Формат |
Поле ключа |
|---|---|---|
|
Строка |
TRUE |
|
Состояние |
FALSE |
|
Отметка времени |
TRUE |
Состояние узла имя-значение может быть как одним из объектов по умолчанию, так и новым пользовательским объектом Состояние.Log("Customize Links");
worldObject = {};
Obj = NewObject();
Obj.Node = "World";
Obj.UITreeNodeId = 0;
Obj.UITreeNodeStatus = "Critical";
Obj.NetworkStatus = Obj.UITreeNodeStatus;
Obj.UITreeNodeLabel = "World";
Obj.LastUpdate= LocalTime(GetDate()*90);
worldObject = worldObject + Obj;
Obj1 = NewObject();
Obj1.Node = "Africa";
Obj1.UITreeNodeId = 1;
Obj1.UITreeNodeLabel = "Africa";
Obj1.UITreeNodeParent = 0;
Obj1.UITreeNodeStatus = "Critical";
Obj1.NetworkStatus = Obj1.UITreeNodeStatus;
Obj1.UITreeNodeRelation="Сеть в Африке не работает";
Obj1.LastUpdate= LocalTime(GetDate()+300*1);
worldObject = worldObject + Obj1;
Obj2 = NewObject();
Obj2.Node = "Asia";
Obj2.UITreeNodeId = 2;
Obj2.UITreeNodeLabel = "Asia";
Obj2.UITreeNodeParent = 0;
Obj2.UITreeNodeStatus = "Major";
Obj2.NetworkStatus = Obj2.UITreeNodeStatus;
Obj2.UITreeNodeRelation="Проблема с сетью в Азии"; //этот текст будет показан при помещении указателя мыши на ссылку
Obj2.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1_8.png";
Obj2.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1.json";
Obj2.LastUpdate= LocalTime(GetDate()+300*3);
worldObject =worldObject + Obj2;
Obj3 = NewObject();
Obj3.Node = "North America";
Obj3.UITreeNodeId = 3;
Obj3.UITreeNodeLabel = "North America";
Obj3.UITreeNodeParent = 0;
Obj3.UITreeNodeStatus = "Minor";
Obj3.NetworkStatus = Obj3.UITreeNodeStatus;
Obj3.UITreeNodeRelation="Для сети в Северной Америке выполняется техобслуживание";
Obj3.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1_8.png";
Obj3.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1.json";
Obj3.LastUpdate= LocalTime(GetDate()-300*60);
worldObject = worldObject + Obj3;
Obj4 = NewObject();
Obj4.Node = "South America";
Obj4.UITreeNodeId = 4;
Obj4.UITreeNodeLabel = "South America";
Obj4.UITreeNodeParent = 0;
Obj4.UITreeNodeStatus = "Normal";
Obj4.NetworkStatus = Obj4.UITreeNodeStatus;
Obj4.UITreeNodeRelation="Сеть в Южной Америке работает нормально";
Obj4.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1_8.png";
Obj4.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_hypervisor1.json";
Obj4.LastUpdate= LocalTime(GetDate()+300*9);
worldObject =worldObject + Obj4;
Obj5 = NewObject();
Obj5.Node = "Brazil";
Obj5.UITreeNodeId = 5;
Obj5.UITreeNodeLabel = "Brazil";
Obj5.UITreeNodeParent = 4;
Obj5.UITreeNodeStatus = "Normal";
Obj5.NetworkStatus = Obj5.UITreeNodeStatus;
Obj5.UITreeNodeRelation="Сеть в Бразилии работает нормально";
Obj5.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1_8.png";
Obj5.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1.json";
Obj5.LastUpdate= LocalTime(GetDate()+300*100);
worldObject =worldObject + Obj5;
Obj6 = NewObject();
Obj6.Node = "Egypt";
Obj6.UITreeNodeId = 6;
Obj6.UITreeNodeLabel = "Egypt";
Obj6.UITreeNodeParent = 1;
Obj6.UITreeNodeStatus = "Intermediate";
Obj6.NetworkStatus = Obj6.UITreeNodeStatus;
Obj6.UITreeNodeRelation="Сеть в Египте не работает";
Obj6.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1_8.png";
Obj6.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1.json";
Obj6.LastUpdate= LocalTime(GetDate()+300*80);
worldObject =worldObject + Obj6;
// пользовательский объект состояния для Турции - ’newcritical’
Obj7 = NewObject();
Obj7.Node = "Turkey";
Obj7.UITreeNodeId = 7;
Obj7.UITreeNodeLabel = "Turkey";
Obj7.UITreeNodeParent = 2;
Obj7.UITreeNodeStatus = "newcritical";
Obj7.NetworkStatus = "newcritical";
Obj7.UITreeNodeRelation="Сеть в Турции не работает";
Obj7.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1_8.png";
Obj7.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_jobinstance1.json";
Obj7.LastUpdate= LocalTime(GetDate()+300*80);
worldObject =worldObject + Obj7;
// пользовательский объект состояния для Аргентины - ’newmajor’
Obj8 = NewObject();
Obj8.Node = "Argentina";
Obj8.UITreeNodeId = 8;
Obj8.UITreeNodeLabel = "Argentina";
Obj8.UITreeNodeParent = 4;
Obj8.UITreeNodeStatus = "newmajor";
Obj8.NetworkStatus = "newmajor";
Obj8.UITreeNodeRelation="Сеть в Аргентине не работает";
// используется другое внутреннее изображение (с шестеренкой в середине) для узла виджета в состоянии ’newmajor’
Obj8.UITreeNodeSmallImage = "[widget]/resources/common_assets/common_resource_icons/re64_phantomappserver1_8.png";
Obj8.UITreeNodeScalarImage = "[widget]/resources/common_assets/common_resource_icons/re64_phantomappserver1.json";
Obj8.LastUpdate= LocalTime(GetDate()+300*80);
worldObject =worldObject + Obj8;
Log(worldObject);