hostprototype.create

Opis

object hostprototype.create(object/array hostPrototypes)

Ta metoda umożliwia tworzenie nowych prototypów hostów.

Ta metoda jest dostępna tylko dla typów użytkowników Admin i Super admin. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object/array) Prototypy hostów do utworzenia.

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

Parametr Typ Opis
groupLinks array Powiązania grup, które mają zostać utworzone dla prototypu hosta.

Zachowanie parametru:
- wymagany
ruleid ID ID reguły LLD, do której należy prototyp hosta.

Zachowanie parametru:
- wymagany
groupPrototypes array Prototypy grup, które mają zostać utworzone dla prototypu hosta.
macros object/array Makra użytkownika, które mają zostać utworzone dla prototypu hosta.
tags object/array Tagi prototypu hosta.
interfaces object/array Niestandardowe interfejsy prototypu hosta.
templates object/array Szablony, które mają zostać podlinkowane do prototypu hosta.

Szablony muszą mieć zdefiniowaną wyłącznie właściwość templateid.

Zwracane wartości

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

Przykłady

Tworzenie prototypu hosta

Utwórz prototyp hosta "{#VM.NAME}" w regule LLD "23542" z prototypem grupy "{#HV.NAME}", parą tagów "datacenter": "{#DATACENTER.NAME}" oraz niestandardowym interfejsem SNMPv2 127.0.0.1:161 ze społecznością {$SNMP_COMMUNITY}. Połącz go z grupą hostów "2".

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.create",
    "params": {
        "host": "{#VM.NAME}",
        "ruleid": "23542",
        "custom_interfaces": "1",
        "groupLinks": [
            {
                "groupid": "2"
            }
        ],
        "groupPrototypes": [
            {
                "name": "{#HV.NAME}"
            }
        ],
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            }
        ],
        "interfaces": [
            {
                "main": "1",
                "type": "2",
                "useip": "1",
                "ip": "127.0.0.1",
                "dns": "",
                "port": "161",
                "details": {
                    "version": "2",
                    "bulk": "1",
                    "community": "{$SNMP_COMMUNITY}"
                }
            }
        ]
    },
    "id": 1
}

Odpowiedź:

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

Zobacz także

Źródło

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