map.create

Beschreibung

object map.create(object/array maps)

Mit dieser Methode können neue Karten erstellt werden.

Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object/array) Zu erstellende Karten.

Zusätzlich zu den Standard-Karteneigenschaften akzeptiert die Methode die folgenden Parameter.

Parameter Type Beschreibung
links array Kartenverknüpfungen, die auf der Karte erstellt werden sollen.
selements array Kartenelemente, die auf der Karte erstellt werden sollen.
urls array Karten-URLs, die auf der Karte erstellt werden sollen.
users array Freigaben für Kartenbenutzer, die auf der Karte erstellt werden sollen.
userGroups array Freigaben für Karten-Benutzergruppen, die auf der Karte erstellt werden sollen.
shapes array Kartenformen, die auf der Karte erstellt werden sollen.
lines array Kartenlinien, die auf der Karte erstellt werden sollen.

Um Kartenverknüpfungen zu erstellen, müssen Sie für ein Kartenelement selementid auf einen beliebigen Wert setzen und diesen Wert dann verwenden, um dieses Element in den Eigenschaften selementid1 oder selementid2 der Verknüpfungen zu referenzieren. Wenn das Element erstellt wird, wird dieser Wert durch die korrekte von Zabbix generierte ID ersetzt. Siehe Beispiel.

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der erstellten Maps unter der Eigenschaft sysmapids enthält. Die Reihenfolge der zurückgegebenen IDs entspricht der Reihenfolge der übergebenen Maps.

Beispiele

Eine leere Karte erstellen

Erstellen Sie eine Karte ohne Elemente.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Map",
        "width": 600,
        "height": 600
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "8"
        ]
    },
    "id": 1
}

Eine Host-Karte erstellen

Erstellen Sie eine Karte mit zwei Host-Elementen und einer Verbindung zwischen ihnen. Beachten Sie die Verwendung der temporären Werte „selementid1“ und „selementid2“ im Kartenverknüpfungsobjekt, um auf Kartenelemente zu verweisen.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Host map",
        "width": 600,
        "height": 600,
        "selements": [
            {
                "selementid": "1",
                "elements": [
                    {"hostid": "1033"}
                ],
                "elementtype": 0,
                "iconid_off": "2"
            },

            {
                "selementid": "2",
                "elements": [
                    {"hostid": "1037"}
                ],
                "elementtype": 0,
                "iconid_off": "2"
            }
        ],
        "links": [
            {
                "selementid1": "1",
                "selementid2": "2"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "9"
        ]
    },
    "id": 1
}

Eine Auslöser-Karte erstellen

Erstellen Sie eine Karte mit einem Auslöser-Element, das zwei Auslöser enthält.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Trigger map",
        "width": 600,
        "height": 600,
        "selements": [
            {
                "elements": [
                    {"triggerid": "12345"},
                    {"triggerid": "67890"}
                ],
                "elementtype": 2,
                "iconid_off": "2"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "10"
        ]
    },
    "id": 1
}

Freigabe von Karten

Erstellen Sie eine Karte mit zwei Freigabetypen (Benutzer und Benutzergruppe).

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Map sharing",
        "width": 600,
        "height": 600,
        "users": [
            {
                "userid": "4",
                "permission": "3"
            }
        ],
        "userGroups": [
            {
                "usrgrpid": "7",
                "permission": "2"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "9"
        ]
    },
    "id": 1
}

Kartenformen

Erstellen Sie eine Karte mit dem Kartennamen als Titel.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Host map",
        "width": 600,
        "height": 600,
        "shapes": [
            {
                "type": 0,
                "x": 0,
                "y": 0,
                "width": 600,
                "height": 11,
                "text": "{MAP.NAME}"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "10"
        ]
    },
    "id": 1
}

Kartenlinien

Erstellen Sie eine Kartenlinie.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "map.create",
    "params": {
        "name": "Map API lines",
        "width": 500,
        "height": 500,
        "lines": [
            {
                "x1": 30,
                "y1": 10,
                "x2": 100,
                "y2": 50,
                "line_type": 1,
                "line_width": 10,
                "line_color": "009900"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "sysmapids": [
            "11"
        ]
    },
    "id": 1
}

Siehe auch

Quelle

CMap::create() in ui/include/classes/api/services/CMap.php.