action.create

Descripción

object action.create(object/array actions)

Este método permite crear nuevas acciones.

Este método está únicamente disponible para los usuarios tipo Admin y Super Admin. Los permisos para llamar al método pueden ser revocados en las opciones del rol de usuario. Para más información, ver Roles de usuario.

Parámetros

(objeto/matriz) Acciones a crear.

Además de las propiedades de acción estándar, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
filter objeto Filtro de acción objeto para la acción.
operations array Operaciones de acción a crear para la acción.
recovery_operations matriz Operaciones de recuperación de acción a crear para la acción.
update_operations matriz Operaciones de actualización de acción a crear para la acción.

Valores devueltos

(object) Devuelve un objeto que contiene los ID de las acciones creadas bajo la propiedad actionids. El orden de los ID devueltos coincide con el orden de las acciones pasadas.

Ejemplos

Crear una acción de iniciador

Cree una acción que se ejecutará cuando un iniciador del equipo "10084" que tiene la palabra "memoria" en su nombre entra en estado de problema. La acción primero debe enviar un mensaje a todos los usuarios del grupo de usuarios "7". Si el evento no se resuelve en 4 minutos, ejecutará el script "3" en todos los equipos del grupo "2". Al desencadenar la recuperación, notificará a todos los usuarios que hayan recibido cualquier mensaje sobre el problema anterior. Al activar la actualización, un mensaje personalizado con asunto y cuerpo se enviará a todos los que dejaron reconocimientos y comentarios a través de todo tipo de medios.

Solicitud:

{
       ."jsonrpc":"2.0",
       ."method":"action.create",
       ."params":{
       ."name":"Trigger action",
       ."eventsource":0,
       ."status":0,
       ."esc_period"."2m",
       ."filter":{
       ."evaltype":0,
       ."conditions":[
       .{
       ."conditiontype":1,
       ."operator":0,
       ."value":"10084"
       .},
       .{
       ."conditiontype":3,
       ."operator":2,
       ."value":"memory"
       .}
       .]
       .},
       ."operations":[
       .{
       ."operationstype":0,
       ."esc_period":"0s",
       ."esc_step_from":1,
       ."esc_step_to":2,
       ."evaltype":0,
       ."opmessage_grp":[
       .{
       ."usrgrpid":"7"
       .}
       .],
       ."opmessage":{
       ."default_msg":1,
       ."mediatypeid":"1"
       .}
       .},
       .{
       ."operationtype":1,
       ."esc_step_from":3,
       ."esc_step_to":4,
       ."evaltype":0,
       ."opconditions":[
       .{
       ."conditiontype":14,
       ."operator":0,
       ."value":"0"
       .}
       .],
       ."opcommand_grp":[
       .{
       ."groupid":"2"
       .}
       .],
       ."opcommand":{
       ."scriptid":"3"
       .}
       .}
       .],
       ."recovery_operations":[
       .{
       ."operationtype":"11",
       ."opmessage":{
       ."default_msg":1
       .}
       .}.
       .],
       ."update_operations":[
       .{
       ."operationtype":"12",
       ."opmessage":{
       ."default_msg":0,
       ."message"."Cuerpo del mensaje de la operación de actualización personalizado",
       ."subject":"Asunto del mensaje de la operación de actualización personalizado"
       .}
       .}
       .],
       ."pause_suppressed":"0",
       ."notify_if_canceled":"0"
       .},
       ."auth":"038e1d7b1735c6a5436ee9eae095879e",
       ."id":1
       }

Respuesta:

{
        · "jsonrpc": "2.0",
        · "result": {
        · "actionids": [
        · "17"
        · ]
        · },
        · "id": 1
       }

Crear una acción de descubrimiento

Cree una acción de descubrimiento que vincule la plantilla "10001" con los equipos descubiertos.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Discovery action",
               "eventsource": 1,
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 21,
                           "operator": 0,
                           "value": "1"
                       },
                       {
                           "conditiontype": 10,
                           "operator": 0,
                           "value": "2"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 6,
                       "optemplate": [
                           {
                               "templateid": "10001"
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "18"
               ]
           },
           "id": 1
       }

Usando un filtro de expresión personalizado

Cree una acción de iniciador que utilice una expresión personalizada, "A y (B o C)", para evaluar las condiciones de la acción. Una vez que un iniciador con una gravedad mayor o igual a "Advertencia" del equipo "10084" o del equipo "10106" entra en estado de PROBLEMA, la acción enviará un mensaje a todos los usuarios del grupo de usuarios "7" a través del tipo de medio "1". Los ID de fórmula "A", "B" y "C" se han elegido arbitrariamente.

Solicitud:

{
       "jsonrpc": "2.0",
       "method": "action.create",
       "params": {
       "name": "Trigger action",
       "eventsource": 0,
       "esc_period": "15m",
       "filter": {
       "evaltype": 3,
       "formula": "A and (B or C)",
       "conditions": [
       {
       "conditiontype": 4,
       "operator": 5,
       "value": "2",
       "formulaid": "A"
       },
       {
       "conditiontype": 1,
       "operator": 0,
       "value": "10084",
       "formulaid": "B"
       },
       {
       "conditiontype": 1,
       "operator": 0,
       "value": "10106",
       "formulaid": "C"
       }
       ]
       },
       "operations": [
       {
       "operationtype": 0,
       "esc_step_from": 1,
       "esc_step_to": 1,
       "opmessage_grp": [
       {
       "usrgrpid": "7"
       }
       ],
       "opmessage": {
       "default_msg": 1,
       "mediatypeid": "1"
       }
       }
       ]
       },
       "id": 1
       }

Respuesta:

{
       "jsonrpc": "2.0",
       "result": {
       "actionids": [
       "18"
       ]
       },
       "id": 1
       }

Crear regla de autoregistro del agente

Cree una acción de registro automático que agregue un equipo al grupo de equipos "2" cuando el nombre del equipo contenga "SRV" o los metadatos contengan "AlmaLinux".

Solicitud:

{
       "jsonrpc": "2.0",
       "method": "action.create",
       "params": {
       "name": "Register Linux servers",
       "eventsource": "2",
       "filter": {
       "evaltype": "2",
       "conditions": [
       {
       "conditiontype": "22",
       "operator": "2",
       "value": "SRV"
       },
       {
       "conditiontype": "24",
       "operator": "2",
       "value": "AlmaLinux"
       }
       ]
       },
       "operations": [
       {
       "operationtype": "4",
       "opgroup": [
       {
       "groupid": "2"
       }
       ]
       }
       ]
       },
       "id": 1
       }

Respuesta:

{
       "jsonrpc": "2.0",
       "result": {
       "actionids": [
       19
       ]
       },
       "id": 1
       }

Crear una regla de registro automático de agente con etiquetas de equipo

Cree una acción de registro automático que agregue un equipo al grupo de equipos "2" y agregue dos etiquetas de equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Register Linux servers with tags",
               "eventsource": "2",
               "operations": [
                   {
                       "operationtype": "4",
                       "opgroup": [
                           {
                               "groupid": "2"
                           }
                       ]
                   },
                   {
                       "operationtype": "13",
                       "optag": [
                           {
                               "tag": "location",
                               "value": "office"
                           },
                           {
                               "tag": "city",
                               "value": "Riga"
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   20
               ]
           },
           "id": 1
       }

Ver también

Fuente

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