IPAddressFixup - Global
A inclusão de script IPAddressFixup fornece métodos que garantem que nenhum outro dispositivo tenha o mesmo endereço IP, depois que um dispositivo for descoberto com sucesso. Se forem encontradas duplicatas, o campo de endereço IP será limpo.
Use com qualquer script de descoberta do lado do servidor para validar endereços IP.
IPAddressFixup - dedupe (cadeia de caracteres "tableName", cadeia de caracteres "IP")
Remove duplicatas do endereço IP especificado na tabela especificada.
Depois que um dispositivo for descoberto com sucesso, você poderá usar o método dedupe() para remover os endereços IP duplicados desse dispositivo.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Tabela para verificar se há duplicatas. |
| ip | Cadeia de caracteres | Endereço IP a ser verificado. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como usar dedupe() em um script em segundo plano para remover endereços IP duplicados para o endereço IP especificado na tabela cmdb_ci_hardware.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.dedupe('cmdb_ci_hardware','192.161.1.1'); // Pass the IP address and table which removes duplicates of the specified IP address in the specified table.
}
O exemplo a seguir mostra como usar dedupe() em uma regra de negócio para remover endereços IP duplicados para o endereço IP especificado na tabela cmdb_ci_hardware.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
ipf.dedupe('cmdb_ci_hardware','168.128.1.1'); // Removes duplicates of the specified IP address in the specified table.
}
})(current, previous);
IPAddressFixup - dedupeAll()
Remove todos os endereços IP duplicados das tabelas.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como usar dedupeAll() em um script em segundo plano para remover todos os endereços IP duplicados.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Call script include IPAddressFixup and pass cmdb reference
fx.dedupeAll(); //Removes all duplicate IP addresses from the tables.
}
O exemplo a seguir mostra como usar dedupeAll() em uma regra de negócio para remover todos os endereços IP duplicados.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); //call script include IPAddressFixup and pass cmdb reference
ipf.dedupeAll(); //Removes all duplicate IP addresses from the tables.
})(current, previous);
IPAddressFixup - fix()
Remove todos os endereços IP duplicados e garante que o registro ip_address primário esteja definido como um dos endereços IP da placa de interface de rede (NIC).
Depois que um dispositivo for descoberto com sucesso, você poderá usar o método dedupe() para remover os endereços IP duplicados desse dispositivo e definir o valor do registro ip_address primário.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como usar fix() em um script em segundo plano para remover endereços IP duplicados e definir o endereço IP primário.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.fix(); // Remove all duplicate IP addresses and ensure that the parent ip_address record is set to one of the NIC's IP addresses.
}
O exemplo a seguir mostra como usar fix() em uma regra de negócio para remover endereços IP duplicados e definir o endereço IP primário.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
ipf.fix(); /// Remove all duplicate IP addresses and ensure that the parent ip_address record is set to one of the NIC's IP addresses.
}
})(current, previous);
IPAddressFixup - getParentIP()
Retorna o endereço IP primário do dispositivo atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Endereço IP primário |
O exemplo a seguir mostra como usar getParentIP() em um script em segundo plano para obter o endereço IP primário.
var grDiscovery=new GlideRecord("discovery_device_history"); // current.cmdb_ci can be used in case of Business rule on discovery_device_history table
grDiscovery.addQuery('sys_id','<sys id of the the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
gs.info(fx.getParentIP()); // Display the parent IP address of the device
}
Saída:
172.21.12.11
O exemplo a seguir mostra como usar getParentIP() em uma regra de negócio para obter o endereço IP primário.
((function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
gs.log(ipf.getParentIP()); // Log the parent IP address of the device. Located in the system logs table
}
})(current, previous);
IPAddressFixup - setParentIP(cadeia de caracteres ip)
Define o campo de endereço IP primário do IC atual.
| Nome | Tipo | Descrição |
|---|---|---|
| ip | Cadeia de caracteres | Endereço IP primário do IC atual. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como usar setParentIP() em um script em segundo plano para armazenar o endereço IP primário.
var grDiscover=new GlideRecord("discovery_device_history");
grDiscover.addQuery('sys_id','a14e43b31bb4051070cb96c6b04bcb23'); // sys_id of the device in discovery_device_history table. Put your own sys_id here.
grDiscover.query();
if(grDiscover.next())
{
var fx=new IPAddressFixup(grDiscover.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference.
fx.setParentIP('197.111.1.1'); // Pass IP address to set as new IP on current mentioned CI.
}
O exemplo a seguir mostra como usar setParentIP() em uma regra de negócio para armazenar o endereço IP primário.
((function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.setParentIP('195.11.1.1'); // Set the new IP address of the CI
}
})(current, previous);
IPAddressFixup -syncIP()
Garante que o registro ip_address primário esteja definido como um dos endereços IP da NIC ou o deixa inalterado se não houver NICs.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Isso mostra um exemplo do uso do métodosyncIP () em um script em segundo plano.
var grDevHistory=new GlideRecord("discovery_device_history");
grDevHistory.addQuery('sys_id','a14e43b31bb4051070cb96c6b04bcb23'); // Sys_id of the device in discovery_device_history table. Put your own sys_id here.
grDevHistory.query();
if(grDevHistory.next())
{
var fx=new IPAddressFixup(grDevHistory.cmdb_ci); // Call the script include IPAddressFixup and pass cmdb reference
fx.syncIP(); // Ensures that the parent ip_address record is set to one of the NIC's IP addresses, or leaves it alone if there were no NICs.
}
Isso mostra um exemplo do uso do métodosyncIP () em uma regra de negócio.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Call script include IPAddressFixup and pass cmdb reference
ipf.syncIP(); // Ensures that the parent ip_address record is set to one of the NIC's IP addresses, or leaves it alone if there were no NICs.
}
})(current, previous);