lib/jss/api_connection.rb in ruby-jss-0.10.2a5 vs lib/jss/api_connection.rb in ruby-jss-0.10.2

- old
+ new

@@ -235,17 +235,15 @@ # # prod2_computer_sns = production_api2.all :Computer, only: :serial_numbers # prod2_victim_md = production_api2.fetch :MobileDevice, id: 832 # # Here are the API calls you can make directly from an APIConnection object. - # They behave practically identically to the same methods in the APIObject - # subclasses, since they just call those methods, passing themselves in as the - # APIConnection to use. + # Most of them behave identically to the same methods in the APIObject classes # # - {#all} The 'list' methods of the various APIObject classes. Use the 'only:' # parameter to specify one of the sub-list-methods, like #all_ids or - # #all_laptops, e.g. `my_connection.all :computers, only: :id` + # #all_laptops # - {#map_all_ids} the equivalent of #map_all_ids_to in the APIObject classes # - {#valid_id} given a class and an identifier (like macaddress or udid) # return a valid id or nil # - {#exist?} given a class and an identifier (like macaddress or udid) does # the identifier exist for the class in the JSS @@ -254,13 +252,10 @@ # - {#fetch} retrieve an object from the JSS # - {#make} instantiate an object to be created in the JSS # - {#send_computer_mdm_command} same as {Computer.send_mdm_command} # - {#computer_checkin_settings} same as {Computer.checkin_settings} # - {#computer_inventory_collection_settings} same as {Computer.inventory_collection_settings} - # - {#computer_application_usage} same as {Computer.application_usage} - # - {#computer_management_data} same as {Computer.management_data} - # - {#computer_history} same as {Computer.history} # - {#send_mobiledevice_mdm_command} same as {MobileDevice.send_mdm_command} # - {#master_distribution_point} same as {DistributionPoint.master_distribution_point} # - {#my_distribution_point} same as {DistributionPoint.my_distribution_point} # - {#network_ranges} same as {NetworkSegment.network_ranges} # - {#network_segments_for_ip} same as {NetworkSegment.segments_for_ip} @@ -742,52 +737,29 @@ the_class = JSS.api_object_class(class_name) args[:api] = self the_class.make args end - # Call {JSS::Computer.checkin_settings} q.v., passing this API + # Call {JSS::Computer.checkin_settings} passing this API # connection # + # @return (see JSS::Computer.checkin_settings) + # def computer_checkin_settings JSS::Computer.checkin_settings api: self end - # Call {JSS::Computer.inventory_collection_settings} q.v., passing this API + + # Call {JSS::Computer.inventory_collection_settings} passing this API # connection # + # @return (see JSS::Computer.checkin_settings) + # def computer_inventory_collection_settings JSS::Computer.inventory_collection_settings api: self end - # Call {JSS::Computer.application_usage} q.v., passing this API - # connection - # - def computer_application_usage(ident, start_date, end_date = nil) - JSS::Computer.application_usage ident, start_date, end_date, api: self - end - - # Call {JSS::Computer.management_data} q.v., passing this API - # connection - # - def computer_management_data(ident, subset: nil, only: nil) - JSS::Computer.management_data ident, subset: subset, only: only, api: self - end - - # Call {JSS::Computer.history} q.v., passing this API - # connection - # - def computer_history(ident, subset: nil) - JSS::Computer.history ident, subset: subset, api: self - end - - # Call {JSS::Computer.send_mdm_command} q.v., passing this API - # connection - # - def send_computer_mdm_command(targets, command, passcode = nil) - JSS::Computer.send_mdm_command targets, command, passcode, api: self - end - # Get the DistributionPoint instance for the master # distribution point in the JSS. If there's only one # in the JSS, return it even if not marked as master. # # @param refresh[Boolean] re-read from the API? @@ -860,11 +832,11 @@ # # @param refresh[Boolean] should the data be re-queried? # # @return [Array<Integer>] the ids of the NetworkSegments containing the given ip # - def network_segments_for_ip(ip) + def network_segments_for_ip(ip, refresh = false) ok_ip = IPAddr.new(ip) matches = [] network_ranges.each { |id, subnet| matches << id if subnet.include?(ok_ip) } matches end @@ -873,9 +845,18 @@ # # @return [Array<Integer>] the NetworkSegment ids for this machine right now. # def my_network_segments network_segments_for_ip JSS::Client.my_ip_address + end + + # Send an MDM command to one or more computers managed by + # this JSS + # + # see {JSS::Computer.send_mdm_command} + # + def send_computer_mdm_command(targets, command, passcode = nil) + JSS::Computer.send_mdm_command(targets, command, passcode, api: self) end # Send an MDM command to one or more mobile devices managed by # this JSS #