We'd like to refactor ComputeService, and specifically the methods suspendNodesMatching, resumeNodesMatching, and rebootNodesMatching, to match the functionality provided by method destroyNodesMatching of the same class; that being: allow these methods to return a 'Set<? extends NodeMetadata>'.
We currently have a high-level wrapper around jclouds which returns objects populated with ONLY a few variables available from NodeMetadata. Currently we can not provide that information if we attempt to suspend, resume, and/or reboot a set of nodes. The above change will provide that.
This does require a change to the ComputeService API but only insofar as to what the methods return and NOT what they are named and/or what is passed into them. This has the added benefit of not being a destructive change for any current users of these method calls as things will "just work" for them as they always have. However, and for future users of these calls, we will now be able to retrieve a 'Set<? extends NodeMetadata>'.