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. Ver Roles de usuario para más información.

Parámetros

(object/array) Acciones para 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 Acción filtro objeto para la acción.
operations matriz Acción operaciones para crear la acción.
recovery_operations matriz Acción operaciones de recuperación para crear la acción.
update_operations matriz Acción actualizar operaciones para crear 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 de iniciador que comenzará una vez que un iniciador (con la palabra "memoria" en su nombre) del equipo "10084" entre en estado de PROBLEMA. La acción tendrá 4 operaciones configuradas. La primera e inmediata operación enviará un mensaje a todos los usuarios del grupo de usuarios "7" a través del tipo de medio "1". Si el evento no se resuelve en 30 minutos, se ejecutará la segunda operación script "5" (script con alcance "Operación de acción") en todos los equipos del grupo "2". Si el evento se resuelve, una operación de recuperación notificará a todos los usuarios que recibieron algún mensaje sobre el problema. Si el evento se actualiza, una operación de reconocimiento/actualización notificará (con un asunto y mensaje personalizados) a todos los usuarios que recibieron algún mensaje sobre el problema.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "esc_period": "30m",
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084"
                       },
                       {
                           "conditiontype": 3,
                           "operator": 2,
                           "value": "memory"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_step_from": 1,
                       "esc_step_to": 1,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   },
                   {
                       "operationtype": 1,
                       "esc_step_from": 2,
                       "esc_step_to": 2,
                       "opconditions": [
                           {
                               "conditiontype": 14,
                               "operator": 0,
                               "value": "0"
                           }
                       ],
                       "opcommand_grp": [
                           {
                               "groupid": "2"
                           }
                       ],
                       "opcommand": {
                           "scriptid": "5"
                       }
                   }
               ],
               "recovery_operations": [
                   {
                       "operationtype": "11",
                       "opmessage": {
                           "default_msg": 1
                       }
                   }    
               ],
               "update_operations": [
                   {
                       "operationtype": "12",
                       "opmessage": {
                           "default_msg": 0,
                           "message": "Custom update operation message body",
                           "subject": "Custom update operation message subject"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Respuesta:

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

Crear una acción de descubrimiento

Cree una acción que vinculará los equipos descubiertos a la plantilla "10001".

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"
                           }
                       ]
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                       }
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                           }
                       ]
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Respuesta:

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

Ver también

Fuente

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