Searching the Help
To search for information in the Help, type a word or phrase in the Search box. When you enter a group of words, OR is inferred. You can use Boolean operators to refine your search.
Results returned are case insensitive. However, results ranking takes case into account and assigns higher scores to case matches. Therefore, a search for "cats" followed by a search for "Cats" would return the same number of Help topics, but the order in which the topics are listed would be different.
Search for | Example | Results |
---|---|---|
A single word | cat
|
Topics that contain the word "cat". You will also find its grammatical variations, such as "cats". |
A phrase. You can specify that the search results contain a specific phrase. |
"cat food" (quotation marks) |
Topics that contain the literal phrase "cat food" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying an OR operator, which finds topics with one of the individual words instead of the phrase. |
Search for | Operator | Example |
---|---|---|
Two or more words in the same topic |
|
|
Either word in a topic |
|
|
Topics that do not contain a specific word or phrase |
|
|
Topics that contain one string and do not contain another | ^ (caret) |
cat ^ mouse
|
A combination of search types | ( ) parentheses |
|
Develop
NNMi offers many WS-I-compliant web services for reading, and updating the NNMi topology as well as related services for SNMP operations, reading/updating configuration and receiving a variety of notifications.
WS-Eventing is supported by NNMi to allow client web-services to subscribe to incident events from NNMi. By subscribing to the NNMi notification service, your client receives Incidents as they are added to the NNMi Event pipeline. In addition, any time an Incident’s lifecycleState
or rcaState changes
, you can receive an update indicating the change.
This section assumes that the you have some basic understanding of web services concepts and Java programming, although Java is not a required platform for interoperating
with NNMi’s web services. For more details on web services, see the references listed at the end of this section.
See the nms-sdk-samples
folder of your installation for examples. These samples demonstrate how to access each of the available web services. Additionally, there are sample Java classes available (see nms-sdk-sources.jar
) to allow you to quickly build the sample projects provided. Note, however, that these Java classes are simply examples and not directly required by a web service client. Instead, these classes (if used in a Java client) are automatically generated from the service WSDL by a third-party web service client generation tool (for example, Axis or Sun’s Java Web Service Developer Pack).
The NNMi Web Service APIs support basic authentication and require credentials to be passed that match a permitted NNMi user role. Allowed roles include Web Services Client, Admin, or System. Use the Configuration: Users Accounts and Role workspace to create a user account with one of these roles.
Each of the client samples provided defaults to pass the following user name and password: webservices/nnm. This can be overridden at run time.
WS-I APIs
The interface specification for each of the NNMi web-service APIs is governed by the service WSDL that might be found at the URL described in the table below for the <serviceType>
of interest. For each service, see the corresponding description in the tables found in Object Attributes section of this document for details about attributes returned or expected on input. Each of these services also allows for filtered reading of objects from NNMi’s data store. See the section on WS-I Filter Definition later in this document for more details.
URL for NNMi WS-I Services |
<serviceType> |
---|---|
http://<host>:<port>/<service>BeanService/<service>Bean?wsdl |
Incident IncidentConfiguration Node Interface IPAddress IPSubnet |
http://<host>:<port>/NmsSdkService/<service>Bean?wsdl |
Card Port Security WsRegistry |
In this instance:
- <host> is the NNMi management server
- <port> is the port that is configured to work with NNMi
- <service> is one of the supported NNMi services in the table above
For example, the WSDL for the Node service can be viewed on a system where NNMi is installed (and configured with port 80) by pointing a browser to the following URL: http://localhost/NodeBeanService/NodeBean?wsdl
Service Fault Handling
Many NNMi services will return an appropriate service fault for unrecoverable errors or invalid client input. When a fault is returned from an NNMi service, the request transaction is canceled and no updates or return data should be expected. The fault type will depend on the service request (Nms
<serviceType>Fault
, for example). Below is a list of some common general purpose fault messages shared by multiple services. For service-specific faults, see the service descriptions that follow. Additional troubleshooting information might also be found in the nnm-trace
log at the time of the client request.
Service Fault Message |
Description |
---|---|
Cannot interrogate model: <exception> |
An unrecoverable error has occurred while performing a query within the NNMi persistence layer. The corresponding exception accompanies the fault. |
Cannot invoke service: <exception> |
The internal NNMi support service implementation has thrown an unrecoverable exception. The corresponding exception accompanies the fault. |
Internal server error locating service implementation |
The internal NNMi support service or bean is unavailable or unresponsive. |
Unable to locate <object> |
Indicates that the object input identifier is either invalid OR the object has been removed (possibly by user activity). |
Unable to <perform requested activity> |
Indicates that the service was unable to perform the requested operation. An example is “Unable to delete incident: <id>”. This is most likely due to invalid input or possibly internal error. Where possible, the service will return a more specific fault (e.g., “Unable to locate incident: <id>”) if the failure was due to invalid input. Again, the underlying cause of invalid identifier input may be due to user or other processes having removed the desired object. |
Incidents
The Incident service permits a client to read, update, and create Incident objects in the NNMi data store.
-
Incident[] getIncidents
(Filterfilter
): Returns the count of objects that would be returned bygetIncidents()
using the same input filter.The filter must include a constraint with
includeCias
with a value of true in order to include incidentCias
in the result. By default, incidents do not includeCias
. Incident[] getChildIncidents
(String id): Returns a complete list of correlated incidents for a given parent incident (corresponding to <id>) if there are any correlated children. Also seegetChildCorrelations.
-
addIncident
(IncidentMgmtEvent
): This operation is asynchronous and only submits the suppliedIncidentMgmtEvent
to the Events subsystem pipeline for processing. There is no guarantee that the event will be persisted for later retrieval. For example, an incident may not be persisted if the indicated source node cannot be resolved.Incidents added by
addIncident
are also not automatically forwarded to a global manager. An incident added to an NNMi regional manager must also be added to the global manager using addIncident on the global manager if that is the desired behavior. deleteIncident
(String id)deleteIncidentByUuid
(String uuid)updateNotes
(String id, String notes): The supplied ‘notes’ value will completely replace the current object’s notes attribute value.updateLifecycleState
(String id, String lifecycleState)updatePriority
(String id, String priority)updateCias
(String id, Cia[]): The supplied array ofCia
s will completely replace the current incident’s set ofCia
values. To augment this list, read the current incidentCias
usinggetIncidents
prior to callingupdateCias
.IncidentCorrelation[] getChildCorrelations
(String id): Returns a complete list of child correlations, if any, grouped by their correlation type. Also seegetChildIncidents
.String[] getAssignToPrincipals()
: Returns a list of principals that might be assigned to any given incident. SeeupdateAssignedTo
.void updateAssignedTo
(String id, String assignTo): Assigns an incident to a principal. SeegetAssignToPrincipals
.
Cia object:
String name;
String type;
valid values for ‘type’ include:
{“INTEGER”, “STRING”, “BOOLEAN”, “DOUBLE”, “UNKNOWN”}
String value;
IncidentCorrelation
object:
String name;
CorrelationType type;
Valid values for type include:
{ “APA”, “IMPACT”, “DEDUP”, “RATE”, “PAIRWISE”, “CUSTOM” }
String parent;
Date originOccurrenceTime;
12
int correlationResent;
String[] children;
Injection of Management Events
NNMi offers a web service endpoint that permits injection of management events into the NNMi event pipeline. Any management event that is configured with NNMi’s Incident Configuration (see console’s Configuration workspace) can be injected with the addIncident port on the Incident Service API shown above.
Service Operation | Fault Message |
---|---|
getIncidents | Unable to retrieve incident CIAs: <id> |
addIncidents | Invalid nature: <nature> Invalid priority: <priority> Cannot inject incident: <name> |
updateLifecycleState | The internal NNMi support service or bean is unavailable or unresponsive. |
updateLifecycleState | Unable to update incident lifecycleState: <id> |
updatePriority | Unable to update incident priority: <id> |
updateAssignedTo | Invalid AssignTo principal: <principal> |
getAssignToPrincipals | Unable to identify assignTo principals |
updateNotes | Unable to update incident notes: <id> |
deleteIncident | Unable to locate incident: <id> Unable to delete incident: <id> |
deleteIncidentByUuid | Unable to locate incident: <uuid> Unable to delete incident: <uuid> |
getChildIncidents | Unable to retrieve child incidents |
getChildCorrelations | Unable to retrieve child correlations |
updateCias | Unable to update Cias: <id> |
Incident Configuration
The Incident Configuration service permits a client to read Incident Configurations in the NNMi data store. In this version, the input Filter objects are ignored and each operation returns the full set of configurations for the type specified. The attributes of each configuration object correspond to the values shown in the NNMi console.
- RemoteNNMEventConfig[] getRemoteEventConfig(Filter filter)
- ManagementEventConfig[] getManagementEventConfig(Filter filter)
- SnmpTrapConfig[] getSnmpTrapConfig(Filter filter)
- PairwiseConfig[] getPairwiseConfig(Filter filter)
RemoteNNMEventConfig object:
String id;
String name;
String incidentConfigType;
String enable;
String description;
String messageFormat;
String category;
String author;
String severity;
String family;
DedupConfig dedupConfig;
RateConfig rateConfig;
ActionConfig actionConfig;
String oId;
ManagementEventConfig object:
String id;
String name;
String incidentConfigType;
String enable;
String description;
String messageFormat;
String category;
String author;
String severity;
String family;
DedupConfig dedupConfig;
RateConfig rateConfig;
ActionConfig actionConfig;
SnmpTrapConfig object:
String id;
String name;
String incidentConfigType;
String enable;
String description;
String messageFormat;
String category;
String author;
String severity;
String family;
DedupConfig dedupConfig;
RateConfig rateConfig;
ActionConfig actionConfig;
String oId;
PairwiseConfig object:
String id;
String name;
String incidentConfigType;
String enable;
String firstIncidentName;
String secondIncidentName;
PairItem[] pairItems;
DedupConfig object:
String enable;
String comparisonCriteria;
String correlationIncidentConfigName;
ComparisonParam[] comparisonParams;
ComparisonParam object:
String paramType;
String paramValue;
RateConfig object:
String enable;
int rateCount;
int hourInterval;
int minuteInterval;
int secondInterval;
String comparisonCriteria;
String correlationIncidentConfigName;
ComparisonParam[] comparisonParams;
ActionConfig
String enable;
LifecycleTransitionAction[] actions;
LifecycleTransitionAction
String commandType;
String command;
String lifeCycleState;
PairItem object;
String firstInPair;
String secondInPair;
Nodes
The Node service permits a client to read, update, and delete Nodes from the NNMi data store.
Node[] getNodes
(Filter filter)
The filter must include a Constraint having includeCustomAttributes
with a value of true in order to include node CustomAttributes
and capabilities in the result. By default, the nodes do not include CustomAttributes
and capabilities.
Integer getNodeCount
(Filter filter): Returns the count of objects that would be returned bygetNodes
() using the same input filter.NodeConclusion[] getConclusions
(String id)-
addConclusion
(String iD, String incidentId, Status status, String conclusion, String[] cancelledConclusions)- Can be used to influence ‘status’ on a node. Status will be recalculated (with the most severe being set on the node).
- Conclusion strings can be any user meaningful description. As such, it is a recommended best practice to always prefix a conclusion string with either a namespace or a category to avoid collisions with other clients that might also be adding conclusion strings. For example, com.my_agent.ServiceUnavailable or OracleMonitorX_ServiceUnavailable are preferred to simply ServiceUnavailable.
- The incidentId is optional (may be empty string) but if the conclusion is associated with an incidentId and another conclusion is later added that cancels the previous conclusion, the associated Incident will be closed. If it is not desired to associate a conclusion to an incident, provide an empty string (“”);
- ‘cancelledConclusions’ are an optional list of conclusions that the added conclusion will cause to be canceled. If not used and no conclusions are intended to be canceled, pass an empty list.
-
It is strongly suggested that SDK clients do not add or cancel NNMi-defined conclusions.
Conclusions might be deleted by supplying a blank ‘conclusion’ value along with the list of conclusions to be deleted as ‘cancelledConclusions’.
- updateManagementMode(String id, String managementMode)
- updateNotes(String id, String notes)
- addSeeds(String[] hostnamesOrIPs)
- addSeedsForTenant(String[] hostnamesOrIPs, String tenantName, String notes)
- addHints(String[] hostnamesOrIPs)
- removeSeeds(String[] hostnamesOrIPs)
- rediscoverHosts(String[] hostnamesOrIPs)
- addHints(String[] hostnamesOrIPs)
- pollHosts(String[] hostnamesOrIPs)
- addCapabilities(String id, Capability[] capabilities)
-
String[] addCapabilitiesBulk(String[] ids, Capability[] capabilities)
Returns list of node IDs not successfully added.
removeCapabilities
(String id, String[] capabilityKeys): The list of capabilityKeys is expected to correspond to the ‘key’ attribute of the desired Capabilities to remove.String[] removeCapabilitiesBulk
(String[] ids, String[] capabilityKeys): Returns list of node IDs not successfully removed.updateCustomAttributes
(String id, CustomAttribute[] customAttributes)addCustomAttributes
(String id, CustomAttribute[] customAttributes)String[] addCustomAttributesBulk
(String[] ids, CustomAttribute[] customAttributes)-
removeCustomAttributes
(String id,String[] customAttributes) String[] removeCustomAttributesBulk
(String[] nodeIds,String[] customAttributes): Returns list of node IDs not successfully removed.
NodeConclusion object:
String uuid;
String status;
String conclusion;
Date timestamp;
Capability object:
String key;
String label;
CustomAttribute object:
String name;
String value;
Service Operation | Fault Message |
---|---|
updateManagementMode | Unable to update management mode: <id> |
updateNotes | Unable to update notes: <id> |
deleteNode | Unable to delete node: <id> |
deleteNodeByUuid | Unable to delete node: <id> |
addCapabilities | Unable to add capabilities: <id> |
addCustomAttributes | Unable to add custom attributes: <id> |
removeCustomAttributes | Unable to remove custom attributes: <id> |
updateCustomAttributes | Unable to update custom attributes: <id> |
addConclusion |
Invalid incident id: <id> Unable to add conclusions: <id> |
getNnmSystemName | Node not found: <id> |
isLocal | Node not found: <id> |
getForwardableNodes | Empty node list supplied |
Interface
The Interface service permits a client to read and update existing Interface objects in the NNMi data store.
Interface[] getInterfaces
(Filter filter): The filter must include a Constraint having includeCustomAttributes with a value of true in order to include interface CustomAttributes and Capabilities in the result. By default, the interfaces do not include CustomAttributes and Capabilities.
Integer getInterfaceCount
(Filter filter): Returns the count of objects that would be returned by getInterfaces() using the same input filter.InterfaceConclusion[] getConclusions
(String id)updateManagementMode
(String id, String managementMode)updateNotes
(String id, String notes)addCapabilities
(String id, Capability[] capabilities)String[] addCapabilitiesBulk
(String[] ids,Capability[] capabilities): Returns list of interface IDs that were not successfully added.removeCapabilities
(String id, String[] capabilityKeys): The list of capabilityKeys is expected to correspond to the ‘key’ attribute of the desired Capabilities to remove.String[] removeCapabilitiesBulk
(String[] ids,String[] capabilityKeys): Returns list of interface IDs that were not successfully removed.updateCustomAttributes
(String id, CustomAttribute[] customAttributes)addCustomAttributes(String id, CustomAttribute[] customAttributes)
String[] addCustomAttributesBulk(String[] ifaceIds,CustomAttribute[] customAttributes)
: Returns list of interface IDs that were not successfully added.removeCustomAttributes(String id,String[] customAttributes)
String[] removeCustomAttributesBulk(String[] ifaceIds,String[] customAttributes):
Returns list of interface IDs that were not successfully removedLong[] getInputSpeedBulk(String[] ifaceIds)
Long[] getOutputSpeedBulk(String[] ifaceIds)
: Integer addBulkCustomAttributes(String caName, String[] ids, String[] caValues): ‘caName’ is a single custom attribute name to be added or updated for each of the interfaces specified by ‘ifaceIds;' ‘caValues’ is an array of values that will be added or updated for the ‘caName’ custom attribute of each of the interfaces of the corresponding ‘ifaceIds’ array.
InterfaceConclusion object:
String uuid;
String status;
String conclusion;
Date timestamp;
Capability object:
String key;
String label;
CustomAttribute object:
String name;
String value;
Service Operation | Fault Message |
---|---|
updateManagementMode | Unable to update management mode: <id> |
updateNotes | Unable to update notes: <id> |
addCapabilities | Unable to add capabilities: <id> |
removeCapabilities | Unable to remove capabilities: <id> |
addCustomAttributes | Unable to add custom attributes: <id> |
removeCustomAttributes | Unable to remove custom attributes: <id> |
updateCustomAttributes | Unable to update custom attributes: <id> |
IPAddress
The IP Address service permits a client to read and update existing IPAddress objects in the NNMi data store. The IPAddress object is IP-version neutral, supporting either IPv4 or IPv6 addresses. Though the tenant is not returned as part of the IPAddress object for backwards compatibility reasons, 'tenant' and 'mappedAddress' will be supported as attributes that might be used in the getIPAddresses(Filter filter) operation. When used as conditions in filters, these values are expected to correspond to the tenant name and mapped IP address value as would be returned by the getTenantsByUuids() and getMappedAddressesByUuids() operations respectively.
IPAddress[] getIPAddresses(Filter filter)
IPAddressConclusion[] getConclusions(String id)
updateManagementMode(String id, String managementMode)
updateNotes(String id, String notes)
addCapabilities(String id, Capability[] capabilities)
String[] getTenantsByUuids(String[] uuids)
String[] getMappedAddressesByUuids(String[] uuids)
IPAddressConclusion object:
String uuid;
String status;
String conclusion;
Date timestamp;
Service Operation | Fault Message |
---|---|
getConclusions | Address id not found: <id> Unable to retrieve conclusions: <id> |
updateManagementMode | Unable to update management mode: <id> |
updateNotes | Unable to update notes: <id> |
addCapabilities | Unable to add capabilities: <id> |
removeCapabilities | Unable to remove capabilities: <id> |
getTenantsByUuids | Empty address list supplied |
getMappedAddressesByUuids | Empty address list supplied |
IPSubnet
The IPSubnet service permits a client to read and update existing IPSubnet objects in the NNMi data store. The IPSubnet object is IP-version neutral, supporting either IPv4 or IPv6 subnets. Although the tenant is not returned as part of the IPSubnet object for backwards compatibility reasons, 'tenant' will be supported as a filterable attribute in the getIPSubnets(Filter filter) operation. When used in a filter condition, this value is expected to correspond to the tenant name as would be returned by the getTenantsByUuids().
IPSubnet[] getIPSubnets(Filter filter)
updateNotes(String id, String notes)
String[] getTenantsByUuids(String [] uuids)
Service Operation | Fault Message |
---|---|
updateNotes get | Unable to update notes: <id> |
TenantsByUuids | Empty subnet list supplied |
API Reference
Incident
http://localhost/IncidentBeanService/IncidentBean?wsdl
- Incident[] getIncidents(Filter filter)
- Integer getIncidentCount(Filter filter)
- Incident[] getChildIncidents(String id)
- addIncident(IncidentMgmtEvent)
- deleteIncident(String id)
- deleteIncidentByUuid(String uuid)
- updateNotes(String id, String notes)
- updateLifecycleState(String id, String lifecycleState)
- updatePriority(String id, String priority)
- updateCias(String id, Cia[])
- IncidentCorrelation[] getChildCorrelations(String id)
- String[] getAssignToPrincipals()
- void updateAssignedTo(String id,String assignTo)
IncidentConfiguration
- http://localhost/IncidentConfigurationBeanService/IncidentConfigurationBean?wsdl
- RemoteNMEventConfig[] getRemoteEventConfig(Filter filter)
- ManagementEventConfig[] getManagementEventConfig(Filter filter)
- SnmpTrapConfig[] getSnmpTrapConfig(Filter filter)
- PairwiseConfig[] getPairwiseConfig(Filter filter)
Node
http://localhost/NodeBeanService/NodeBean?wsdl
- Node[] getNodes(Filter filter)
- Integer getNodeCount(Filter filter)
- NodeConclusion[] getConclusions(String id)
- addConclusion(String id, String incidentId, Status status, String conclusion, String[] cancelledConclusions)
- updateManagementMode(String id, String managementMode)
- updateNotes(String id, String notes)
- addSeeds(String[] hostnamesOrIPs)
- addSeedsForTenant(String[] hostnamesOrIPs, String tenantName, String notes)
- removeSeeds(String[] hostnamesOrIPs)
- addHints(String[] hostnamesOrIPs)
- rediscoverHosts(String[] hostnamesOrIPs)
- pollHosts(String[] hostnamesOrIPs)
- addCapabilities(String id, Capability[] capabilities)
- String[] addCapabilitiesBulk(String[] ids, Capability[] capabilities)
- removeCapabilities(String id, String[] capabilityKeys)
- String[] removeCapabilitiesBulk(String[] ids, String[] capabilityKeys)
- updateCustomAttributes(String id, CustomAttribute[] customAttributes)
- addCustomAttributes(String id, CustomAttribute[] customAttributes)
- String[] addCustomAttributesBulk(String[] ids, CustomAttribute[] customAttributes)
- removeCustomAttributes(String id,String[] customAttributes)
- String[] removeCustomAttributesBulk(String[] ids, String[] customAttributes)
- boolean deleteNode(String id)
- boolean deleteNodeByUuid(String uuid)
- getNnmSystemName(final String id)
- boolean isLocal(final String id)
- boolean isForwardable(final String id)
- String[] getForwardableNodes(final String[] ids)
Interface
http://localhost/InterfaceBeanService/InterfaceBean?wsdl
- Interface[] getInterfaces(Filter filter)
- Integer getInterfaceCount(Filter filter)
- InterfaceConclusion[] getConclusions(String id)
- updateManagementMode(String id, String managementMode)
- updateNotes(String id, String notes)
- addCapabilities(String id, Capability[] capabilities)
- String[] addCapabilitiesBulk(String[] ids,Capability[] capabilities)
- removeCapabilities(String id, String[] capabilityKeys)
- String[] removeCapabilitiesBulk(String[] ids,String[] capabilityKeys)
- updateCustomAttributes(String id, CustomAttribute[] customAttributes)
- addCustomAttributes(String id, CustomAttribute[] customAttributes)
- String[] addCustomAttributesBulk(String[] ids,CustomAttribute[] customAttributes)
- Integer addBulkCustomAttributes(String caName, String[] ids, String[] caValues)
- removeCustomAttributes(String id,String[] customAttributes)
- String[] removeCustomAttributesBulk(String[] ifaceIds,String[] customAttributes)
- Long[] getInputSpeedBulk(String[] ifaceIds)
- Long[] getOutputSpeedBulk(String[] ifaceIds)
IPAddress
http://localhost/IPAddressBeanService/IPAddressBean?wsdl
- IPAddress[] getIPAddresses(Filter filter)
- IPAddressConclusion[] getConclusions(String id)
- updateManagementMode(String id, String managementMode)
- updateNotes(String id, String notes)
- addCapabilities(String id, Capability[] capabilities)
- String[] getTenantsByUuids(String[] uuids)
- String[] getMappedAddressesByUuids(String[] uuids)
IPSubnet
http://localhost/IPSubnetBeanService/IPSubnetBean?wsdl
- IPSubnet[] getIPSubnets(Filter filter)
- updateNotes(String id, String notes)
- String[] getTenantsByUuids(String[] uuids)
We welcome your comments!
To open the configured email client on this computer, open an email window.
Otherwise, copy the information below to a web mail client, and send this email to network-management-doc-feedback@hpe.com.
Help Topic ID:
Product:
Topic Title:
Feedback: