moog-graze
v0.2.3
Published
Interact with MOOG.AIOps via Graze (REST)
Downloads
18
Readme
MOOG.AIOps Graze ReSTful Client for Node.js
Allows connecting to the MOOG.AIOps REST API (Called Graze) and interacting with the MOOG.AIOps platform.
- Provides a simplified abstraction
- Provides for automated authentication
- Provides support for the latest v1 specification
- Will handle auth failure and retry activity
Updated for MOOG.AIOps V6
Installation
$ npm install moog-graze
Usage
Create a connection
Create a connection to the Graze REST (You need a user with the Grazer role)
options is an object containing connection specific settings
// For Auth token
var graze = require('moog-graze')({hostname: 'moogtest','grazeUser':'my_user', 'grazePass':'my_password'});
// OR for Basic Auth
var graze = require('moog-graze')({hostname: 'moogtest','auth':'my_user:my_password'});
The use of TLS (https) is mandatory
To pass a server certificate pass the parameter options.cert in PEM format
To pass a client key use options.key as certificate in PEM format, you must also pass a server certificate.
To provide a ca certificate (self signed) or a ca as a valid root (some common root certificates are included)
To bypass root ca checking (insecure TLS/SSL for self signed) rejectUnauthorized: false
// Pass the options as an object on init
//
var graze = require('moog-graze')({hostname: 'moogtest'});
// Or set the options to your specific configuration.
//
graze.setOps({hostname: 'newtesthost',
'auth': 'username:password',
'caCert': '<a certificate in PEM format>',
'cert': '<a certificate in PEM format>',
'rejectUnauthorized': false
});
// Get a copy of the current options
//
var opts = graze.getOps();
Submit a request
Very simple to submit a request to a Graze endpoint
// example to get the detail for a situation.
//
graze.getSituationDetails(situationId,callback());
All callbacks provide err (http code) and data (payload or more error details)
graze.getSituationDetails(situationId, function (err, data) {
if (err !== 200) {
console.log('graze message sent, return code: ' + err);
console.log('graze result: ' + data);
} else {
console.log('graze Situation details: ' + util.inspect(data));
}
});
##Tests There are a set of Mocha tests that can be run against an instance, you will need a number of alets and situations and a team with name 'Cloud DevOps'.
For the new getAlertId, getSituationId and createMaintenanceWindow take a filter as an argument or as a paramter. This needs to be in MOOG internal filter format, e.g.
'{"op":6,"column":"internal_priority","type":"LEAF","value":[3,4,5]}'
##Updates 6.1.3
- findMaintenaceWindows
- deleteMaintanceWindows
6.1.0
- Basic Auth
- createTeam
- updateTeam
- createUser
- teamObj prototype
- userObj prototype
5.2.3
- createMaintenanceWindow
- getMaintenanceWindows
- deleteMaintenanceWindow
- maintenanceWindowObj prototype
- setAlertAcknowledgeState
- setSituationAcknowledgeState
- setSituationExternalSeverity DEPRECATED
###TODO Add convertion of advanced query syntax to internal MOOG format. NOT required with new SQL like options (6.1.2).
##References For full details of the Graze API see http://docs.moogsoft.com/display/MOOG/Graze+API