WAS THIS PAGE HELPFUL? {html}<a href="mailto:training@gwos.com?subject=Biz Feeder APIs">Leave Feedback</a>{html}
h4. 30.0 Biz Feeder APIs
h5. 30.1 Form Create or Update Host
Create or update a single host accepting POST form parameters. In addition to the host, host groups, host categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New hosts are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. The created or updated host is returned.
h6. {color:#333333}30.1.1 Method: POST Form Create or Update Host{color}
{color:#4a86e8}POST /api/biz/host{color}
h6. {color:#333333}30.1.2 POST Data Example{color}
Example form create post data.
{code}
message=PENDING+-+new&host=host5&status=PENDING&device=10.0.0.5&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
Example form update post data.
{code}
message=UP&host=host5&status=UP&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
h6. {color:#333333}30.1.3 POST Parameters{color}
|| Name || Description || Required ||
| agentId | agent id | True |
| allowInserts | allow host inserts | False, defaults to TRUE |
| appType | application type name | True |
| checkIntervalMinutes | check interval in minutes | False, defaults to 5 |
| device | device identification | True, for create |
| host | host name | True |
| hostCategory | host category name | False |
| hostGroup | host group name | False |
| mergeHosts | allow hosts to be merged if host name is case-insensitive equal | False, defaults to TRUE |
| message | host last plugin output message | False |
| setStatusOnCreate | sets specified status on create after creating in {{PENDING}} state | False, defaults to FALSE |
| status | host status | True |
h6. {color:#333333}30.1.4 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/x-www-form-urlencoded | False |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.1.5 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating host |
h6. {color:#333333}30.1.6 Example Results{color}
Here is an XML example. The single deep host with services, (not wrapped), is returned.
{code: language=html/xml}
<host id="7" hostName="host5" description="host5" monitorStatus="UP" appType="NAGIOS" deviceIdentification="10.0.0.5" deviceDisplayName="10.0.0.5" lastCheckTime="2016-01-04T23:42:30.468-0700" nextCheckTime="2016-01-04T23:47:30.468-0700" bubbleUpStatus="UP" serviceAvailability="0" acknowledged="false" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceCount="1" stateType="HARD" checkType="ACTIVE" lastStateChange="2016-01-04T23:42:30.000-0700" lastPlugInOutput="-1^^^-1^^^-1^^^01/04/2016 11:42:30 PM^^^UP^^^01/04/2016 11:47:30 PM">
<properties>
<property name="LastPluginOutput" value="UP"/>
<property name="LastStateChange" value="2016-01-04T23:42:30.000-0700"/>
</properties>
<device id="6" displayName="10.0.0.5" identification="10.0.0.5"/>
<hostStatus hostStatusId="7" lastCheckTime="2016-01-04T23:42:30.468-0700" nextCheckTime="2016-01-04T23:47:30.468-0700">
<monitorStatus monitorStatusId="1" name="UP" description="UP"/><checkType checkTypeId="1" name="ACTIVE" description="Active Check"/>
<stateType>
<stateTypeId>2</stateTypeId>
<name>HARD</name>
<description>State Hard</description>
</stateType>
</hostStatus>
<services>
<service id="86" appType="NAGIOS" description="local_cpu_httpd" monitorStatus="PENDING" lastCheckTime="2016-01-04T23:42:30.000-0700" nextCheckTime="2016-01-04T23:47:30.000-0700" hostName="host5" stateType="HARD" checkType="ACTIVE" lastHardState="PENDING" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" monitorServer="localhost" deviceIdentification="10.0.0.5" lastPlugInOutput="-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA">
<properties>
<property name="LastPluginOutput" value="PENDING - new"/>
</properties>
</service>
</services>
<hostGroups>
<hostGroup id="6" name="hosts" appType="NAGIOS"/>
</hostGroups>
<applicationType id="100" name="NAGIOS" description="System monitored by Nagios" stateTransitionCriteria="Device;Host;ServiceDescription"/>
</host>
{code}
Here is a JSON example. The single deep host object with services is returned.
{code: language=javascript}
{
"properties" : {
"LastPluginOutput" : "UP",
"LastStateChange" : "2016-01-04T23:42:31.000-0700"
},
"id" : 9,
"hostName" : "host5",
"description" : "host5",
"monitorStatus" : "UP",
"appType" : "NAGIOS",
"deviceIdentification" : "10.0.0.5",
"deviceDisplayName" : "10.0.0.5",
"lastCheckTime" : "2016-01-04T23:42:31.906-0700",
"nextCheckTime" : "2016-01-04T23:47:31.906-0700",
"bubbleUpStatus" : "UP",
"serviceAvailability" : "0",
"acknowledged" : false,
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"device" : {
"id" : 8,
"displayName" : "10.0.0.5",
"identification" : "10.0.0.5"
},
"hostStatus" : {
"hostStatusId" : 9,
"hostMonitorStatus" : {
"monitorStatusId" : 1,
"name" : "UP",
"description" : "UP"
},
"lastCheckTime" : "2016-01-04T23:42:31.906-0700",
"checkType" : {
"checkTypeId" : 1,
"name" : "ACTIVE",
"description" : "Active Check"
},
"nextCheckTime" : "2016-01-04T23:47:31.906-0700",
"stateType" : {
"stateTypeId" : 2,
"name" : "HARD",
"description" : "State Hard"
}
},
"services" : [ {
"properties" : {
"LastPluginOutput" : "PENDING - new"
},
"id" : 89,
"appType" : "NAGIOS",
"description" : "local_cpu_httpd",
"monitorStatus" : "PENDING",
"lastCheckTime" : "2016-01-04T23:42:31.000-0700",
"nextCheckTime" : "2016-01-04T23:47:31.000-0700",
"hostName" : "host5",
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastHardState" : "PENDING",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"monitorServer" : "localhost",
"deviceIdentification" : "10.0.0.5",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA"
} ],
"serviceCount" : 1,
"hostGroups" : [ {
"id" : 7,
"name" : "hosts",
"appType" : "NAGIOS"
} ],
"applicationType" : {
"properties" : {
},
"id" : 100,
"name" : "NAGIOS",
"description" : "System monitored by Nagios",
"stateTransitionCriteria" : "Device;Host;ServiceDescription"
},
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastStateChange" : "2016-01-04T23:42:31.000-0700",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/04/2016 11:42:31 PM^^^UP^^^01/04/2016 11:47:31 PM"
}
{code}
h5. 30.2 Form Create or Update Service
Create or update a single service accepting POST form parameters. Will create the specified host if required and device identification is specified. In addition to the host, host groups, host categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New hosts and services are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. Service hosts are set to the {{UP}} status otherwise. The created or updated service is returned.
h6. {color:#333333}30.2.1 Method: POST Form Create or Update Service{color}
{color:#4a86e8}POST /api/biz/service{color}
h6. {color:#333333}30.2.2 POST Data Example{color}
Example form create post data.
{code}
message=PENDING+-+new&host=host5&status=PENDING&serviceGroup=cpu&device=10.0.0.5&service=local_cpu_httpd&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
Example form update post data.
{code}
message=OK+-+10&host=host5&status=OK&service=local_cpu_httpd&serviceValue=30&warningLevel=75&criticalLevel=90&metricType=vm&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&appType=NAGIOS
{code}
h6. {color:#333333}30.2.3 POST Parameters{color}
|| Name || Description || Required ||
| agentId | agent id | True |
| allowInserts | allow host inserts | False, defaults to TRUE |
| appType | application type name | True |
| checkIntervalMinutes | check interval in minutes | False, defaults to 5 |
| criticalLevel | service value critical level | False, defaults to \-1 |
| device | device identification | True, for create |
| host | host name | True |
| hostCategory | host category name | False |
| hostGroup | host group name | False |
| mergeHosts | allow hosts to be merged if host name is case-insensitive equal | False, defaults to TRUE |
| message | service last plugin output message | False |
| metricType | service metric type | False |
| service | service description | True |
| serviceCategory | service category name | False |
| serviceGroup | service group name | False |
| serviceValue | service value | False |
| setStatusOnCreate | sets specified status on create after creating in {{PENDING}} state | False, defaults to FALSE |
| status | service status | True |
| warningLevel | service value warning level | False, defaults to \-1 |
h6. {color:#333333}30.2.4 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/x-www-form-urlencoded | False |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.2.5 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating service |
h6. {color:#333333}30.2.6 Example Results{color}
Here is an XML example. The single service, (not wrapped), is returned.
{code: language=html/xml}
<service id="86" appType="NAGIOS" description="local_cpu_httpd" monitorStatus="PENDING" lastCheckTime="2016-01-04T23:42:30.000-0700" nextCheckTime="2016-01-04T23:47:30.000-0700" hostName="host5" stateType="HARD" checkType="ACTIVE" lastHardState="PENDING" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" monitorServer="localhost" deviceIdentification="10.0.0.5" lastPlugInOutput="-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA">
<properties>
<property name="LastPluginOutput" value="PENDING - new"/>
</properties>
</service>
{code}
Here is a JSON example. The single JSON host object is returned.
{code: language=javascript}
{
"properties" : {
"LastPluginOutput" : "OK - 10"
},
"id" : 89,
"appType" : "NAGIOS",
"description" : "local_cpu_httpd",
"monitorStatus" : "OK",
"lastCheckTime" : "2016-01-04T23:42:31.000-0700",
"nextCheckTime" : "2016-01-04T23:47:31.000-0700",
"lastStateChange" : "2016-01-04T23:42:31.000-0700",
"hostName" : "host5",
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastHardState" : "OK",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"monitorServer" : "localhost",
"deviceIdentification" : "10.0.0.5",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/04/2016 11:42:31 PM^^^OK - 10^^^NA"
}
{code}
h5. 30.3 Create or Update Hosts
Primary feeder interface used by CloudHub and updated feeders. Creates or updates multiple hosts with or without nested services. In addition to the hosts and services, host groups, host categories, service groups, service categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on host and service status change. New hosts and services are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. When nested services are specified, some service parameters can be inherited from the parent host: message, appType, and agentId. The standard API operation results are returned. General API conventions are followed wrapping POST data and results for XML and JSON content types.
h6. {color:#333333}30.3.1 Method: POST Create or Update Hosts{color}
{color:#4a86e8}POST /api/biz/hosts{color}
h6. {color:#333333}30.3.2 POST Data Example{color}
Here are XML examples of post data without and with nested services. General API conventions are followed wrapping multiple hosts with XML tags.
{code: language=html/xml}
<hosts>
<host host="host6" status="PENDING" message="PENDING - new" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false">
<services/>
</host>
</hosts>
{code}
{code: language=html/xml}
<hosts>
<host host="host6" status="UP" message="UP" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true">
<services>
<service host="host6" service="local_cpu_httpd" status="OK" message="OK - 10" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceValue="10" metricType="vm" warningLevel="50" criticalLevel="90" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true"/>
<service host="host6" service="local_cpu_java" status="OK" message="OK - 20" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceValue="20" metricType="vm" warningLevel="75" criticalLevel="90" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true"/>
</services>
</host>
</hosts>
{code}
Here are JSON examples of post data without and with nested services. General API conventions are followed wrapping multiple hosts with a JSON object and collection.
{code: language=javascript}
{
"hosts" : [ {
"properties" : {
},
"host" : "host6",
"status" : "PENDING",
"message" : "PENDING - new",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false,
"services" : [ ]
} ]
}
{code}
{code: language=javascript}
{
"hosts" : [ {
"properties" : {
},
"host" : "host6",
"status" : "UP",
"message" : "UP",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false,
"services" : [ {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_httpd",
"status" : "OK",
"message" : "OK - 10",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"serviceValue" : "10",
"metricType" : "vm",
"warningLevel" : 50,
"criticalLevel" : 90,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : true
}, {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_java",
"status" : "OK",
"message" : "OK - 20",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"serviceValue" : "20",
"metricType" : "vm",
"warningLevel" : 75,
"criticalLevel" : 90,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : true
} ]
} ]
}
{code}
h6. {color:#333333}30.3.3 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/xml or application/json | True |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.3.4 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating hosts |
h6. {color:#333333}30.3.5 Example Results{color}
Here are XML examples. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message elements.
{code: language=html/xml}
<results successful="1" failed="0" entityType="Host" operation="Update" warning="0" count="1">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Insert</message>
</result>
</results>
{code}
{code: language=html/xml}
<results successful="3" failed="0" entityType="Host" operation="Update" warning="0" count="3">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Update</message>
</result>
<result>
<entity>host6:local_cpu_httpd</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6</location>
<status>success</status>
<message>Update</message>
</result>
<result>
<entity>host6:local_cpu_java</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6</location>
<status>success</status>
<message>Update</message>
</result>
</results>
{code}
Here are JSON examples. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message fields.
{code: language=javascript}
{
"successful" : 1,
"failed" : 0,
"entityType" : "Host",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Insert"
} ],
"count" : 1
}
{code}
{code: language=javascript}
{
"successful" : 3,
"failed" : 0,
"entityType" : "Host",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Update"
}, {
"entity" : "host6:local_cpu_httpd",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6",
"message" : "Update"
}, {
"entity" : "host6:local_cpu_java",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6",
"message" : "Update"
} ],
"count" : 3
}
{code}
h5. 30.4 Create or Update Services
Creates or updates multiple services; hosts are created if they do not already exist. In addition to the services and hosts, host groups, host categories, service groups, service categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New services and hosts are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. Service hosts are set to the {{UP}} status otherwise. The standard API operation results are returned. General API conventions are followed wrapping POST data and results for XML and JSON content types.
h6. {color:#333333}30.4.1 Method: POST Create or Update Services{color}
{color:#4a86e8}POST /api/biz/services{color}
h6. {color:#333333}30.4.2 POST Data Example{color}
Here is an XML example post data. General API conventions are followed wrapping multiple services with XML tags.
{code: language=html/xml}
<services>
<service host="host6" service="local_cpu_httpd" status="PENDING" message="PENDING - new" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" warningLevel="-1" criticalLevel="-1" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false"/>
<service host="host6" service="local_cpu_java" status="PENDING" message="PENDING - new" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" warningLevel="-1" criticalLevel="-1" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false"/>
</services>
{code}
Here is a JSON example post data. General API conventions are followed wrapping multiple hosts with a JSON object and collection.
{code: language=javascript}
{
"services" : [ {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_httpd",
"status" : "PENDING",
"message" : "PENDING - new",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"warningLevel" : -1,
"criticalLevel" : -1,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false
}, {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_java",
"status" : "PENDING",
"message" : "PENDING - new",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"warningLevel" : -1,
"criticalLevel" : -1,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false
} ]
}
{code}
h6. {color:#333333}30.4.3 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/xml or application/json | True |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.4.4 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating services |
h6. {color:#333333}30.4.5 Example Results{color}
Here is an XML example. General API conventions are followed wrapping results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message elements. The status of hosts involved in the operation are also returned.
{code: language=html/xml}
<results successful="3" failed="0" entityType="ServiceStatus" operation="Update" warning="0" count="3">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Insert</message>
</result>
<result>
<entity>host6:local_cpu_httpd</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6</location>
<status>success</status>
<message>Insert</message>
</result>
<result>
<entity>host6:local_cpu_java</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6</location>
<status>success</status>
<message>Insert</message>
</result>
</results>
{code}
Here is a JSON example. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message fields. The status of hosts involved in the operation are also returned.
{code: language=javascript}
{
"successful" : 3,
"failed" : 0,
"entityType" : "ServiceStatus",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Insert"
}, {
"entity" : "host6:local_cpu_httpd",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6",
"message" : "Insert"
}, {
"entity" : "host6:local_cpu_java",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6",
"message" : "Insert"
} ],
"count" : 3
}
{code}
h4. 30.0 Biz Feeder APIs
h5. 30.1 Form Create or Update Host
Create or update a single host accepting POST form parameters. In addition to the host, host groups, host categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New hosts are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. The created or updated host is returned.
h6. {color:#333333}30.1.1 Method: POST Form Create or Update Host{color}
{color:#4a86e8}POST /api/biz/host{color}
h6. {color:#333333}30.1.2 POST Data Example{color}
Example form create post data.
{code}
message=PENDING+-+new&host=host5&status=PENDING&device=10.0.0.5&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
Example form update post data.
{code}
message=UP&host=host5&status=UP&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
h6. {color:#333333}30.1.3 POST Parameters{color}
|| Name || Description || Required ||
| agentId | agent id | True |
| allowInserts | allow host inserts | False, defaults to TRUE |
| appType | application type name | True |
| checkIntervalMinutes | check interval in minutes | False, defaults to 5 |
| device | device identification | True, for create |
| host | host name | True |
| hostCategory | host category name | False |
| hostGroup | host group name | False |
| mergeHosts | allow hosts to be merged if host name is case-insensitive equal | False, defaults to TRUE |
| message | host last plugin output message | False |
| setStatusOnCreate | sets specified status on create after creating in {{PENDING}} state | False, defaults to FALSE |
| status | host status | True |
h6. {color:#333333}30.1.4 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/x-www-form-urlencoded | False |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.1.5 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating host |
h6. {color:#333333}30.1.6 Example Results{color}
Here is an XML example. The single deep host with services, (not wrapped), is returned.
{code: language=html/xml}
<host id="7" hostName="host5" description="host5" monitorStatus="UP" appType="NAGIOS" deviceIdentification="10.0.0.5" deviceDisplayName="10.0.0.5" lastCheckTime="2016-01-04T23:42:30.468-0700" nextCheckTime="2016-01-04T23:47:30.468-0700" bubbleUpStatus="UP" serviceAvailability="0" acknowledged="false" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceCount="1" stateType="HARD" checkType="ACTIVE" lastStateChange="2016-01-04T23:42:30.000-0700" lastPlugInOutput="-1^^^-1^^^-1^^^01/04/2016 11:42:30 PM^^^UP^^^01/04/2016 11:47:30 PM">
<properties>
<property name="LastPluginOutput" value="UP"/>
<property name="LastStateChange" value="2016-01-04T23:42:30.000-0700"/>
</properties>
<device id="6" displayName="10.0.0.5" identification="10.0.0.5"/>
<hostStatus hostStatusId="7" lastCheckTime="2016-01-04T23:42:30.468-0700" nextCheckTime="2016-01-04T23:47:30.468-0700">
<monitorStatus monitorStatusId="1" name="UP" description="UP"/><checkType checkTypeId="1" name="ACTIVE" description="Active Check"/>
<stateType>
<stateTypeId>2</stateTypeId>
<name>HARD</name>
<description>State Hard</description>
</stateType>
</hostStatus>
<services>
<service id="86" appType="NAGIOS" description="local_cpu_httpd" monitorStatus="PENDING" lastCheckTime="2016-01-04T23:42:30.000-0700" nextCheckTime="2016-01-04T23:47:30.000-0700" hostName="host5" stateType="HARD" checkType="ACTIVE" lastHardState="PENDING" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" monitorServer="localhost" deviceIdentification="10.0.0.5" lastPlugInOutput="-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA">
<properties>
<property name="LastPluginOutput" value="PENDING - new"/>
</properties>
</service>
</services>
<hostGroups>
<hostGroup id="6" name="hosts" appType="NAGIOS"/>
</hostGroups>
<applicationType id="100" name="NAGIOS" description="System monitored by Nagios" stateTransitionCriteria="Device;Host;ServiceDescription"/>
</host>
{code}
Here is a JSON example. The single deep host object with services is returned.
{code: language=javascript}
{
"properties" : {
"LastPluginOutput" : "UP",
"LastStateChange" : "2016-01-04T23:42:31.000-0700"
},
"id" : 9,
"hostName" : "host5",
"description" : "host5",
"monitorStatus" : "UP",
"appType" : "NAGIOS",
"deviceIdentification" : "10.0.0.5",
"deviceDisplayName" : "10.0.0.5",
"lastCheckTime" : "2016-01-04T23:42:31.906-0700",
"nextCheckTime" : "2016-01-04T23:47:31.906-0700",
"bubbleUpStatus" : "UP",
"serviceAvailability" : "0",
"acknowledged" : false,
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"device" : {
"id" : 8,
"displayName" : "10.0.0.5",
"identification" : "10.0.0.5"
},
"hostStatus" : {
"hostStatusId" : 9,
"hostMonitorStatus" : {
"monitorStatusId" : 1,
"name" : "UP",
"description" : "UP"
},
"lastCheckTime" : "2016-01-04T23:42:31.906-0700",
"checkType" : {
"checkTypeId" : 1,
"name" : "ACTIVE",
"description" : "Active Check"
},
"nextCheckTime" : "2016-01-04T23:47:31.906-0700",
"stateType" : {
"stateTypeId" : 2,
"name" : "HARD",
"description" : "State Hard"
}
},
"services" : [ {
"properties" : {
"LastPluginOutput" : "PENDING - new"
},
"id" : 89,
"appType" : "NAGIOS",
"description" : "local_cpu_httpd",
"monitorStatus" : "PENDING",
"lastCheckTime" : "2016-01-04T23:42:31.000-0700",
"nextCheckTime" : "2016-01-04T23:47:31.000-0700",
"hostName" : "host5",
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastHardState" : "PENDING",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"monitorServer" : "localhost",
"deviceIdentification" : "10.0.0.5",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA"
} ],
"serviceCount" : 1,
"hostGroups" : [ {
"id" : 7,
"name" : "hosts",
"appType" : "NAGIOS"
} ],
"applicationType" : {
"properties" : {
},
"id" : 100,
"name" : "NAGIOS",
"description" : "System monitored by Nagios",
"stateTransitionCriteria" : "Device;Host;ServiceDescription"
},
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastStateChange" : "2016-01-04T23:42:31.000-0700",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/04/2016 11:42:31 PM^^^UP^^^01/04/2016 11:47:31 PM"
}
{code}
h5. 30.2 Form Create or Update Service
Create or update a single service accepting POST form parameters. Will create the specified host if required and device identification is specified. In addition to the host, host groups, host categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New hosts and services are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. Service hosts are set to the {{UP}} status otherwise. The created or updated service is returned.
h6. {color:#333333}30.2.1 Method: POST Form Create or Update Service{color}
{color:#4a86e8}POST /api/biz/service{color}
h6. {color:#333333}30.2.2 POST Data Example{color}
Example form create post data.
{code}
message=PENDING+-+new&host=host5&status=PENDING&serviceGroup=cpu&device=10.0.0.5&service=local_cpu_httpd&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&hostGroup=hosts&appType=NAGIOS
{code}
Example form update post data.
{code}
message=OK+-+10&host=host5&status=OK&service=local_cpu_httpd&serviceValue=30&warningLevel=75&criticalLevel=90&metricType=vm&agentId=a4ca80e0-e855-43ee-86d8-f4e499f0a824&appType=NAGIOS
{code}
h6. {color:#333333}30.2.3 POST Parameters{color}
|| Name || Description || Required ||
| agentId | agent id | True |
| allowInserts | allow host inserts | False, defaults to TRUE |
| appType | application type name | True |
| checkIntervalMinutes | check interval in minutes | False, defaults to 5 |
| criticalLevel | service value critical level | False, defaults to \-1 |
| device | device identification | True, for create |
| host | host name | True |
| hostCategory | host category name | False |
| hostGroup | host group name | False |
| mergeHosts | allow hosts to be merged if host name is case-insensitive equal | False, defaults to TRUE |
| message | service last plugin output message | False |
| metricType | service metric type | False |
| service | service description | True |
| serviceCategory | service category name | False |
| serviceGroup | service group name | False |
| serviceValue | service value | False |
| setStatusOnCreate | sets specified status on create after creating in {{PENDING}} state | False, defaults to FALSE |
| status | service status | True |
| warningLevel | service value warning level | False, defaults to \-1 |
h6. {color:#333333}30.2.4 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/x-www-form-urlencoded | False |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.2.5 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating service |
h6. {color:#333333}30.2.6 Example Results{color}
Here is an XML example. The single service, (not wrapped), is returned.
{code: language=html/xml}
<service id="86" appType="NAGIOS" description="local_cpu_httpd" monitorStatus="PENDING" lastCheckTime="2016-01-04T23:42:30.000-0700" nextCheckTime="2016-01-04T23:47:30.000-0700" hostName="host5" stateType="HARD" checkType="ACTIVE" lastHardState="PENDING" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" monitorServer="localhost" deviceIdentification="10.0.0.5" lastPlugInOutput="-1^^^-1^^^-1^^^01/01/1970 12:00:00 AM^^^PENDING - new^^^NA">
<properties>
<property name="LastPluginOutput" value="PENDING - new"/>
</properties>
</service>
{code}
Here is a JSON example. The single JSON host object is returned.
{code: language=javascript}
{
"properties" : {
"LastPluginOutput" : "OK - 10"
},
"id" : 89,
"appType" : "NAGIOS",
"description" : "local_cpu_httpd",
"monitorStatus" : "OK",
"lastCheckTime" : "2016-01-04T23:42:31.000-0700",
"nextCheckTime" : "2016-01-04T23:47:31.000-0700",
"lastStateChange" : "2016-01-04T23:42:31.000-0700",
"hostName" : "host5",
"stateType" : "HARD",
"checkType" : "ACTIVE",
"lastHardState" : "OK",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"monitorServer" : "localhost",
"deviceIdentification" : "10.0.0.5",
"lastPlugInOutput" : "-1^^^-1^^^-1^^^01/04/2016 11:42:31 PM^^^OK - 10^^^NA"
}
{code}
h5. 30.3 Create or Update Hosts
Primary feeder interface used by CloudHub and updated feeders. Creates or updates multiple hosts with or without nested services. In addition to the hosts and services, host groups, host categories, service groups, service categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on host and service status change. New hosts and services are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. When nested services are specified, some service parameters can be inherited from the parent host: message, appType, and agentId. The standard API operation results are returned. General API conventions are followed wrapping POST data and results for XML and JSON content types.
h6. {color:#333333}30.3.1 Method: POST Create or Update Hosts{color}
{color:#4a86e8}POST /api/biz/hosts{color}
h6. {color:#333333}30.3.2 POST Data Example{color}
Here are XML examples of post data without and with nested services. General API conventions are followed wrapping multiple hosts with XML tags.
{code: language=html/xml}
<hosts>
<host host="host6" status="PENDING" message="PENDING - new" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false">
<services/>
</host>
</hosts>
{code}
{code: language=html/xml}
<hosts>
<host host="host6" status="UP" message="UP" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true">
<services>
<service host="host6" service="local_cpu_httpd" status="OK" message="OK - 10" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceValue="10" metricType="vm" warningLevel="50" criticalLevel="90" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true"/>
<service host="host6" service="local_cpu_java" status="OK" message="OK - 20" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" serviceValue="20" metricType="vm" warningLevel="75" criticalLevel="90" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="true"/>
</services>
</host>
</hosts>
{code}
Here are JSON examples of post data without and with nested services. General API conventions are followed wrapping multiple hosts with a JSON object and collection.
{code: language=javascript}
{
"hosts" : [ {
"properties" : {
},
"host" : "host6",
"status" : "PENDING",
"message" : "PENDING - new",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false,
"services" : [ ]
} ]
}
{code}
{code: language=javascript}
{
"hosts" : [ {
"properties" : {
},
"host" : "host6",
"status" : "UP",
"message" : "UP",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false,
"services" : [ {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_httpd",
"status" : "OK",
"message" : "OK - 10",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"serviceValue" : "10",
"metricType" : "vm",
"warningLevel" : 50,
"criticalLevel" : 90,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : true
}, {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_java",
"status" : "OK",
"message" : "OK - 20",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"serviceValue" : "20",
"metricType" : "vm",
"warningLevel" : 75,
"criticalLevel" : 90,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : true
} ]
} ]
}
{code}
h6. {color:#333333}30.3.3 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/xml or application/json | True |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.3.4 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating hosts |
h6. {color:#333333}30.3.5 Example Results{color}
Here are XML examples. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message elements.
{code: language=html/xml}
<results successful="1" failed="0" entityType="Host" operation="Update" warning="0" count="1">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Insert</message>
</result>
</results>
{code}
{code: language=html/xml}
<results successful="3" failed="0" entityType="Host" operation="Update" warning="0" count="3">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Update</message>
</result>
<result>
<entity>host6:local_cpu_httpd</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6</location>
<status>success</status>
<message>Update</message>
</result>
<result>
<entity>host6:local_cpu_java</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6</location>
<status>success</status>
<message>Update</message>
</result>
</results>
{code}
Here are JSON examples. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message fields.
{code: language=javascript}
{
"successful" : 1,
"failed" : 0,
"entityType" : "Host",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Insert"
} ],
"count" : 1
}
{code}
{code: language=javascript}
{
"successful" : 3,
"failed" : 0,
"entityType" : "Host",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Update"
}, {
"entity" : "host6:local_cpu_httpd",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6",
"message" : "Update"
}, {
"entity" : "host6:local_cpu_java",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6",
"message" : "Update"
} ],
"count" : 3
}
{code}
h5. 30.4 Create or Update Services
Creates or updates multiple services; hosts are created if they do not already exist. In addition to the services and hosts, host groups, host categories, service groups, service categories, events, and notifications are created, updated, and/or sent. Events and notifications are created and sent on status change. New services and hosts are always created in the {{PENDING}} state unless the {{setStatusOnCreate}} flag is set. Service hosts are set to the {{UP}} status otherwise. The standard API operation results are returned. General API conventions are followed wrapping POST data and results for XML and JSON content types.
h6. {color:#333333}30.4.1 Method: POST Create or Update Services{color}
{color:#4a86e8}POST /api/biz/services{color}
h6. {color:#333333}30.4.2 POST Data Example{color}
Here is an XML example post data. General API conventions are followed wrapping multiple services with XML tags.
{code: language=html/xml}
<services>
<service host="host6" service="local_cpu_httpd" status="PENDING" message="PENDING - new" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" warningLevel="-1" criticalLevel="-1" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false"/>
<service host="host6" service="local_cpu_java" status="PENDING" message="PENDING - new" serviceGroup="cpu" hostGroup="hosts" device="10.0.0.6" appType="NAGIOS" agentId="a4ca80e0-e855-43ee-86d8-f4e499f0a824" warningLevel="-1" criticalLevel="-1" checkIntervalMinutes="5" allowInserts="true" mergeHosts="true" setStatusOnCreate="false"/>
</services>
{code}
Here is a JSON example post data. General API conventions are followed wrapping multiple hosts with a JSON object and collection.
{code: language=javascript}
{
"services" : [ {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_httpd",
"status" : "PENDING",
"message" : "PENDING - new",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"warningLevel" : -1,
"criticalLevel" : -1,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false
}, {
"properties" : {
},
"host" : "host6",
"service" : "local_cpu_java",
"status" : "PENDING",
"message" : "PENDING - new",
"serviceGroup" : "cpu",
"hostGroup" : "hosts",
"device" : "10.0.0.6",
"appType" : "NAGIOS",
"agentId" : "a4ca80e0-e855-43ee-86d8-f4e499f0a824",
"warningLevel" : -1,
"criticalLevel" : -1,
"checkIntervalMinutes" : 5,
"allowInserts" : true,
"mergeHosts" : true,
"setStatusOnCreate" : false
} ]
}
{code}
h6. {color:#333333}30.4.3 HTTP Headers{color}
|| Header || Valid Values || Required ||
| Content-Type | application/xml or application/json | True |
| Accept | application/xml or application/json | True |
| GWOS-API-TOKEN | a valid token returned from login | True |
| GWOS-APP-NAME | your application name | True |
h6. {color:#333333}30.4.4 HTTP Status Codes{color}
|| Code || Description ||
| 200 | Authorized hosts and services returned |
| 401 | Authentication/authorization error occurred |
| 500 | An internal server error occurred while updating services |
h6. {color:#333333}30.4.5 Example Results{color}
Here is an XML example. General API conventions are followed wrapping results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message elements. The status of hosts involved in the operation are also returned.
{code: language=html/xml}
<results successful="3" failed="0" entityType="ServiceStatus" operation="Update" warning="0" count="3">
<result>
<entity>host6</entity>
<location>http://localhost:8080/foundation-webapp/api/hosts/host6</location>
<status>success</status>
<message>Insert</message>
</result>
<result>
<entity>host6:local_cpu_httpd</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6</location>
<status>success</status>
<message>Insert</message>
</result>
<result>
<entity>host6:local_cpu_java</entity>
<location>http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6</location>
<status>success</status>
<message>Insert</message>
</result>
</results>
{code}
Here is a JSON example. General API conventions are followed returning results. Note the successful operations for individual entities, ({{Insert}} or {{Update}}), are returned in the message fields. The status of hosts involved in the operation are also returned.
{code: language=javascript}
{
"successful" : 3,
"failed" : 0,
"entityType" : "ServiceStatus",
"operation" : "Update",
"warning" : 0,
"results" : [ {
"entity" : "host6",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/hosts/host6",
"message" : "Insert"
}, {
"entity" : "host6:local_cpu_httpd",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_httpd%3FhostName=host6",
"message" : "Insert"
}, {
"entity" : "host6:local_cpu_java",
"status" : "success",
"location" : "http://localhost:8080/foundation-webapp/api/services/local_cpu_java%3FhostName=host6",
"message" : "Insert"
} ],
"count" : 3
}
{code}