Versions Compared

Key

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

...

Now, it is also possible to manage Outages within the Administration console or API.

The v3 api has added support for "ELEMENT OUTAGES" and this is not backward compatible with v2 api. If you make a v2 api call, it will not return any outages that are "ELEMENT OUTAGES".

See ALL ABOUT ELEMENT OUTAGES

Public API for Outages "http[s]://server/en/omk/admin/api/v3/outages"

We can view Enterprise Services Outages below using these endpoints - http[s]://server/en/omk/admin/api/v3/outages

...

Request Method

Operation

URL Example

id required

Notes

GETread list /server/omk/admin/v3/outagesnReturns a list of Enterprise ServicesOutages.
GETread one /server/omk/admin/v3/outages/idyReturns the details of one Enterprise ServiceOutage .
POSTcreate one/server/omk/admin/v3/outagesnCreate an Outage for given node or element
PUTupdate one/server/omk/admin/v3/outages/idyEdit an already existing outage data
DELETEdelete one/server/omk/admin/v3/outages/idyDelete an existing outage

...

Form data:

  • username
  • password

Get Outages



GET of /v3/outages for List

GET http[s]GET http://server/en/omk/admin/api/v3/outages

Returns a list of outages.

Response:

If your GET call provides an Accept header indicating JSON, or if you use a .json suffix, eg /v3/outages.json as URI, then It will look for matching Outages and return their properties in the form of a JSON object, an array of Outages.

Successful Response

HTTP Status

Body

Description

200Possibly empty JSON array of objectsEach array element is a JSON object with the raw properties of the Outages in question, described in known Outage properties.

Unsuccessful Response

HTTP Status

Body

Description

401 UnauthorizedJSON object with an error propertyYou are not authenticated.
403 ForbiddenJSON object with an error propertyYou are not authorized.

GET http://server/en/omk/admin/api/v3/outages

Returns a list of outages.

Response:

