host.create

Opis

object host.create(object/array hosts)

Ta metoda pozwala tworzyć nowe hosty.

Ta metoda jest dostępna tylko dla użytkowników Admin i Super admin. Uprawnienia do wywołania metody można odwołać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w User roles.

Parametry

(object/array) Hosty do utworzenia.

Oprócz standardowych właściwości hosta metoda przyjmuje następujące parametry.

Parameter Type Description
groups object/array Grupy hostów do dodania hosta.

Grupy hostów muszą mieć zdefiniowaną wyłącznie właściwość groupid.

Zachowanie parametru:
- required
interfaces object/array Interfejsy do utworzenia dla hosta.
tags object/array Tagi hosta.
templates object/array Szablony do powiązania z hostem.

Szablony muszą mieć zdefiniowaną wyłącznie właściwość templateid.
macros object/array Makra użytkownika do utworzenia dla hosta.
inventory object Właściwości inwentarza hosta.

Zwracane wartości

(object) Zwraca obiekt zawierający identyfikatory utworzonych hostów we właściwości hostids. Kolejność zwracanych identyfikatorów odpowiada kolejności przekazanych hostów.

Przykłady

Tworzenie hosta

Utwórz host o nazwie „Linux server” z interfejsem IP i tagami, dodaj go do grupy, podłącz do niego szablon i ustaw adresy MAC w inwentarzu hosta.

Żądanie:

{
    "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": "latitude, longitude and altitude coordinates"
            }
        ],
        "inventory_mode": 0,
        "inventory": {
            "macaddress_a": "01234",
            "macaddress_b": "56768"
        }
    },
    "id": 1
}

Odpowiedź:

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

Tworzenie hosta z interfejsem SNMP

Utwórz host o nazwie "SNMP host" z interfejsem SNMPv3 ze szczegółami.

Żądanie:

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

Odpowiedź:

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

Tworzenie hosta z szyfrowaniem PSK

Utwórz host o nazwie „PSK host” ze skonfigurowanym szyfrowaniem PSK. Pamiętaj, że host musi być wstępnie skonfigurowany do używania PSK.

Żądanie:

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

Odpowiedź:

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

Tworzenie hosta monitorowanego przez proxy

Utwórz host, który będzie monitorowany przez proxy o ID „1”.

Żądanie:

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

Odpowiedź:

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

Tworzenie hosta monitorowanego przez grupę proxy

Utwórz host, który będzie monitorowany przez grupę proxy o ID „1”.

Żądanie:

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

Odpowiedź:

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

Zobacz także

Źródło

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