lib/runcible/extensions/consumer_group.rb in runcible-0.2.1 vs lib/runcible/extensions/consumer_group.rb in runcible-0.3

- old
+ new

@@ -24,37 +24,74 @@ module Runcible module Extensions class ConsumerGroup < Runcible::Resources::ConsumerGroup + # Add consumers by ID to a consumer group + # + # @param [String] id the consumer group ID + # @param [Array] consumer_ids array of consumer IDs to add to the group + # @return [RestClient::Response] list of consumer IDs def self.add_consumers_by_id(id, consumer_ids) self.associate(id, make_consumer_criteria(consumer_ids)) end + # Remove consumers by ID from a consumer group + # + # @param [String] id the consumer group ID + # @param [Array] consumer_ids array of consumer IDs to remove from the group + # @return [RestClient::Response] list of consumer IDs def self.remove_consumers_by_id(id, consumer_ids) self.unassociate(id, make_consumer_criteria(consumer_ids)) end + # Generates consumer criteria query + # + # @param [Array] consumer_ids array of consumer IDs + # @return [Hash] the formatted query for consumers def self.make_consumer_criteria(consumer_ids) {:criteria => {:filters => {:id =>{"$in" =>consumer_ids}} } } end + # Install content to a consumer group + # + # @param [String] id the consumer group ID + # @param [String] type_id the type of content to install (e.g. rpm, errata) + # @param [Array] units array of units to install + # @return [RestClient::Response] task representing the install operation def self.install_content(id, type_id, units) self.install_units(id, generate_content(type_id, units)) end + # Update content on a consumer group + # + # @param [String] id the consumer group ID + # @param [String] type_id the type of content to update (e.g. rpm, errata) + # @param [Array] units array of units to update + # @return [RestClient::Response] task representing the update operation def self.update_content(id, type_id, units) self.update_units(id, generate_content(type_id, units)) end + # Uninstall content from a consumer group + # + # @param [String] id the consumer group ID + # @param [String] type_id the type of content to uninstall (e.g. rpm, errata) + # @param [Array] units array of units to uninstall + # @return [RestClient::Response] task representing the uninstall operation def self.uninstall_content(id, type_id, units) self.uninstall_units(id, generate_content(type_id, units)) end + # Generate the content units used by other functions + # + # @param [String] type_id the type of content (e.g. rpm, errata) + # @param [Array] units array of units + # @return [Array] array of formatted content units def self.generate_content(type_id, units) content = [] units.each do |unit| content_unit = {} content_unit[:type_id] = type_id