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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.