IPAddressFixup - Global
. IPAddressFixup A inclusão de script 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 Endereço IP será limpo.
Use com qualquer script de Descoberta do lado do servidor para validar endereços IP.
IPAddressFixup - desduplicação (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 desduplicação() Método 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 desduplicação() Em um script em segundo plano para remover endereços IP duplicados do 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 desduplicação() Em uma regra de negócios para remover endereços IP duplicados do 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ócios 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 seja 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 desduplicação() Método 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 corrigir() 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 corrigir() Em uma regra de negócios 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ócios 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ócios 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 seja definido como um dos endereços IP da NIC ou o deixe sozinho se não houver NICs.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Mostra um exemplo de uso do SyncIP() método 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.
}
Mostra um exemplo de uso do SyncIP() método em uma regra de negócios.
(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);