0.2.3 • Published 7 years ago

moog-graze v0.2.3

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
7 years ago

Moogsoft Logo

MOOG.AIOps Graze ReSTful Client for Node.js

Code Climate

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

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.1

8 years ago