hostprototype.create

Descrição

object hostprototype.create(object/array hostPrototypes)

Este método permite criar novos protótipos de host.

Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Veja Funções de usuário para mais informações.

Parâmetros

(object/array) Protótipos de host a serem criados.

Além das propriedades padrão do protótipo de host, o método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
groupLinks array Vínculos de grupo a serem criados para o protótipo de host.

Comportamento do parâmetro:
- obrigatório
ruleid ID ID da regra LLD à qual o protótipo de host pertence.

Comportamento do parâmetro:
- obrigatório
groupPrototypes array Protótipos de grupo a serem criados para o protótipo de host.
macros object/array Macros de usuário a serem criadas para o protótipo de host.
tags object/array Tags do protótipo de host.
interfaces object/array Interfaces personalizadas do protótipo de host.
templates object/array Templates a serem vinculados ao protótipo de host.

Os templates devem ter apenas a propriedade templateid definida.

Valores de retorno

(object) Retorna um objeto contendo os IDs do host criado protótipos sob a propriedade hostids. A ordem dos IDs retornados corresponde à ordem dos protótipos de host passados.

Exemplos

Criando um protótipo de host

Crie um protótipo de host "{#VM.NAME}" na regra LLD "23542" com um protótipo de grupo "{#HV.NAME}", par de tags "datacenter": "{#DATACENTER.NAME}" e interface SNMPv2 personalizada 127.0.0.1:161 com comunidade {$SNMP_COMMUNITY}. Vincule-o ao grupo de hosts "2".

Requisição:

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

Resposta:

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

Veja também

Fonte

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