hostprototype.create

Descripción

object hostprototype.create(object/array hostPrototypes)

Este método permite crear nuevas plantillas de equipos.

Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(object/array) Prototipos de host a crear.

Además de las propiedades estándar del prototipo de host, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
groupLinks array Enlaces de grupo que se crearán para el prototipo de host.

Comportamiento del parámetro:
- requerido
ruleid ID ID de la regla LLD a la que pertenece el prototipo de host.

Comportamiento del parámetro:
- requerido
groupPrototypes array Prototipos de grupo que se crearán para el prototipo de host.
macros object/array Macros de usuario que se crearán para el prototipo de host.
tags object/array Etiquetas de prototipo de host.
interfaces object/array Interfaces personalizadas del prototipo de host.
templates object/array Templates que se vincularán al prototipo de host.

Los templates deben tener definida únicamente la propiedad templateid.

Valores de retorno

(object) Devuelve un objeto que contiene los IDs de las plantillas de equipo creadas bajo la propiedad hostids. El orden de los IDs devueltos coincide con el orden de las plantillas de equipo pasadas.

Ejemplos

Creando una plantilla de equipo

Cree una plantilla de equipo "{#VM.NAME}" en la regla LLD "23542" con una plantilla de grupo "{#HV.NAME}", par de etiquetas "datacenter": "{#DATACENTER.NAME}" e interfaz SNMPv2 personalizada 127.0.0.1:161 con comunidad {$SNMP_COMMUNITY}. Enlácela al grupo de equipos "2".

Solicitud:

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

Respuesta:

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

Ver también

Fuente

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