Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

OperationMethodURLResponseExample
Get NodesGEThttp://host/en/omk/admin/api/v2/nodes.json

http://

uburnto

athena.opmantek.net/en/omk/admin/api/v2/nodes.json?

requestData=undefined&

page=1&per_page=

25

5&sort_by=name&order=asc

See Query Parameters

Get NodeGEThttp://host/en/omk/admin/api/v2/nodes/{node_uuid}.json
http://uburnto.opmantek.net/en/omk/admin/api/v2/nodes/86a82b4c-6ef6-4691-8c8c-1fc8da334d6f.json
Create NodePOST

http://host/en/omk/admin/api/v2/nodes.json

To create a remote node in an opHA cluster see below.

The node in json from the recently created node, including the UUID

http://uburnto.opmantek.net/en/omk/admin/api/v2/nodes.json

Code Block
{
"activated":
{
"NMIS": "1",
"opConfig": "0",
"opEvents": "1"
},
"configuration":
{
"active": null, "authkey": "", "authpassword": "", "authprotocol": null, "businessService": null,
"collect": 1, "community": "", "context": "", "customer": null, "group": "NMIS9",
"host": "asgard.opmantek.net", "host_backup": "", "location": null,
"netType": "default", "nettype": null, "node_context_name": "", "node_context_url": "", "notes": "",
"ping": 1, "polling_policy": "default", "port": "161", "privkey": "", "privpassword": "",
"privprotocol": null, "remote_connection_name": "", "remote_connection_url": "", "roleType": "default",
"roletype": null, "serviceStatus": null, "threshold": 1, "username": "", "wmipassword": "", "wmiusername": ""
},
"current_user_privileges":
{
"delete": true,
"update": true
},
"friendly_addresses": "",
"friendly_aliases": "",
"name": "test",
"uuid": null
}


Update NodePUT

http://host/en/omk/admin/api/v2/nodes/{node_uuid}.json

To update a remote node in an opHA cluster see below.


http://uburnto.opmantek.net/en/omk/admin/api/v2/nodes/b56ba595-69e7-4702-9fe5-49512e1340b0.json

Code Block
{
    "activated":
    {
        "NMIS": "1",
        "opConfig": "0",
        "opEvents": "1"
    },
    "addresses":
    [],
    "aliases":
    [],
    "cluster_id": "a515c63a-0d11-4bcb-a402-39a4600aebb9",
    "configuration":
    {
        "active": 1, "addresses": [ "192.168.88.13" ], "aliases": [],
        "authkey": "", "authpassword": "", "authprotocol": "md5", "businessService": null, "cbqos": "none",
        "collect": 1, "community": "OMKRead", "context": "", "customer": "Opmantek", "depend": [],
        "display_name": "", "group": "EXSI", "host": "castor.opmantek.net", "host_backup": "", "ip_protocol": "IPv4",
        "location": "Cloud", "max_msg_size": 1472, "max_repetitions": 0, "model": "automatic",
        "netType": "default", "nettype": null, "node_context_name": "Node Context",
        "node_context_url": "https://somelink.com/map/thing/", "notes": "", "ping": 1,
        "polling_policy": "1_minute", "port": "161", "privkey": "", "privpassword": "",
        "privprotocol": "des", "remote_connection_name": "SSH to Node", "remote_connection_url": "ssh://$host",
        "roleType": "access", "roletype": null, "serviceStatus": "Testing", "services": [],
        "sysDescr": "VMware ESXi 6.7.0 build-17167734 VMware, Inc. x86_64", "threshold": 1, "timezone": 0,
        "username": "", "version": "snmpv2c", "webserver": 0, "wmipassword": "", "wmiusername": ""
    },
    "currentfriendly_user_privilegesaddresses":     {
        "delete": 0,
        "update": 0
    },
    "friendly_addresses": "192.168.88.13",
    "friendly_aliases": "",
    "name": "Castor",
    "node_local": "Remote",
    "overrides":
    {},
    "server_name": "fulla",
    "unknown":
    {},
    "uuid": "b56ba595-69e7-4702-9fe5-49512e1340b0"
}


Delete NodeDELETEhttp://host/en/omk/admin/api/v2/nodes/{node_uuid}.json
http://uburnto.opmantek.net/en/omk/admin/api/v2/nodes/b56ba595-69e7-4702-9fe5-49512e1340b0.json


Request Modifiers (query parameters)

Not all requests will use all request modifiers.

Query Parameter

Possible Values

fields_hash

Array of property names. If provided only the properties specified will be returned (instead of the whole document).

eg:   fields_hash={"name":1,"uuid":1} returns only the node name and the node uuid.