Code Block
[
    {
Code Block
[
    {
        "change_id": "ticket #1234",
        "current": "current",
        "descriptionchange_id": "Emergencyticket outage#1234",
        "elementcurrent": ["current",
        "description":    {"Emergency outage",
        "element": [
            {
                "element_name": "Vlan2",
                "node_name": "Switch-1"
            },
            {
                "element_name": "regex:^Vlan.*?$",
                "node_name": "Switch-2"
            }
        ],
        "end": 1684156863,
        "frequency": "once",
        "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
        "nodes": {
            "name": [
                "Switch-2",
                "Switch-1"
            ]
        },
        "options": {},
        "start": 1683811263
    },
    {
        "change_id": "Outage_123_AT_OPTESTS",
        "current": null,
        "description": "Emergency outage",
        "end": 1683825925,
        "frequency": "once",
        "id": "ea7a3a94-f056-432f-91c5-9f39eee7c706",
        "nodes": {
            "name": [
                "asgard",
                "apc-ups"
            ]
        },
        "options": {},
        "start": 1646918463
    }
]

GET of /v3/outages/<id> for

...

Read

GET http[s]://serverIf your GET call provides an accept header indicating application/json or if you use /en/omk/admin/api/v3/outagesIf your GET call provides an Accept header indicating JSON, or if you use a .json suffix, eg /v3/outages/<id>.json as URI, then It will look for matching Outages and return their properties the Outage will be looked up and all properties will be returned in the form of a JSON object, an array of Outages.

Successful Response

HTTP Status

Body

Description

200Possibly empty JSON array of objectsEach array element is a JSON object with the raw properties of the Outages in question, described inall known Outage properties.

Unsuccessful Response

HTTP Status

Body

Description

400 Bad RequestJSON object with an error property
401 UnauthorizedJSON object with an error propertyYou are not authenticated.
403 Forbidden
404 Not FoundJSON object with an error propertyYou are
not authorized.

GET of /v3/outages/<id> for Read

authenticated but not authorised to view this Outage.
404 Not FoundJSON object with an error property

The error property contains an explanation of what went wrong
with your request, e.g. if you request a non-existent Outage.


GET http://server/en/If your GET call provides an accept header indicating application/json or if you use /en/omk/admin/api/v3/outages/<id>.json as URI, then the Outage will be looked up and all properties will be returned in the form of a JSON object.

Successful Response

...

HTTP Status

...

Body

...

Unsuccessful Response

...

HTTP Status

...

Body

...

Description

...

The error property contains an explanation of what went wrong
with your request, e.g. if you request a non-existent Outage.

#ID

Ex. http://server/en/omk/admin/api/v3/outages/0ea7644e-b6fa-4fa2-9b33-a86b79db21a4

Returns an outage.

Response:

Code Block
{
    "change_id": "ticket #1234",
    "current": "current",
    "description": "Emergency outage",
    "element": [
        {
            "element_name": "Vlan2",
            "node_name": "Switch-1"
        },
        {
            "element_name": "regex:^Vlan.*?$",
            "node_name": "Switch-2"

GET http://server/en/omk/admin/api/v3/outages/#ID

Ex. http://server/en/omk/admin/api/v3/outages/0ea7644e-b6fa-4fa2-9b33-a86b79db21a4

Returns an outage.

Response:

Code Block
{
    "change_id": "ticket #1234",
    "current": "current",
    "description": "Emergency outage",
    "element": [
        {}
    ],
    "end": 1684156863,
    "element_namefrequency": "Vlan2once",
            "node_nameid": "Switch-1"0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
        "nodes": {},
        {"options": {},
            "element_name": "regex:^Vlan.*?$",
            "node_name": "Switch-2"
        }
    ],
    "end": 1684156863,
    "frequency": "once",
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "nodes": {},
    "options": {},
    "start": 1683811263
}

Create Outage
POST  http://server/en/omk/admin/api/v3/outages

Returns 201 if the outage was successfully created.

Payload example:

"start": 1683811263
}


POST of /v3/outages/ for Create

Create an Outage by sending a pay-load JSON object and this will create an Outage on your system and send an appropriate response.

Successful Response

HTTP Status

Body

Description
201JSON object with success and id propertiesThe success property is set to 1 and only if the request was successful.
The id property is the new event's ID

Unsuccessful Response

HTTP Status

Body

Description

400 Bad RequestJSON object with an error propertyThe error property contains an explanation of what went wrong
with your request, e.g. if your payload is of wrong format to create an  Outage.
401 UnauthorizedJSON object with an error propertyYou are not authenticated.
404 Not FoundJSON object with an error propertyYou are authenticated but not authorised to create an Outage.



Create Outage
POST  http://server/en/omk/admin/api/v3/outages

Returns 201 if the outage was successfully created.

Payload example:

Code Block
{
    "change_id": "ticket #1234",
    "description": "Emergency outage",
    "nodes": ["Switch-2","Switch-1"],
    "elements" : [
Code Block
{
    "change_id": "ticket #1234",
    "description": "Emergency outage",
    "nodes": ["Switch-2","Switch-1"],
    "elements" : [
        {  "node_name": "Switch-1",
           "element_name" : "Vlan2"
        },
        {  "node_name": "Switch-21",
           "element_name" : "regex:^Vlan.*?$Vlan2"
        },
      ],
  {  "startnode_name": "11-May-2023 23:21:03"Switch-2",
           "element_name" : "regex:^Vlan.*?$"
        }
    ],
    "endstart": "1511-May-2023 23:21:03"
}

Return

,
    "end": "15-May-2023 23:21:03"
}

Return

Code Block
{
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "success": 1
}

...

PUT

...

of /v3/outages/

...

<id> for Update

Create an Outage by sending a pay-load JSON object and this will create an Outage on your system and receive an appropriate response.

Successful Response

HTTP Status

Body

Description
201JSON object with success and id propertiesThe success property is set to 1 and only if the request was successful.
The id property is the new event's ID

Unsuccessful Response

HTTP Status

Body

Description

400 Bad RequestJSON object with an error propertyThe error property contains an explanation of what went wrong
with your request, e.g. if your payload is of wrong format to edit an  Outage.
401 UnauthorizedJSON object with an error propertyYou are not authenticated.
404 Not FoundJSON object with an error propertyYou are authenticated but not authorised to create an Outage.



Update Outage

PUT http://server/en/omk/admin/api/v3/outages/#ID

Returns 200 if the outage was successfully updated.

Payload example:

Code Block
{
    "change_id": "ticket #1234",
    "description": "Emergency outage",
    "nodes": ["Switch-2","Switch-1"],
    "elements" : [
     

Returns 200 if the outage was successfully updated.

Payload example:

Code Block
{
    "change_id": "ticket #1234",
    "description": "Emergency outage",
    "nodes": ["Switch-2","Switch-1"],
    "elements" : [
        {  "node_name": "Switch-1",
           "element_name" : "Vlan222"
        },
        {  "node_name": "Switch-21",
           "element_name" : "regex:^Vlan.*?$"
        }
    ],
    "start": "11-May-2023 23:21:03",
    "end": "15-May-2023 23:21:03"
}

Return 

...

" : "Vlan222"
        },
        {  "node_name": "Switch-2",
           "element_name" : "regex:^Vlan.*?$"
        }
    ],
    "start": "11-May-2023 23:21:03",
    "end": "15-May-2023 23:21:03"
}

Return 

Code Block
{
    "id": "0ea7644e-b6fa-4fa2-9b33-a86b79db21a4",
    "success": 1
}

Delete of /v3/outages/<id> for Create

Create an Outage by sending a pay-load JSON object and This will create an Outage on your system and receive an appropriate response.

Successful Response

HTTP Status

Body

Description
200JSON object with success The success property is set to 1 and only if the request was successful.

Unsuccessful Response

HTTP Status

Body

Description

400 Bad RequestJSON object with an error propertyThe error property contains an explanation of what went wrong
with your request, e.g. if your id does not exist of wrong id format.
401 UnauthorizedJSON object with an error propertyYou are not authenticated.
404 Not FoundJSON object with an error propertyYou are authenticated but not authorised to delete an Outage.

...




Delete Outage

DELETE http://server/en/omk/admin/api/v3/outages/0ea7644e-b6fa-4fa2-9b33-a86b79db21a4

Returns 200 if the outage was successfully removed.

Anchor
properties
properties
Outages Properties

...

Property

Description

Example

id

A globally unique Outage ID

"63576103ad794974594a1f11"

ID

0ea7644e-b6fa-4fa2-9b33-a86b79db21a4
change_id

Insert any reference number if required in the change id field

ticket #12345"
currentIf the outage is current or scheduled/future outage. IS THIS 'currrent' for scheduled or null for future.current"current/null"
descriptionLong description of an Outage"This is a test outage"
frequencyone of 'once', 'daily', 'weekly' or 'monthly'once



start

date and time of date and time of outage start and end. See XYZ for description of allowed values.


 2023 e.g. 2017-10-31T03:0400:2600+0000
enddate and time of outage start and enddate and time of outage end. See XYZ for description of allowed values. 2023 e.g. 2017-10-31T03:0430:2600+0000



nodesList of nodes for which Outages is defined. IS THIS MANDATORY?[ 'Switch-1','Switch-2' ]
element

List of elements from nodes for which Outages are defined.

IS THIS MANDATORY?

DOCUMENT REGEX OR SEE LINK

CAN I DO NODE REGEX?

 [ {

  "element_name": "Vlan2",
  "node_name": "Switch-1"
}, {

   "element_name": "regex:^Vlan.*?$",
   "node_name": "Switch-2"
} ]

options

optional key=values to adjust NMIS

'

behaviour during an

outageo

outage 

DOCUMENT THE KEYS AND VALUES

"Normal"




Limitations

API Endpoint

...