puppetlabs/Razor — pull request #258 by fnichol (2012-11-28 21:29:51+00:00)
Title: Update broker plugin API

**NOTE:** The development of this pull request is in progress and soliciting feedback. A broader conversation on this topic is on the project [mailing list](https://groups.google.com/forum/#!topic/puppet-razor/PBjABTQ5VQg/discussion).

---

Modifies the behavior of the broker plugin API to support additional
broker plugin types. Each plugin type may require configuration
parameters that are unique to its implementation.

Borrowing the add/update pattern from the model slice, each broker
plugin type will get its required metadata either interactively (if the
action is performed via the CLI) or from an associated JSON hash of
metdata key/value pairs (if the RESTful API is being used).

The updated `broker add` CLI usage is:

# razor broker add --help
Usage: razor broker add (options...)
-p, --plugin BROKER_PLUGIN The broker plugin to use.
-n, --name BROKER_NAME The name for the broker target.
-d, --description DESCRIPTION A description for the broker target.
-h, --help Display this screen.

And the corresponding `broker update` CLI usage is:

# razor broker update --help
Usage: razor broker update (UUID) (options...)
-n, --name BROKER_NAME New name for the broker target.
-d, --description DESCRIPTION New description for the broker target.
-c, --change-metadata Used to trigger a change in the model's meta-data
-h, --help Display this screen.