host.create

Beschreibung

object host.create(object/array hosts)

Diese Methode ermöglicht das Erstellen neuer Hosts.

Diese Methode ist nur für die Benutzertypen Admin und Super admin verfügbar. Die Berechtigung zum Aufrufen der Methode kann in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

(object/array) Zu erstellende Hosts.

Zusätzlich zu den standardmäßigen Host-Eigenschaften akzeptiert die Methode die folgenden Parameter.

Parameter Typ Beschreibung
groups object/array Host-Gruppen, zu denen der Host hinzugefügt werden soll.

Für die Host-Gruppen darf nur die Eigenschaft groupid definiert sein.

Parameterverhalten:
- erforderlich
interfaces object/array Schnittstellen, die für den Host erstellt werden sollen.
tags object/array Host-Tags.
templates object/array Vorlagen, die mit dem Host verknüpft werden sollen.

Für die Vorlagen darf nur die Eigenschaft templateid definiert sein.
macros object/array Benutzermakros, die für den Host erstellt werden sollen.
inventory object Eigenschaften des Host-Inventars.

Rückgabewerte

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

Beispiele

Erstellen eines Hosts

Erstellen Sie einen Host mit dem Namen „Linux server“ mit einer IP-Schnittstelle und Tags, fügen Sie ihn einer Gruppe hinzu, verknüpfen Sie eine Vorlage mit ihm und legen Sie die MAC-Adressen in der Host-Inventarisierung fest.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Linux server",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "192.168.3.1",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "50"
            }
        ],
        "tags": [
            {
                "tag": "host-name",
                "value": "linux-server"
            }
        ],
        "templates": [
            {
                "templateid": "20045"
            }
        ],
        "macros": [
            {
                "macro": "{$USER_ID}",
                "value": "123321"
            },
            {
                "macro": "{$USER_LOCATION}",
                "value": "0:0:0",
                "description": "Breiten-, Längen- und Höhenkoordinaten"
            }
        ],
        "inventory_mode": 0,
        "inventory": {
            "macaddress_a": "01234",
            "macaddress_b": "56768"
        }
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "107819"
        ]
    },
    "id": 1
}

Erstellen eines Hosts mit SNMP-Schnittstelle

Erstellen Sie einen Host namens „SNMP host“ mit einer SNMPv3-Schnittstelle mit Details.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "SNMP host",
        "interfaces": [
            {
                "type": 2,
                "main": 1,
                "useip": 1,
                "ip": "127.0.0.1",
                "dns": "",
                "port": "161",
                "details": {
                    "version": 3,
                    "bulk": 0,
                    "securityname": "mysecurityname",
                    "contextname": "",
                    "securitylevel": 1
                }
            }
        ],
        "groups": [
            {
                "groupid": "4"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10658"
        ]
    },
    "id": 1
}

Erstellen eines Hosts mit PSK-Verschlüsselung

Erstellen Sie einen Host mit dem Namen „PSK host“ und konfigurieren Sie PSK-Verschlüsselung. Beachten Sie, dass der Host für die Verwendung von PSK vorkonfiguriert sein muss.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "PSK host",
        "interfaces": [
            {
                "type": 1,
                "ip": "192.168.3.1",
                "dns": "",
                "port": "10050",
                "useip": 1,
                "main": 1
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "tls_accept": 2,
        "tls_connect": 2,
        "tls_psk_identity": "PSK 001",
        "tls_psk": "1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952"
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10590"
        ]
    },
    "id": 1
}

Erstellen eines von einem Proxy überwachten Hosts

Erstellen Sie einen Host, der von einem Proxy mit der ID „1“ überwacht wird.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Host monitored by proxy",
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "monitored_by": 1,
        "proxyid": 1
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10591"
        ]
    },
    "id": 1
}

Erstellen eines von einer Proxy-Gruppe überwachten Hosts

Erstellen Sie einen Host, der von der Proxy-Gruppe mit der ID „1“ überwacht wird.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Host monitored by proxy group",
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "monitored_by": 2,
        "proxy_groupid": 1
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10592"
        ]
    },
    "id": 1
}

Siehe auch

Quelle

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