[comment]: # ({984854ac-984854ac})
# hostprototype.create

[comment]: # ({/984854ac-984854ac})

[comment]: # ({3e4ca937-3ddb6b5d})
### Descripción

`object hostprototype.create(object/array hostPrototypes)`

Este método permite crear nuevas plantillas de equipos.

::: noteclassic
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](/manual/web_interface/frontend_sections/users/user_roles) para obtener más información.
:::

[comment]: # ({/3e4ca937-3ddb6b5d})

[comment]: # ({26303e78-c4127cc1})
### Parámetros

`(object/array)` Prototipos de host a crear.

Además de las [propiedades estándar del prototipo de host](object#host-prototype), el método acepta los siguientes parámetros.

|Parámetro|[Tipo](/manual/api/reference_commentary#data-types)|Descripción|
|--|--|------|
|groupLinks|array|[Enlaces de grupo](/manual/api/reference/hostprototype/object#group-link) que se crearán para el prototipo de host.<br><br>[Comportamiento del parámetro](/manual/api/reference_commentary#parameter-behavior):<br>- *requerido*|
|ruleid|ID|ID de la regla LLD a la que pertenece el prototipo de host.<br><br>[Comportamiento del parámetro](/manual/api/reference_commentary#parameter-behavior):<br>- *requerido*|
|groupPrototypes|array|[Prototipos de grupo](/manual/api/reference/hostprototype/object#group-prototype) que se crearán para el prototipo de host.|
|macros|object/array|[Macros de usuario](/manual/api/reference/usermacro/object) que se crearán para el prototipo de host.|
|tags|object/array|[Etiquetas de prototipo de host](/manual/api/reference/hostprototype/object#host-prototype-tag).|
|interfaces|object/array|[Interfaces personalizadas](/manual/api/reference/hostprototype/object#custom-interface) del prototipo de host.|
|templates|object/array|[Templates](/manual/api/reference/template/object) que se vincularán al prototipo de host.<br><br>Los templates deben tener definida únicamente la propiedad `templateid`.|

[comment]: # ({/26303e78-c4127cc1})

[comment]: # ({b9613119-b9613119})
### 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.

[comment]: # ({/b9613119-b9613119})

[comment]: # ({b41637d2-b41637d2})
### Ejemplos

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({3f491456-0ce023ac})
#### 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](/manual/api#performing-requests):

```json
{
    "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:

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

[comment]: # ({/3f491456-0ce023ac})

[comment]: # ({47e0dfb2-c4a38bf3})
### Ver también

-   [Enlace de grupo](object#group-link)
-   [Prototipo de grupo](object#group-prototype)
-   [Etiqueta de prototipo de host](object#host-prototype-tag)
-   [Interfaz personalizada](object#custom-interface)
-   [Macro de usuario](/manual/api/reference/usermacro/object#hosttemplate-level-macro)

[comment]: # ({/47e0dfb2-c4a38bf3})

[comment]: # ({4d10a354-4d10a354})
### Fuente

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

[comment]: # ({/4d10a354-4d10a354})
