CIDaten – Global
Die CIDaten Die Skripteinbindung ist eine Dienstprogrammklasse, die Methoden für die Arbeit mit Konfigurationselement-Datenstrukturen (CI) in JavaScript bereitstellt.
Diese Skripteinbindung erfordert DiscoveryPlugin (com.snc.Discovery.Core). Sie können es auf jeder Serverseite verwenden DiscoverySkript.
Instanzen dieser Klasse stellen ein CI dar (sowohl der Basisdatensatz als auch alle zugehörigen Listen), und die bereitgestellten Methoden ermöglichen das Laden aus dem Basisdatensatz und zugehörigen Listen oder das Speichern aus ihm.
- Eine einzelne Zuordnung, die den Basis-CI-Tabelleneintrag darstellt (z. B. eine Zeile cmdb_ci_linux_server und ihre Superklassen). Sie können diese Zuordnung mit abrufen CIData – getData()Methode.
- Arrays von Karten, die die Instanzen zugehöriger Listen darstellen, wobei jedes Array eine einzelne zugehörige Liste darstellt und jedes Element eines solchen Arrays eine einzelne Zeile dieser zugehörigen Liste darstellt. Diese Arrays können mit abgerufen werden CIData – getRelatedList(Zeichenfolgentabelle, ZeichenfolgerefField)Methode.
- Arrays von Karten, die die Instanzen von viele-zu-viele-Tabellen darstellen, wobei jedes Array eine einzelne viele-zu-viele-Tabelle darstellt und jedes Element eines solchen Arrays eine einzelne Zeile dieser viele-zu-viele-Tabelle darstellt. Diese Arrays können mit abgerufen werden CIData – getM2MTable(Zeichenfolgentabelle, Zeichenfolgenreferenzfeld)Methode.
CIData – CIData (Zeichenfolge debugFlag)
Erstellt eine Instanz der CIData-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| DebugFlag | Zeichenfolge | Kennzeichnung, die angibt, ob die Debug-Protokollierung aktiviert werden soll. Gültige Werte:
|
In diesem Beispiel wird eine zugehörige Liste erstellt und dem CIData-Objekt hinzugefügt.
var ciDataObj = new CIData();
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci');
var sr = {};
sr['serial_number_type'] = "bios";
sr['serial_number'] = "1BC5E4z89246";
sr['valid'] = "true";
rl.addRec(sr);
ciDataObj.addRelatedList(rl);
CIData – addRelatedList(Array relatedList)
Fügt dieser Instanz die angegebene zugehörige Liste hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| ZugehörigListe | Array | Zugehörige Liste, die hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
In diesem Beispiel wird eine zugehörige Liste erstellt und dem CIData-Objekt hinzugefügt.
var ciDataObj = new CIData();
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci');
var sr = {};
sr['serial_number_type'] = "bios";
sr['serial_number'] = "1BC5E4z89246";
sr['valid'] = "true";
rl.addRec(sr);
ciDataObj.addRelatedList(rl);
CIData – convertRelatedList (Zeichenfolgensensor, ZeichenfolgentableName, Zeichenfolgenreferenzfeld, Zeichenfolgenschlüsselname)
Konvertiert die angegebene zugehörige Liste in eine zugehörige Liste in einem bestimmten Sensor.
| Name | Typ | Beschreibung |
|---|---|---|
| Sensor | Zeichenfolge | Der Sensor |
| tableName | Zeichenfolge | Tabellenname |
| refField | Zeichenfolge | Das Referenzfeld |
| keyName | Zeichenfolge | Der Schlüsselname |
| Typ | Beschreibung |
|---|---|
| Ungültig |
CIData – fromXML (Zeichenfolgen-XML)
Initialisiert die aktuelle CIData-Instanz aus der angegebenen XML-Zeichenfolge.
| Name | Typ | Beschreibung |
|---|---|---|
| XML | Zeichenfolge | Eine XML-Zeichenfolge. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie Test-XML-formatierte CI-Daten abgerufen werden, die während der Discovery erfasst werden.
var xmlCIData = '<CIData><data><fld name="cpu_name">Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz</fld><fld name="host_name">ip-172-31-19-95</fld><fld name="kernel_release">3.10.0-1160.45.1.el7.x86_64</fld><fld name="os">Linux CentOS</fld></data></CIData>';
var ciData = new CIData();
ciData.fromXML(xmlCIData);
gs.log(ciData);
Ausgabe:
CIData instance:
cpu_name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
host_name: ip-172-31-19-95
kernel_release: 3.10.0-1160.45.1.el7.x86_64
os: Linux CentOS
[object Object]
CIData – getData()
Ruft die Datenzuordnung im Basis-CI-Datensatz ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Die Datenzuordnung |
CIData – getM2MTable(Zeichenfolgentabelle, Zeichenfolgenreferenzfeld)
Gibt ein Array von Datenzuordnungen in der angegebenen viele-zu-viele-Liste zurück (an dieses CI).
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Name der Tabelle, die die zugehörige Liste enthält. Im Falle einer viele-zu-viele-Liste ist dies der Name der viele-zu-viele-Tabelle, nicht der Zieltabelle. |
| refField | Zeichenfolge | Name des Felds in der zugehörigen Liste, das auf dieses CI verweist. Im Falle einer viele-zu-viele-Liste ist dies der Name des referenzierenden Felds in der viele-zu-viele-Tabelle, nicht in der Zieltabelle. |
| Typ | Beschreibung |
|---|---|
| Array | Liste der Datenzuordnungen in der angegebenen viele-zu-viele-Liste. Die Liste befindet sich in keiner bestimmten Reihenfolge. Wenn dies keine viele-zu-viele-Liste ist, wird ein leeres Array zurückgegeben. |
Dieses Beispiel zeigt, wie die viele-zu-viele-Beziehungen für das Feld „installed_on“ der Tabelle „cmdb_Software_instance“ abgerufen werden.
function () {
//Instantiate a new CIData class object
var cdta = new CIData();
//Load the current data from a CI record.
cdta.loadFromCI('b4fd7c8437201000deeabfc8bcbe5dc1');
// Returns an Array of Objects (records) of a given M2M related list
var records = cdta.getM2MTable('cmdb_software_instance', 'installed_on');
gs.info(JSON.stringify(records, null, 4));
})();
Ausgabe:
[
{
"sys_id": "208983661b3330106cdf0f26624bcb4b",
"software": "46c1ec3ca9fe198100beafe77332be9a",
"sys_updated_on": "2021-11-16 18:32:35",
"sys_created_on": "2021-11-16 18:32:35",
"name": "3D Groove Playback Engine-*ANNIE-IBM",
"installed_on": "b4fd7c8437201000deeabfc8bcbe5dc1"
},
{
"sys_id": "288983661b3330106cdf0f26624bcb4a",
"software": "0c43bc5fc61122750182c13269a7a3ef",
"sys_updated_on": "2021-11-16 18:32:35",
"sys_created_on": "2021-11-16 18:32:35",
"name": ".NET SDK 2003-*ANNIE-IBM",
"installed_on": "b4fd7c8437201000deeabfc8bcbe5dc1"
}
]
CIData – getRelatedList(Zeichenfolgentabelle, ZeichenfolgerefField)
Ruft ein Array von Datenzuordnungen in der angegebenen zugehörigen Liste (zu diesem CI) ab.
Das Array befindet sich in keiner bestimmten Reihenfolge. Im Falle einer viele-zu-viele-Liste ist dies ein Array von Instanzen der Zieltabelle, nicht die viele-zu-viele-Tabelle. Beispiel: Bei Angabe von „cmdb_Software_instance“ und „installed_on“ (eine viele-zu-viele-Tabelle und das Feld, das auf ein CI verweist) gibt diese Methode ein Array von Zuordnungen zurück, die cmdb_ci_spkg-Instanzen (die Zieltabelle) darstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Name der Tabelle, die die zugehörige Liste enthält. Im Falle einer viele-zu-viele-Liste ist dies der Name der viele-zu-viele-Tabelle, nicht der Zieltabelle. |
| refField | Zeichenfolge | Name des Felds in der zugehörigen Liste, das auf dieses CI verweist. Im Falle einer viele-zu-viele-Liste ist dies der Name des referenzierenden Felds in der viele-zu-viele-Tabelle, nicht in der Zieltabelle. |
| Typ | Beschreibung |
|---|---|
| Array | Ein Array von Datenzuordnungen in der angegebenen zugehörigen Liste. |
CIData – getRelatedListInstance (Zeichenfolgentabelle, Zeichenfolgenreferenzfeld)
Gibt die Instanz von CIRelatedList für die angegebene Liste zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Name der Tabelle, die die zugehörige Liste enthält. Im Falle einer viele-zu-viele-Liste ist dies der Name der viele-zu-viele-Tabelle, nicht der Zieltabelle. |
| refField | Zeichenfolge | Name des Felds in der zugehörigen Liste, das auf dieses CI verweist. Im Falle einer viele-zu-viele-Liste ist dies der Name des referenzierenden Felds in der viele-zu-viele-Tabelle, nicht in der Zieltabelle. |
| Typ | Beschreibung |
|---|---|
| Objekt | Instanz von CIRelatedList Für die angegebene Liste. |
Das folgende Codebeispiel verwendet GetRelatedListInstance() Methode zum Suchen der zu entfernenden zugehörigen Listenbeziehungen.
removeAllRelatedList: function(ci_id) {
var cdta = new CIData('false');
cdta.init();
cdta.loadFromCI(ci_id); // Get a Computer CI Instance
var cirelatedlist = cdta.getRelatedListInstance('cmdb_rel_ci', 'parent'); // Get the CIRelatedList instance holding all relationships of the above CI.
cirelatedlist.remove(); // Remove all the CI Relationships
}
CIData – init()
Initialisiert diese Instanz als Vorbereitung auf das Laden eines neuen CI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Ungültig |
var cdta = CIData('false');
cdta.init();
CIData – loadFromCI(Zeichenfolge cmdb_ci)
Lädt die aktuellen Daten aus einer angegebenen sys_ID
| Name | Typ | Beschreibung |
|---|---|---|
| cmdb_ci | Zeichenfolge | Die sys_ID des CI |
| Typ | Beschreibung |
|---|---|
| Objekt | Die aktuellen Daten aus dem angegebenen CI. |
var cdta = CIData('false');
cdta.init();
cdta.loadFromCI('ccaf9c0a8016400b98a06818d57c7');
CIData – toString()
Konvertiert den Namen dieser CIData-Instanz in eine Zeichenfolge.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name der Instanz |
Dieses Beispiel lädt die CIData aus dem aktuellen CI und konvertiert diese neue CIData-Instanz in das Zeichenfolgenformat.
var cidata = new CIData(); // Instantiate a new CIData class object
cidata.loadFromCI('0c43b0f5c6112275019abd2bb3dcd78f'); // Load the current data from a CI record. Use sys_id or ci name.
cidata.toString(); // Convert the name of this CIData instance to a string.
gs.info(cidata); // Display name value pairs of the current CI
Ausgabe:
CIData instance:
sys_id: 0c43b0f5c6112275019abd2bb3dcd78f
operational_status: 1
os_service_pack: Service Pack 1
cpu_manufacturer: 0c43b088c6112275011a4bd46a4e6cc4
sys_updated_on: 2022-01-11 07:44:05
discovery_source: Other Automated
ram: 503
cpu_speed: 1993
sys_domain_path: /
disk_space: 37.26
cost_center: d9d07bddc0a80a647cf932056ed24652
assigned: 2020-08-31 08:00:00
cd_speed: -1
can_print: 0
sys_class_name: cmdb_ci_computer
manufacturer: add7b97737e3100044e0bfc8bcbe5d96
cpu_count: 1
vendor: adb3d8ce37413000158bbfc8bcbe5d15
assigned_to: 5137153cc611227c000bbd1bd8cd2007
os_version: 5.1.2600
cd_rom: 0
unverified: 0
asset: aac1ba8837f3100044e0bfc8bcbe5d3b
skip_sync: 0
sys_created_on: 2005-05-24 01:14:19
sys_domain: global
cpu_type: GenuineIntel
install_date: 2020-05-19 07:00:00
asset_tag: P1000143
install_status: 1
name: ANDREWDWXP
subcategory: Computer
virtual: 0
sys_class_path: /!!/!2/!(
company: 31bea3d53790200044e0bfc8bcbe5dec
department: 221f3db5c6112284009f4becd3039cc9
cost: 1299.99
os: Windows XP Professional
attestation_status: Not Yet Reviewed
monitor: 0
ip_address: 195.11.1.1
cost_cc: USD
location: db9a923c0a0a0a6501068d6eaec25ee0
category: Hardware
fault_count: 0
[object Object]
CIData – toXML()
Gibt eine XML-Zeichenfolge zurück, die eine serialisierte Version dieser Instanz enthält (einschließlich aller zugehörigen Listen).
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Die XML-Zeichenfolge, die eine serialisierte Version dieser Instanz und zugehörige Listen enthält. |
var cdta = CIData();
cdta.toXML();