opEvents Dynamically update Events using API or CLI
opEvents CLI
opEvents CLI is now able to dynamically update events using the act=set parameter.
PARAMETERS | Value |
---|---|
act | set |
event_id | event id of the given event |
entry.property-name | value to be updated for the given event property |
CLI command : /usr/local/omk/bin/opevents-cli.pl act=set event_id="672a9b95ad7949330256138a" entry.details="update event details" entry.level=Minor
opEvents API
opEvents API is now able to dynamically update events using a PATCH request.
PATCH | /omk/opEvents/api/v1/events/event_id |
---|
Payload example:
{
"details" : "updating event details",
"level" : "Minor"
}
This will update the Event with the given data.
Successful Response
HTTP Status | Body | Description |
---|---|---|
200 OK | JSON object with success message. | The success property is set to “Event successfully updated” and only if the request was successful. |
Bad Responses
HTTP Status | Payload example | Body | Description |
---|---|---|---|
400 Bad Request | /omk/opEvents/api/v1/events/672a9b95ad794933025xxxx | JSON object with error message. | Invalid event id in API |
400 Bad Request | empty payload | JSON object with error message. | The error message is set to "Empty input: Please provide the necessary data in the request body." |
opEvents CLI and API Validations
The opEvents CLI and API both follow a set of validation rules to maintain data integrity:
Allowed Event Properties: There is a predefined set of properties that events can have. Any input that doesn’t match these predefined properties will not be accepted directly.
Custom Properties: To add custom properties, they must be prefixed with
"tag_"
. This convention helps the system distinguish custom properties from standard event properties and may prevent naming conflicts or unwanted data.System-Derived Property-Names: The system automatically generates or recognises specific property names that can’t be altered, whether through a Command-Line Interface (CLI) or an API. These names are fixed and define the structure of allowed event properties.
Priority Validation: Another validation added on
time acknowledged priority
Time, Acknowledged and Priority must be a number.
Priority can only be a number between 0-10 decimal
List of default property names which can not be modified.
{
'_id' => 1,
'actions' => 1,
'planned_outage' => 1,
'node' => 1,
'nodeinfo' => 1,
'host' => 1,
'action_checked' => 1,
'script' => 1,
'node_uuid' => 1
};
When new property names are added to opCommon.json
under opevents/opevents_list_default_properties
, they get merged with the default properties, forming a complete set of properties that the system recognises.
However, once this merged set is defined, any attempt to modify these properties directly through CLI or API requests will be invalidated.
/opevents/opevents_list_default_properties : ["details","level","priority"]
Invalid properties example
{
"node" : "xxxxx",
"level" : "Minor"
}
HTTP Status | Body | Description |
---|---|---|
400 Bad Request | JSON object with error message. | The error message is set and will show the list of invalid properties. |