Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Seiteneigenschaften


Deutsch

Beschreibung:

Mit diesem Skript kann eine Manipulation des IPv4-Oktets vorgenommen werden.

Liste der verwendeten Variablen:

VariableBeschreibung




Add-

In

in Code:

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {
    // Function to create VRRP Entry
    var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }
};
Addin

Add-in als JSON-Datei:

View file
nameipv4_octet_manipulation.json
height150

Englisch

Description:

This script can be used to manipulate the IPv4 octet.

List of used variables:

VariableDescription




Add-in code:

/**


 *

@param

{Config}

config


 *

@param

{Context}

context


 *

Do

not

edit

this

comment

or

parameter

types.

Required

for

code

suggestions


*/


exports.main

=

function

(config,

context)

{ // Example 1: manually change an octet var myIp = config.vars.myIP; // myIp = "192.168.1.1" var octs = myIp.split("."); // octs = ["192","168", "1", "1"] octs[3] = "33"; // octs = ["192","168", "1", "33"] var newIp = octs.join("."); // newIp = "192.168.1.33" // Example 2: use a function to set a specific octet to a value var setOct = function (ip, oct, value) { var octs = ip.split("."); octs[oct] = value; return octs.join("."); } var inputIp = "10.11.12.13" var gatewayIp = setOct(inputIp, 3, 1); // "10.11.12.1" var switchIp = setOct(inputIp, 3, 65); // "10.11.12.65" // Example 3: use a function to increment an octet value by a given value var incrOct = function (ip, oct, value) { var octs = ip.split("."); var oldValue = parseInt(octs[oct]); if (oldValue + value <= 255) { // don't go above 255 octs[oct] = "" + (oldValue + value); } return octs.join("."); } var inputIp = "10.11.12.13" var switchIp = incrOct(inputIp, 3, 2); // 10.11.12.15 };

{
    // Function to create VRRP Entry
    var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }
};

Add-in as JSON file:

View file
nameipv4_octet_manipulation.json
height150