By default all properties if no fields_hash is specified.

page

Which page of the requested document to be returned, from 1 .. n, defaults to no pagination.

per_page

How many results are returned per page, defaults to 25

search

List of key=value pairs. Search filter applied to the list of results.
eg: search={"name":"athena","configuration.group":"SydneyDC"} (which is "Name"="athena" AND "Group"="SydneyDC")

For a string, if it starts with regex: or iregex: then a case-sensitive or case-insensitive regular expression match is used.
eg: filter={"name":"iregex:Switch"} to find all the nodes with switch or SWITCH in their name.

sort_by

Property to sort by. eg: sort_by=name to sort by node name

order

Sort order. asc | desc : sort the response by sort_by ascending or descending.

By example, the queries will look something like this: 

http://athena.opmantek.net/omk/admin/api/v2/nodes.json?fields_hash={"name":1,"uuid":1}&search={"name":"Switch-1"}

Authentication

Important: All these methods are authenticated. 

OperationMethodURLResponseExample
AuthenticatePOSThttp://host/en/omk/admin/login

http://uburnto.opmantek.net/en/omk/admin/login


Code Block
{"username": "username",
"password": "password"}


...

cluster_id is the uuid of which opHA server the node belongs to.

E.x.

Create RemotePOSThttp://host/en/omk/admin/api/v2/nodes.jsonIt will return the json node, the same structure that the CREATE. 

http://uburnto.opmantek.net/en/omk/admin/api/v2/nodes.json

It will return the same output as for a local node: 

Code Block
{
    "activated": {
        "NMIS": 1,
        "opConfig": "0",
        "opEvents": "1"
    },
    "cluster_id": "a515c63a-0d11-4bcb-a402-39a4600aebb9",
    "configuration": {
        "active": 1,
        "aliases": [],
        "authkey": "",
        "authpassword": "",
        "authprotocol": null,
        "businessService": null,
        "collect": 1,
        "community": "",
        "context": "",
        "customer": null,
        "group": "NMIS9",
        "host": "asgard.opmantek.net",
        "host_backup": "",
        "location": null,
        "max_msg_size": 65535,
        "max_repetitions": 0,
        "netType": "default",
        "nettype": null,
        "node_context_name": "",
        "node_context_url": "",
        "notes": "",
        "ping": 1,
        "pollers": "a515c63a-0d11-4bcb-a402-39a4600aebb9",
        "polling_policy": "default",
        "port": "161",
        "privkey": "",
        "privpassword": "",
        "privprotocol": null,
        "remote_connection_name": "",
        "remote_connection_url": "",
        "roleType": "default",
        "roletype": null,
        "serviceStatus": null,
        "threshold": 1,
        "username": "",
        "wmipassword": "",
        "wmiusername": ""
    },
    "friendly_addresses": "",
    "friendly_aliases": "",
    "name": "test",
    "uuid": "6ce5fd5c-d703-4d03-b36c-b8e01439a9f2"
}


...

cluster_id is the uuid of which opHA server the node belongs to.

E.x.

Update RemotePUThttp://host/en/omk/admin/api/v2/nodes/node_uuid.jsonIt will return the json node, the same structure that the CREATE. 

http://volla.opmantek.net:6042/en/omk/admin/api/v2/nodes/6ce5fd5c-d703-4d03-b36c-b8e01439a9f2.json


Code Block
{
    "cluster_id": "a515c63a-0d11-4bcb-a402-39a4600aebb9",
    "configuration": {
        "netType": "default",
        "polling_policy": "default",
        "port": "161",
        "collect": 1,
        "threshold": 1,
        "roleType": "default",
        "ping": 1,
        "group": "NMIS9",
        "host": "asgard.opmantek.net",
        "location": null,
        "customer": null,
        "businessService": null,
        "notes": "",
        "host_backup": "",
        "active": null,
        "community": "",
        "wmiusername": "",
        "wmipassword": "",
        "username": "",
        "context": "",
        "authpassword": "",
        "authkey": "",
        "authprotocol": null,
        "privpassword": "",
        "privkey": "",
        "privprotocol": null,
        "serviceStatus": null,
        "nettype": null,
        "roletype": null,
        "node_context_name": "",
        "node_context_url": "",
        "remote_connection_name": "",
        "remote_connection_url": ""
    },
    "activated": {
        "opEvents": "1",
        "opConfig": "0",
        "NMIS": "1"
    },
    "uuid": null,
    "current_user_privileges": {
        "update": true,
        "delete": true
    },
    "name": "test",
    "friendly_addresses": "",
    "friendly_aliases": ""
}


...