15.0 Notification APIs

WAS THIS PAGE HELPFUL? Leave Feedback

15.0 Notification APIs

15.1 Create Host Notifications

Send a batch (1..n) of host NOMA notifications to GroundWork server.

If one or more notification messages fails, others may still succeed. This is not an all-or-none transactional operation. The results of each individual notification message is returned back in the resultset described below with a status of success or failure.

15.1.1 Method: POST

POST /api/notifications/hosts

15.1.2 HTTP Headers
Header Valid Values Required
Content-Type application/xml or application/json True
GWOS-API-TOKEN a valid token returned from login True
GWOS-APP-NAME your application name True
15.1.3 Post Data Attributes and Elements
Field Description Required
hostState A valid Host Monitor Status such as UP, UNREACHABLE, WARNING, PENDING, UNSCHEDULED DOWN, SCHEDULED DOWN, DOWN Yes
hostName the name of the host Yes
hostGroupNames a comma-separated list of one or more valid host group names No
notificationType A valid Notification type such as RECOVERY or PROBLEM Yes
hostAddress the IP address of the host No
hostOutput the textual output to be sent to the notification server Yes
checkDateTime a time stamp in YYYY-MM-DD hh:mm:ss format No
hostNotificationId   No
notificationAuthOrAlias   No
notificationComment Additional comments No
notificationRecipients   No
15.1.4 XML POST Data Example
<notifications>
   <notification
   	      hostName='server-12'
   	      hostAddress='10.0.0.11'
   	      hostGroupNames='group-21,group-22'
   	      hostNotificationId=''
   	      hostOutput='Hypervisor cannot be reached to determine the status'
   	      hostState='PENDING'
   	      notificationComment='Cloud Hub Host Notification'
   	      notificationRecipients=''
   	      notificationType='RECOVERY'
   	      checkDateTime='2014-04-14 07:21:'
   	      notificationAuthOrAlias=''
   />
</notifications>

See Appendix A for examples of usage with Curl
More Post Data Examples: XML - JSON

15.1.5 HTTP Status Codes

200 - Zero or more notifications were created without any internal server errors
500 - An internal server error occurred

15.1.6 Example Response

In this example, we use the POST data above. Two host notifications were successfully created.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<results successful="2" failed="0" entityType="HostNotification"
       operation="Update" warning="0" count="2">
  <result>
    <entity>server-12</entity>
    <message></message>
    <status>success</status>
  </result>
  <result>
    <entity>server-13</entity>
    <message></message>
    <status>success</status>
  </result>
</results>
15.2 Create Service Notifications

Send a batch (1..n) of service NOMA notifications to GroundWork server.

If one or more notification messages fails, others may still succeed. This is not an all-or-none transactional operation. The results of each individual notification message is returned back in the resultset described below with a status of success or failure.

15.2.1 Method: POST

POST /api/notifications/services

15.2.2 HTTP Headers
Header Valid Values Required
Content-Type application/xml or application/json True
GWOS-API-TOKEN a valid token returned from login True
GWOS-APP-NAME your application name True
15.2.3 Post Data Attributes and Elements
Field Description Required
serviceState A valid Service Status such as WARNING, OK, UNKNOWN, UNSCHEDULED CRITICAL, PENDING_SERVICE, SCHEDULED CRITICAL Yes
hostName The name of the host Yes
hostGroupNames a comma-separated list of one or more valid Host Group names No
serviceGroupNames a comma-separated list of one or more valid Service Group names No
serviceDescription the name (description) of the service Yes
serviceOutput the textual output to be sent to the notification server Yes
notificationType A valid Notification type such as RECOVERY or PROBLEM Yes
hostAlias   No
hostAddress the IP address of the host No
checkDateTime a time stamp in YYYY-MM-DD hh:mm:ss format No
serviceNotificationId   No
notificationAuthOrAlias   No
notificationComment Additional comments No
notificationRecipients   No
15.2.4 XML POST Data Example
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<notifications>
    <notification
              hostName='server-12'
              serviceDescription='local_cpu_nagios'
              hostAddress='10.0.0.11'
              hostGroupNames='group-21,group-22'
              hostAlias='host1'
              serviceGroupNames='sg1,sg2'
              serviceOutput='Service cannot be reached to determine the status'
              serviceState='UNKNOWN'
              serviceNotificationId='433'
              notificationComment='Cloud Hub Host Notification'
              notificationRecipients='admin@gwos.com'
              notificationType='RECOVERY'
              checkDateTime='2014-04-14 07:21:33'
              notificationAuthOrAlias='alias'
     />
 /notifications>

See Appendix A for examples of usage with Curl
More Post Data Examples: XML - JSON

15.2.5 HTTP Status Codes

200 - Zero or more notifications were created without any internal server errors
500 - An internal server error occurred

15.2.6 Example Response

In this example, we use the POST data above. Two service notifications were successfully created.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<results successful="2" failed="0" entityType="ServiceNotification"
       operation="Update" warning="0" count="2">
  <result>
    <entity>server-12:local_cpu_nagios</entity>
    <message></message>
    <status>success</status>
  </result>
  <result>
    <entity>service-13:vm.cpu_util</entity>
    <message></message>
    <status>success</status>
  </result>
</results>