Moab Web Services > Plugins > Plugin Developer's Guide > Example Plugin Types

Example Plugin Types

Several plugin types are provided by Adaptive Computing for use in Moab Web Services. Examples of these include the Native and vCenter plugin types.

A sample plugin type in Groovy would resemble the following:

package sample

import com.adaptc.mws.plugins.*

class SamplePlugin extends AbstractPlugin {
	static author = "Adaptive Computing"
	static description = "A simple plugin in groovy"
	static version = "0.1"

	INodeRMService nodeRMService

	public void configure() throws InvalidPluginConfigurationException {
		def myConfig = config	// "config" is equivalent to getConfig() in groovy
		def errors = []
		if (!myConfig.arbitraryKey)
			errors << "Missing arbitraryKey!"
		if (errors)
			throw new InvalidPluginConfigurationException(errors)
	}

	public void poll() {
		NodeReport node = new NodeReport("node1")
		node.resources.RES1.total = 5
		node.resources.RES1.available = 5
		node.state = NodeReportState.IDLE
		nodeRMService.save([node])
	}

	// Access at /rest/plugins/<id>/services/example-service
	public def exampleService(Map params) {
		return [success:true]
	}
}

Related Topics 

© 2015 Adaptive Computing