ruby-jss 4.2.3 → 4.2.4b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +11 -1
  3. data/LICENSE.txt +5 -3
  4. data/README.md +3 -1
  5. data/bin/cgrouper +4 -22
  6. data/bin/jamfHelperBackgrounder +4 -22
  7. data/bin/netseg-update +4 -22
  8. data/data/ruby-jss.conf.example +4 -22
  9. data/lib/jamf/api/classic/api_objects/account.rb +4 -22
  10. data/lib/jamf/api/classic/api_objects/advanced_computer_search.rb +4 -22
  11. data/lib/jamf/api/classic/api_objects/advanced_mobile_device_search.rb +4 -22
  12. data/lib/jamf/api/classic/api_objects/advanced_user_search.rb +4 -22
  13. data/lib/jamf/api/classic/api_objects/building.rb +4 -22
  14. data/lib/jamf/api/classic/api_objects/categorizable.rb +4 -22
  15. data/lib/jamf/api/classic/api_objects/category.rb +7 -24
  16. data/lib/jamf/api/classic/api_objects/computer.rb +6 -23
  17. data/lib/jamf/api/classic/api_objects/computer_extension_attribute.rb +2 -20
  18. data/lib/jamf/api/classic/api_objects/computer_group.rb +2 -20
  19. data/lib/jamf/api/classic/api_objects/computer_invitation.rb +6 -23
  20. data/lib/jamf/api/classic/api_objects/creatable.rb +4 -22
  21. data/lib/jamf/api/classic/api_objects/criteriable/criteria.rb +4 -22
  22. data/lib/jamf/api/classic/api_objects/criteriable/criterion.rb +2 -20
  23. data/lib/jamf/api/classic/api_objects/criteriable.rb +2 -20
  24. data/lib/jamf/api/classic/api_objects/department.rb +4 -22
  25. data/lib/jamf/api/classic/api_objects/directory_binding.rb +221 -247
  26. data/lib/jamf/api/classic/api_objects/directory_binding_type/active_directory.rb +492 -526
  27. data/lib/jamf/api/classic/api_objects/directory_binding_type/admitmac.rb +27 -55
  28. data/lib/jamf/api/classic/api_objects/directory_binding_type/centrify.rb +191 -220
  29. data/lib/jamf/api/classic/api_objects/directory_binding_type/directory_binding_type.rb +4 -22
  30. data/lib/jamf/api/classic/api_objects/directory_binding_type/open_directory.rb +142 -169
  31. data/lib/jamf/api/classic/api_objects/directory_binding_type/powerbroker_identity_services.rb +37 -57
  32. data/lib/jamf/api/classic/api_objects/directory_binding_type.rb +4 -22
  33. data/lib/jamf/api/classic/api_objects/disk_encryption_configuration.rb +90 -84
  34. data/lib/jamf/api/classic/api_objects/distribution_point.rb +6 -24
  35. data/lib/jamf/api/classic/api_objects/dock_item.rb +11 -34
  36. data/lib/jamf/api/classic/api_objects/ebook.rb +4 -22
  37. data/lib/jamf/api/classic/api_objects/extendable.rb +2 -20
  38. data/lib/jamf/api/classic/api_objects/ibeacon.rb +6 -23
  39. data/lib/jamf/api/classic/api_objects/icon.rb +5 -23
  40. data/lib/jamf/api/classic/api_objects/ldap_server.rb +2 -20
  41. data/lib/jamf/api/classic/api_objects/locatable.rb +4 -22
  42. data/lib/jamf/api/classic/api_objects/mac_application.rb +6 -23
  43. data/lib/jamf/api/classic/api_objects/management_history/audit_event.rb +4 -25
  44. data/lib/jamf/api/classic/api_objects/management_history/casper_imaging_log.rb +5 -24
  45. data/lib/jamf/api/classic/api_objects/management_history/casper_remote_log.rb +4 -25
  46. data/lib/jamf/api/classic/api_objects/management_history/computer_usage_log.rb +4 -25
  47. data/lib/jamf/api/classic/api_objects/management_history/ebook.rb +4 -26
  48. data/lib/jamf/api/classic/api_objects/management_history/hash_like.rb +4 -22
  49. data/lib/jamf/api/classic/api_objects/management_history/mac_app_store_app.rb +4 -26
  50. data/lib/jamf/api/classic/api_objects/management_history/mdm_command.rb +4 -25
  51. data/lib/jamf/api/classic/api_objects/management_history/mobile_device_app.rb +4 -25
  52. data/lib/jamf/api/classic/api_objects/management_history/policy_log.rb +4 -25
  53. data/lib/jamf/api/classic/api_objects/management_history/screen_sharing_log.rb +4 -25
  54. data/lib/jamf/api/classic/api_objects/management_history/user_location_change.rb +4 -25
  55. data/lib/jamf/api/classic/api_objects/management_history.rb +4 -22
  56. data/lib/jamf/api/classic/api_objects/matchable.rb +4 -22
  57. data/lib/jamf/api/classic/api_objects/mdm.rb +6 -23
  58. data/lib/jamf/api/classic/api_objects/mobile_device.rb +7 -23
  59. data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +7 -23
  60. data/lib/jamf/api/classic/api_objects/mobile_device_configuration_profile.rb +4 -22
  61. data/lib/jamf/api/classic/api_objects/mobile_device_extension_attribute.rb +3 -20
  62. data/lib/jamf/api/classic/api_objects/mobile_device_group.rb +4 -22
  63. data/lib/jamf/api/classic/api_objects/netboot_server.rb +4 -22
  64. data/lib/jamf/api/classic/api_objects/network_segment.rb +7 -23
  65. data/lib/jamf/api/classic/api_objects/osx_configuration_profile.rb +2 -20
  66. data/lib/jamf/api/classic/api_objects/package.rb +6 -23
  67. data/lib/jamf/api/classic/api_objects/patch_external_source.rb +7 -24
  68. data/lib/jamf/api/classic/api_objects/patch_internal_source.rb +4 -22
  69. data/lib/jamf/api/classic/api_objects/patch_policy.rb +6 -23
  70. data/lib/jamf/api/classic/api_objects/patch_title/version.rb +4 -22
  71. data/lib/jamf/api/classic/api_objects/patch_title.rb +8 -24
  72. data/lib/jamf/api/classic/api_objects/peripheral.rb +7 -24
  73. data/lib/jamf/api/classic/api_objects/peripheral_type.rb +7 -26
  74. data/lib/jamf/api/classic/api_objects/policy.rb +6 -22
  75. data/lib/jamf/api/classic/api_objects/printer.rb +384 -388
  76. data/lib/jamf/api/classic/api_objects/purchasable.rb +4 -22
  77. data/lib/jamf/api/classic/api_objects/removable_macaddr.rb +4 -22
  78. data/lib/jamf/api/classic/api_objects/restricted_software.rb +7 -24
  79. data/lib/jamf/api/classic/api_objects/scopable/scope.rb +2 -19
  80. data/lib/jamf/api/classic/api_objects/scopable.rb +4 -22
  81. data/lib/jamf/api/classic/api_objects/script.rb +5 -23
  82. data/lib/jamf/api/classic/api_objects/self_servable.rb +4 -22
  83. data/lib/jamf/api/classic/api_objects/sitable.rb +4 -22
  84. data/lib/jamf/api/classic/api_objects/site.rb +2 -20
  85. data/lib/jamf/api/classic/api_objects/software_update_server.rb +4 -22
  86. data/lib/jamf/api/classic/api_objects/updatable.rb +4 -22
  87. data/lib/jamf/api/classic/api_objects/uploadable.rb +4 -22
  88. data/lib/jamf/api/classic/api_objects/user.rb +6 -24
  89. data/lib/jamf/api/classic/api_objects/user_extension_attribute.rb +2 -19
  90. data/lib/jamf/api/classic/api_objects/user_group.rb +4 -22
  91. data/lib/jamf/api/classic/api_objects/vpp_account.rb +6 -23
  92. data/lib/jamf/api/classic/api_objects/vppable.rb +4 -22
  93. data/lib/jamf/api/classic/api_objects/web_hook.rb +4 -20
  94. data/lib/jamf/api/classic/base_classes/advanced_search.rb +9 -25
  95. data/lib/jamf/api/classic/base_classes/api_object.rb +7 -24
  96. data/lib/jamf/api/classic/base_classes/configuration_profile.rb +5 -22
  97. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +6 -23
  98. data/lib/jamf/api/classic/base_classes/group.rb +6 -22
  99. data/lib/jamf/api/classic/base_classes/patch_source.rb +4 -22
  100. data/lib/jamf/api/classic/xml_workaround.rb +4 -22
  101. data/lib/jamf/api/connection/attributes.rb +4 -21
  102. data/lib/jamf/api/connection/cache.rb +4 -21
  103. data/lib/jamf/api/connection/classic_api.rb +4 -21
  104. data/lib/jamf/api/connection/connect.rb +4 -21
  105. data/lib/jamf/api/connection/constants.rb +7 -23
  106. data/lib/jamf/api/connection/default_connection.rb +4 -21
  107. data/lib/jamf/api/connection/jamf_pro_api.rb +4 -21
  108. data/lib/jamf/api/connection/jamf_pro_api_error.rb +2 -20
  109. data/lib/jamf/api/connection/token.rb +2 -20
  110. data/lib/jamf/api/connection.rb +4 -21
  111. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +2 -20
  112. data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +2 -20
  113. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +2 -20
  114. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +2 -23
  115. data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +2 -20
  116. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +2 -20
  117. data/lib/jamf/api/jamf_pro/api_objects/j_building.rb +2 -20
  118. data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +2 -20
  119. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates/plan.rb +2 -19
  120. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates.rb +2 -19
  121. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +2 -20
  122. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +2 -19
  123. data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +2 -19
  124. data/lib/jamf/api/jamf_pro/mixins/change_log.rb +2 -20
  125. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +2 -20
  126. data/lib/jamf/api/jamf_pro/mixins/computer_recovery_lock.rb +2 -19
  127. data/lib/jamf/api/jamf_pro/mixins/filevault.rb +2 -19
  128. data/lib/jamf/api/jamf_pro/mixins/filterable.rb +2 -19
  129. data/lib/jamf/api/jamf_pro/mixins/immutable.rb +2 -19
  130. data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +2 -20
  131. data/lib/jamf/api/jamf_pro/mixins/lockable.rb +2 -19
  132. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +2 -19
  133. data/lib/jamf/api/jamf_pro/mixins/macos_redeploy_mgmt_framework.rb +2 -19
  134. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +2 -20
  135. data/lib/jamf/api/jamf_pro/mixins/sortable.rb +2 -19
  136. data/lib/jamf/api/jamf_pro/mixins/uncreatable.rb +2 -19
  137. data/lib/jamf/api/jamf_pro/mixins/undeletable.rb +2 -19
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +12 -31
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +3 -24
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +2 -19
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +2 -19
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +3 -24
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +2 -19
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +2 -19
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +2 -19
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +2 -19
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +2 -19
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +2 -19
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +2 -19
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +3 -24
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +11 -30
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +13 -32
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +2 -19
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +4 -25
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +2 -19
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +2 -19
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +3 -24
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +3 -24
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +12 -31
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +3 -24
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +10 -29
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +3 -24
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +3 -24
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +2 -23
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +3 -24
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +2 -23
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +3 -24
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +3 -24
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +2 -23
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +3 -24
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +2 -23
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +7 -26
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +12 -31
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +3 -24
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -23
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -23
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +3 -24
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +2 -23
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +7 -26
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +3 -24
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +12 -31
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +3 -24
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +8 -27
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +3 -24
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +6 -25
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +2 -23
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +14 -33
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +3 -24
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v3.rb +2 -19
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +6 -26
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +3 -24
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -23
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +3 -24
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +28 -47
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +28 -47
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +3 -24
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +3 -24
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -23
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -23
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +2 -19
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +2 -19
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +2 -19
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +2 -19
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +2 -19
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +2 -19
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +2 -19
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +2 -19
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +8 -27
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +3 -24
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +3 -24
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v3.rb +2 -19
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +2 -19
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +3 -24
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +2 -19
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +3 -24
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +2 -19
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +2 -19
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +3 -24
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +3 -24
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +2 -19
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +2 -19
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +2 -19
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_event_store.rb +4 -25
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +3 -24
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +3 -24
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +3 -24
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +4 -25
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +14 -33
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +3 -24
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +3 -24
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +2 -19
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +3 -24
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +3 -24
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +3 -24
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +2 -19
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +2 -19
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/o_auth_client_credentials.rb +2 -19
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +2 -19
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +2 -19
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/package.rb +3 -24
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/packages_search_results.rb +3 -24
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +17 -36
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +7 -26
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +7 -26
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +2 -23
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +6 -25
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +3 -24
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +36 -55
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +2 -19
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +3 -24
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +3 -24
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +3 -24
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +2 -19
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +2 -19
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +2 -19
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +2 -19
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +2 -19
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -24
  259. data/lib/jamf/api/jamf_pro/oapi_schemas.rb +2 -19
  260. data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +2 -20
  261. data/lib/jamf/api/jamf_pro/other_classes/ip_address.rb +2 -20
  262. data/lib/jamf/api/jamf_pro/other_classes/pager.rb +2 -19
  263. data/lib/jamf/api/jamf_pro/other_classes/timestamp.rb +2 -20
  264. data/lib/jamf/base_class.rb +2 -19
  265. data/lib/jamf/client/jamf_binary.rb +4 -22
  266. data/lib/jamf/client/jamf_helper.rb +4 -22
  267. data/lib/jamf/client/management_action.rb +4 -22
  268. data/lib/jamf/client.rb +4 -22
  269. data/lib/jamf/composer.rb +2 -20
  270. data/lib/jamf/configuration.rb +2 -20
  271. data/lib/jamf/constants.rb +2 -20
  272. data/lib/jamf/db_connection.rb +5 -23
  273. data/lib/jamf/deprecations/deprecated_api_connection_class.rb +2 -20
  274. data/lib/jamf/deprecations/deprecated_api_constant.rb +2 -20
  275. data/lib/jamf/deprecations/deprecated_config_constant.rb +2 -20
  276. data/lib/jamf/deprecations.rb +4 -22
  277. data/lib/jamf/exceptions.rb +2 -20
  278. data/lib/jamf/oapi_validate.rb +2 -19
  279. data/lib/jamf/ruby_extensions/array/predicates.rb +2 -20
  280. data/lib/jamf/ruby_extensions/array/utils.rb +2 -20
  281. data/lib/jamf/ruby_extensions/array.rb +2 -20
  282. data/lib/jamf/ruby_extensions/filetest/predicates.rb +2 -20
  283. data/lib/jamf/ruby_extensions/filetest.rb +2 -20
  284. data/lib/jamf/ruby_extensions/hash/utils.rb +2 -44
  285. data/lib/jamf/ruby_extensions/hash.rb +2 -20
  286. data/lib/jamf/ruby_extensions/ipaddr/utils.rb +2 -20
  287. data/lib/jamf/ruby_extensions/ipaddr.rb +4 -22
  288. data/lib/jamf/ruby_extensions/object/predicates.rb +2 -20
  289. data/lib/jamf/ruby_extensions/object.rb +2 -20
  290. data/lib/jamf/ruby_extensions/pathname/predicates.rb +2 -20
  291. data/lib/jamf/ruby_extensions/pathname/utils.rb +2 -20
  292. data/lib/jamf/ruby_extensions/pathname.rb +2 -20
  293. data/lib/jamf/ruby_extensions/string/conversions.rb +2 -20
  294. data/lib/jamf/ruby_extensions/string/predicates.rb +2 -20
  295. data/lib/jamf/ruby_extensions/string.rb +2 -20
  296. data/lib/jamf/ruby_extensions/time/utils.rb +4 -22
  297. data/lib/jamf/ruby_extensions/time.rb +4 -22
  298. data/lib/jamf/ruby_extensions.rb +4 -22
  299. data/lib/jamf/utility.rb +2 -20
  300. data/lib/jamf/validate.rb +2 -19
  301. data/lib/jamf/version.rb +5 -23
  302. data/lib/jamf/zeitwerk_config.rb +2 -20
  303. data/lib/jamf.rb +2 -20
  304. data/lib/jss-api.rb +4 -22
  305. data/lib/jss.rb +4 -22
  306. data/lib/ruby-jss.rb +4 -22
  307. data/test/bin/runtests +4 -22
  308. data/test/lib/jamf_test/APITest.rb +4 -22
  309. data/test/lib/jamf_test/advanced_search.rb +4 -22
  310. data/test/lib/jamf_test/auth.rb +4 -22
  311. data/test/lib/jamf_test/collection_tests.rb +4 -22
  312. data/test/lib/jamf_test/prestage_tests.rb +4 -22
  313. data/test/lib/jamf_test.rb +4 -22
  314. data/test/tests/advanced_computer_search.rb +4 -22
  315. data/test/tests/advanced_mobile_device_search.rb +4 -22
  316. data/test/tests/advanced_user_search.rb +4 -22
  317. data/test/tests/building.rb +4 -22
  318. data/test/tests/category.rb +4 -22
  319. data/test/tests/computer.rb +4 -22
  320. data/test/tests/computer_group.rb +4 -22
  321. data/test/tests/computer_prestage.rb +4 -22
  322. data/test/tests/department.rb +4 -22
  323. data/test/tests/device_enrollment.rb +4 -22
  324. data/test/tests/inventory_preload_record.rb +4 -22
  325. data/test/tests/j_building.rb +4 -22
  326. data/test/tests/j_package.rb +4 -22
  327. data/test/tests/mobile_device.rb +4 -22
  328. data/test/tests/mobile_device_prestage.rb +4 -22
  329. data/test/tests/policy.rb +4 -22
  330. metadata +4 -4
@@ -1,446 +1,442 @@
1
1
  module Jamf
2
- ### Module Constants
3
- #####################################
4
-
5
- ### Module Variables
6
- #####################################
7
-
8
- ### Module Methods
9
- #####################################
10
-
11
- ### Classes
12
- #####################################
13
-
14
- ### Printer object inside JSS
15
- ###
16
- ### @see Jamf::APIObject
17
- class Printer < Jamf::APIObject
18
- ## Mix-Ins
19
- #####################################
20
- include Jamf::Creatable
21
- include Jamf::Updatable
22
- include Jamf::Categorizable
23
-
24
- ## Class Constants
25
- #####################################
26
2
 
27
- ### The base for REST resources of this class
28
- RSRC_BASE = 'printers'.freeze
29
-
30
- ### the hash key used for the JSON list output of all objects in the JSS
31
- RSRC_LIST_KEY = :printers
32
-
33
- ### The hash key used for the JSON object output
34
- ### It's also used in various error messages
35
- RSRC_OBJECT_KEY = :printer
36
-
37
- # Where is the Category in the API JSON?
38
- CATEGORY_SUBSET = :top
39
-
40
- # How is the category stored in the API data?
41
- CATEGORY_DATA_TYPE = String
42
-
43
- ## Attributes
44
- #####################################
45
-
46
- ### @return [String] The URI path for the specific printer.
47
- attr_reader :uri
48
-
49
- ### @return [String] The CUPs name to be used
50
- attr_reader :CUPS_name
51
-
52
- ### @return [String] The physical location of the printer.
53
- attr_reader :location
54
-
55
- ### @return [String] The specific model of printer.
56
- attr_reader :model
57
-
58
- ### @return [Boolean] Is this printer to be shared?
59
- attr_reader :shared
60
-
61
- ### @return [String] Information for this specific printer.
62
- attr_reader :info
63
-
64
- ### @return [String] Notes for this specific printer.
65
- attr_reader :notes
66
-
67
- ### @return [Boolean] Make this printer as the default printer upon installation.
68
- attr_reader :make_default
69
-
70
- ### @return [Boolean] Use a generic PPD.
71
- attr_reader :use_generic
72
-
73
- ### @return [String] The PPD file name.
74
- attr_reader :ppd
75
-
76
- ### @return [String] The contents of the PPD file.
77
- attr_reader :ppd_contents
78
-
79
- ### @return [String] The path the PPD file will be installed.
80
- attr_reader :ppd_path
81
-
82
- ### @return [String] The OS version requirements seperated by commas
83
- attr_reader :os_requirements
84
-
85
- ## Constructor
86
- #####################################
87
-
88
- ###
89
- def initialize(**args)
90
- super
91
-
92
- if self.in_jss?
93
-
94
- @uri = @init_data[:uri]
95
- @CUPS_name = @init_data[:CUPS_name]
96
- @location = @init_data[:location]
97
- @model = @init_data[:model]
98
- @shared = @init_data[:shared]
99
- @info = @init_data[:info]
100
- @notes = @init_data[:notes]
101
- @make_default = @init_data[:make_default]
102
- @use_generic = @init_data[:use_generic]
103
- @ppd = @init_data[:ppd]
104
- @ppd_contents = @init_data[:ppd_contents]
105
- @ppd_path = @init_data[:ppd_path]
106
- @os_requirements = @init_data[:os_requirements]
107
- else
108
-
109
- raise Jamf::MissingDataError, "CUPS_name must be provided." unless !@init_data[:CUPS_name].nil?
110
- raise Jamf::MissingDataError, "uri must be provided." unless !@init_data[:uri].nil?
111
-
112
- raise Jamf::InvalidDataError, "uri must be a String." unless @init_data[:uri].is_a?(String) || @init_data[:uri].nil?
113
- raise Jamf::InvalidDataError, "CUPS_name must be a String." unless @init_data[:CUPS_name].is_a?(String)
114
- raise Jamf::InvalidDataError, "location must be a String." unless @init_data[:location].is_a?(String) || @init_data[:location].nil?
115
- raise Jamf::InvalidDataError, "model must be a String." unless @init_data[:model].is_a?(String) || @init_data[:model].nil?
116
- raise Jamf::InvalidDataError, "info must be a String." unless @init_data[:info].is_a?(String) || @init_data[:info].nil?
117
- raise Jamf::InvalidDataError, "notes must be a String." unless @init_data[:notes].is_a?(String) || @init_data[:notes].nil?
118
- raise Jamf::InvalidDataError, "ppd must be a String." unless @init_data[:ppd].is_a?(String) || @init_data[:ppd].nil?
119
- raise Jamf::InvalidDataError, "ppd_contents must be a String." unless @init_data[:ppd_contents].is_a?(String) || @init_data[:ppd_contents].nil?
120
- raise Jamf::InvalidDataError, "ppd_path must be a String." unless @init_data[:ppd_path].is_a?(String) || @init_data[:ppd_path].nil?
121
- raise Jamf::InvalidDataError, "os_requirements must be a String." unless @init_data[:os_requirements].is_a?(String) || @init_data[:os_requirements].nil?
122
- raise Jamf::InvalidDataError, "shared must be a String." unless (@init_data[:shared].is_a?(TrueClass) || @init_data[:shared].is_a?(FalseClass)) || @init_data[:shared].nil?
123
- raise Jamf::InvalidDataError, "make_default must be a String." unless (@init_data[:make_default].is_a?(TrueClass) || @init_data[:make_default].is_a?(FalseClass)) || @init_data[:make_default].nil?
124
- raise Jamf::InvalidDataError, "use_generic must be a String." unless (@init_data[:use_generic].is_a?(TrueClass) || @init_data[:use_generic].is_a?(FalseClass)) || @init_data[:use_generic].nil?
125
-
126
- @uri = @init_data[:uri]
127
- @CUPS_name = @init_data[:CUPS_name]
128
- @location = @init_data[:location]
129
- @model = @init_data[:model]
130
- @shared = @init_data[:shared]
131
- @info = @init_data[:info]
132
- @notes = @init_data[:notes]
133
- @make_default = @init_data[:make_default]
134
- @use_generic = @init_data[:use_generic]
135
- @ppd = @init_data[:ppd]
136
- @ppd_contents = @init_data[:ppd_contents]
137
- @ppd_path = @init_data[:ppd_path]
138
- @os_requirements = @init_data[:os_requirements]
139
- end
140
- end
3
+ ### Module Constants
4
+ #####################################
141
5
 
6
+ ### Module Variables
7
+ #####################################
142
8
 
143
- ## Class Methods
144
- #####################################
9
+ ### Module Methods
10
+ #####################################
145
11
 
12
+ ### Classes
13
+ #####################################
146
14
 
147
- # The URI path for the specific printer.
148
- #
149
- # @author Tyler Morgan
150
- #
151
- # @param newvalue [String]
152
- #
153
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
154
- #
155
- # @return [void]
156
- def uri=(newvalue)
15
+ ### Printer object inside JSS
16
+ ###
17
+ ### @see Jamf::APIObject
18
+ class Printer < Jamf::APIObject
157
19
 
158
- raise Jamf::InvalidDataError, "URI must be a string." unless newvalue.is_a? String
20
+ ## Mix-Ins
21
+ #####################################
22
+ include Jamf::Creatable
23
+ include Jamf::Updatable
24
+ include Jamf::Categorizable
159
25
 
160
- @uri = newvalue
26
+ ## Class Constants
27
+ #####################################
161
28
 
162
- @need_to_update = true
163
- end
29
+ ### The base for REST resources of this class
30
+ RSRC_BASE = 'printers'.freeze
164
31
 
32
+ ### the hash key used for the JSON list output of all objects in the JSS
33
+ RSRC_LIST_KEY = :printers
165
34
 
166
- # The CUPs name to be used
167
- #
168
- # @author Tyler Morgan
169
- #
170
- # @param newvalue [String]
171
- #
172
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
173
- #
174
- # @return [void]
175
- def CUPS_name=(newvalue)
35
+ ### The hash key used for the JSON object output
36
+ ### It's also used in various error messages
37
+ RSRC_OBJECT_KEY = :printer
176
38
 
177
- raise Jamf::InvalidDataError, "CUPS_name must be a string." unless newvalue.is_a? String
39
+ # Where is the Category in the API JSON?
40
+ CATEGORY_SUBSET = :top
178
41
 
179
- @CUPS_name = newvalue
42
+ # How is the category stored in the API data?
43
+ CATEGORY_DATA_TYPE = String
180
44
 
181
- @need_to_update = true
182
- end
45
+ ## Attributes
46
+ #####################################
183
47
 
48
+ ### @return [String] The URI path for the specific printer.
49
+ attr_reader :uri
184
50
 
185
- # The physical location of the printer.
186
- #
187
- # @author Tyler Morgan
188
- #
189
- # @param newvalue [String]
190
- #
191
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
192
- #
193
- # @return [void]
194
- def location=(newvalue)
51
+ ### @return [String] The CUPs name to be used
52
+ attr_reader :CUPS_name
195
53
 
196
- raise Jamf::InvalidDataError, "location must be a string." unless newvalue.is_a? String
54
+ ### @return [String] The physical location of the printer.
55
+ attr_reader :location
197
56
 
198
- @location = newvalue
57
+ ### @return [String] The specific model of printer.
58
+ attr_reader :model
199
59
 
200
- @need_to_update = true
201
- end
60
+ ### @return [Boolean] Is this printer to be shared?
61
+ attr_reader :shared
202
62
 
63
+ ### @return [String] Information for this specific printer.
64
+ attr_reader :info
203
65
 
204
- # The specific model of printer.
205
- #
206
- # @author Tyler Morgan
207
- #
208
- # @param newvalue [String]
209
- #
210
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
211
- #
212
- # @return [void]
213
- def model=(newvalue)
66
+ ### @return [String] Notes for this specific printer.
67
+ attr_reader :notes
214
68
 
215
- raise Jamf::InvalidDataError, "model must be a string." unless newvalue.is_a? String
69
+ ### @return [Boolean] Make this printer as the default printer upon installation.
70
+ attr_reader :make_default
216
71
 
217
- @model = newvalue
72
+ ### @return [Boolean] Use a generic PPD.
73
+ attr_reader :use_generic
218
74
 
219
- @need_to_update = true
220
- end
75
+ ### @return [String] The PPD file name.
76
+ attr_reader :ppd
221
77
 
78
+ ### @return [String] The contents of the PPD file.
79
+ attr_reader :ppd_contents
222
80
 
223
- # Is this printer to be shared?
224
- #
225
- # @author Tyler Morgan
226
- #
227
- # @param newvalue [Boolean]
228
- #
229
- # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
230
- #
231
- # @return [void]
232
- def shared=(newvalue)
81
+ ### @return [String] The path the PPD file will be installed.
82
+ attr_reader :ppd_path
233
83
 
234
- raise Jamf::InvalidDataError, "shared must be a string." unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
84
+ ### @return [String] The OS version requirements seperated by commas
85
+ attr_reader :os_requirements
235
86
 
236
- @shared = newvalue
87
+ ## Constructor
88
+ #####################################
237
89
 
238
- @need_to_update = true
90
+ ###
91
+ def initialize(**args)
92
+ super
93
+
94
+ if in_jss?
95
+
96
+ @uri = @init_data[:uri]
97
+ @CUPS_name = @init_data[:CUPS_name]
98
+ @location = @init_data[:location]
99
+ @model = @init_data[:model]
100
+ @shared = @init_data[:shared]
101
+ @info = @init_data[:info]
102
+ @notes = @init_data[:notes]
103
+ @make_default = @init_data[:make_default]
104
+ @use_generic = @init_data[:use_generic]
105
+ @ppd = @init_data[:ppd]
106
+ @ppd_contents = @init_data[:ppd_contents]
107
+ @ppd_path = @init_data[:ppd_path]
108
+ @os_requirements = @init_data[:os_requirements]
109
+ else
110
+
111
+ raise Jamf::MissingDataError, 'CUPS_name must be provided.' if @init_data[:CUPS_name].nil?
112
+ raise Jamf::MissingDataError, 'uri must be provided.' if @init_data[:uri].nil?
113
+
114
+ raise Jamf::InvalidDataError, 'uri must be a String.' unless @init_data[:uri].is_a?(String) || @init_data[:uri].nil?
115
+ raise Jamf::InvalidDataError, 'CUPS_name must be a String.' unless @init_data[:CUPS_name].is_a?(String)
116
+ raise Jamf::InvalidDataError, 'location must be a String.' unless @init_data[:location].is_a?(String) || @init_data[:location].nil?
117
+ raise Jamf::InvalidDataError, 'model must be a String.' unless @init_data[:model].is_a?(String) || @init_data[:model].nil?
118
+ raise Jamf::InvalidDataError, 'info must be a String.' unless @init_data[:info].is_a?(String) || @init_data[:info].nil?
119
+ raise Jamf::InvalidDataError, 'notes must be a String.' unless @init_data[:notes].is_a?(String) || @init_data[:notes].nil?
120
+ raise Jamf::InvalidDataError, 'ppd must be a String.' unless @init_data[:ppd].is_a?(String) || @init_data[:ppd].nil?
121
+ raise Jamf::InvalidDataError, 'ppd_contents must be a String.' unless @init_data[:ppd_contents].is_a?(String) || @init_data[:ppd_contents].nil?
122
+ raise Jamf::InvalidDataError, 'ppd_path must be a String.' unless @init_data[:ppd_path].is_a?(String) || @init_data[:ppd_path].nil?
123
+
124
+ unless @init_data[:os_requirements].is_a?(String) || @init_data[:os_requirements].nil?
125
+ raise Jamf::InvalidDataError,
126
+ 'os_requirements must be a String.'
239
127
  end
240
-
241
-
242
- # Information for this specific printer.
243
- #
244
- # @author Tyler Morgan
245
- #
246
- # @param newvalue [String]
247
- #
248
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
249
- #
250
- # @return [void]
251
- def info=(newvalue)
252
-
253
- raise Jamf::InvalidDataError, "info must be a string." unless newvalue.is_a? String
254
-
255
- @info = newvalue
256
-
257
- @need_to_update = true
128
+ unless (@init_data[:shared].is_a?(TrueClass) || @init_data[:shared].is_a?(FalseClass)) || @init_data[:shared].nil?
129
+ raise Jamf::InvalidDataError,
130
+ 'shared must be a String.'
258
131
  end
259
-
260
-
261
- # Notes for this specific printer.
262
- #
263
- # @author Tyler Morgan
264
- #
265
- # @param newvalue [String]
266
- #
267
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
268
- #
269
- # @return [void]
270
- def notes=(newvalue)
271
-
272
- raise Jamf::InvalidDataError, "notes must be a string." unless newvalue.is_a? String
273
-
274
- @notes = newvalue
275
-
276
- @need_to_update = true
132
+ unless (@init_data[:make_default].is_a?(TrueClass) || @init_data[:make_default].is_a?(FalseClass)) || @init_data[:make_default].nil?
133
+ raise Jamf::InvalidDataError,
134
+ 'make_default must be a String.'
277
135
  end
278
-
279
-
280
- # Make this printer as the default printer upon installation.
281
- #
282
- # @author Tyler Morgan
283
- #
284
- # @param newvalue [Boolean]
285
- #
286
- # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
287
- #
288
- # @return [void]
289
- def make_default=(newvalue)
290
-
291
- raise Jamf::InvalidDataError, "make_default must be a string." unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
292
-
293
- @make_default = newvalue
294
-
295
- @need_to_update = true
136
+ unless (@init_data[:use_generic].is_a?(TrueClass) || @init_data[:use_generic].is_a?(FalseClass)) || @init_data[:use_generic].nil?
137
+ raise Jamf::InvalidDataError,
138
+ 'use_generic must be a String.'
296
139
  end
297
140
 
141
+ @uri = @init_data[:uri]
142
+ @CUPS_name = @init_data[:CUPS_name]
143
+ @location = @init_data[:location]
144
+ @model = @init_data[:model]
145
+ @shared = @init_data[:shared]
146
+ @info = @init_data[:info]
147
+ @notes = @init_data[:notes]
148
+ @make_default = @init_data[:make_default]
149
+ @use_generic = @init_data[:use_generic]
150
+ @ppd = @init_data[:ppd]
151
+ @ppd_contents = @init_data[:ppd_contents]
152
+ @ppd_path = @init_data[:ppd_path]
153
+ @os_requirements = @init_data[:os_requirements]
154
+ end
155
+ end
298
156
 
299
- # Use a generic PPD.
300
- #
301
- # @author Tyler Morgan
302
- #
303
- # @param newvalue [Boolean]
304
- #
305
- # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
306
- #
307
- # @return [void]
308
- def use_generic=(newvalue)
157
+ ## Class Methods
158
+ #####################################
309
159
 
310
- raise Jamf::InvalidDataError, "use_generic must be a string." unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
160
+ # The URI path for the specific printer.
161
+ #
162
+ # @author Tyler Morgan
163
+ #
164
+ # @param newvalue [String]
165
+ #
166
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
167
+ #
168
+ # @return [void]
169
+ def uri=(newvalue)
170
+ raise Jamf::InvalidDataError, 'URI must be a string.' unless newvalue.is_a? String
171
+
172
+ @uri = newvalue
173
+
174
+ @need_to_update = true
175
+ end
311
176
 
312
- @use_generic = newvalue
177
+ # The CUPs name to be used
178
+ #
179
+ # @author Tyler Morgan
180
+ #
181
+ # @param newvalue [String]
182
+ #
183
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
184
+ #
185
+ # @return [void]
186
+ def CUPS_name=(newvalue)
187
+ raise Jamf::InvalidDataError, 'CUPS_name must be a string.' unless newvalue.is_a? String
188
+
189
+ @CUPS_name = newvalue
190
+
191
+ @need_to_update = true
192
+ end
313
193
 
314
- @need_to_update = true
315
- end
194
+ # The physical location of the printer.
195
+ #
196
+ # @author Tyler Morgan
197
+ #
198
+ # @param newvalue [String]
199
+ #
200
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
201
+ #
202
+ # @return [void]
203
+ def location=(newvalue)
204
+ raise Jamf::InvalidDataError, 'location must be a string.' unless newvalue.is_a? String
205
+
206
+ @location = newvalue
207
+
208
+ @need_to_update = true
209
+ end
316
210
 
211
+ # The specific model of printer.
212
+ #
213
+ # @author Tyler Morgan
214
+ #
215
+ # @param newvalue [String]
216
+ #
217
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
218
+ #
219
+ # @return [void]
220
+ def model=(newvalue)
221
+ raise Jamf::InvalidDataError, 'model must be a string.' unless newvalue.is_a? String
222
+
223
+ @model = newvalue
224
+
225
+ @need_to_update = true
226
+ end
317
227
 
318
- # The PPD file name.
319
- #
320
- # @author Tyler Morgan
321
- #
322
- # @param newvalue [String]
323
- #
324
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
325
- #
326
- # @return [void]
327
- def ppd=(newvalue)
228
+ # Is this printer to be shared?
229
+ #
230
+ # @author Tyler Morgan
231
+ #
232
+ # @param newvalue [Boolean]
233
+ #
234
+ # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
235
+ #
236
+ # @return [void]
237
+ def shared=(newvalue)
238
+ raise Jamf::InvalidDataError, 'shared must be a string.' unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
239
+
240
+ @shared = newvalue
241
+
242
+ @need_to_update = true
243
+ end
328
244
 
329
- raise Jamf::InvalidDataError, "ppd must be a string." unless newvalue.is_a? String
245
+ # Information for this specific printer.
246
+ #
247
+ # @author Tyler Morgan
248
+ #
249
+ # @param newvalue [String]
250
+ #
251
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
252
+ #
253
+ # @return [void]
254
+ def info=(newvalue)
255
+ raise Jamf::InvalidDataError, 'info must be a string.' unless newvalue.is_a? String
256
+
257
+ @info = newvalue
258
+
259
+ @need_to_update = true
260
+ end
330
261
 
331
- @ppd = newvalue
262
+ # Notes for this specific printer.
263
+ #
264
+ # @author Tyler Morgan
265
+ #
266
+ # @param newvalue [String]
267
+ #
268
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
269
+ #
270
+ # @return [void]
271
+ def notes=(newvalue)
272
+ raise Jamf::InvalidDataError, 'notes must be a string.' unless newvalue.is_a? String
273
+
274
+ @notes = newvalue
275
+
276
+ @need_to_update = true
277
+ end
332
278
 
333
- @need_to_update = true
334
- end
279
+ # Make this printer as the default printer upon installation.
280
+ #
281
+ # @author Tyler Morgan
282
+ #
283
+ # @param newvalue [Boolean]
284
+ #
285
+ # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
286
+ #
287
+ # @return [void]
288
+ def make_default=(newvalue)
289
+ raise Jamf::InvalidDataError, 'make_default must be a string.' unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
290
+
291
+ @make_default = newvalue
292
+
293
+ @need_to_update = true
294
+ end
335
295
 
296
+ # Use a generic PPD.
297
+ #
298
+ # @author Tyler Morgan
299
+ #
300
+ # @param newvalue [Boolean]
301
+ #
302
+ # @raise [Jamf::InvalidDataError] If newvalue is not a Boolean
303
+ #
304
+ # @return [void]
305
+ def use_generic=(newvalue)
306
+ raise Jamf::InvalidDataError, 'use_generic must be a string.' unless newvalue.is_a?(TrueClass) || newvalue.is_a?(FalseClass)
307
+
308
+ @use_generic = newvalue
309
+
310
+ @need_to_update = true
311
+ end
336
312
 
337
- # The contents of the PPD file.
338
- #
339
- # @author Tyler Morgan
340
- #
341
- # @param newvalue [String]
342
- #
343
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
344
- #
345
- # @return [void]
346
- def ppd_contents=(newvalue)
313
+ # The PPD file name.
314
+ #
315
+ # @author Tyler Morgan
316
+ #
317
+ # @param newvalue [String]
318
+ #
319
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
320
+ #
321
+ # @return [void]
322
+ def ppd=(newvalue)
323
+ raise Jamf::InvalidDataError, 'ppd must be a string.' unless newvalue.is_a? String
324
+
325
+ @ppd = newvalue
326
+
327
+ @need_to_update = true
328
+ end
347
329
 
348
- raise Jamf::InvalidDataError, "ppd_contents must be a string." unless newvalue.is_a? String
330
+ # The contents of the PPD file.
331
+ #
332
+ # @author Tyler Morgan
333
+ #
334
+ # @param newvalue [String]
335
+ #
336
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
337
+ #
338
+ # @return [void]
339
+ def ppd_contents=(newvalue)
340
+ raise Jamf::InvalidDataError, 'ppd_contents must be a string.' unless newvalue.is_a? String
341
+
342
+ @ppd_contents = newvalue
343
+
344
+ @need_to_update = true
345
+ end
349
346
 
350
- @ppd_contents = newvalue
347
+ # The path the PPD file will be installed.
348
+ #
349
+ # @author Tyler Morgan
350
+ #
351
+ # @param newvalue [String]
352
+ #
353
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String
354
+ #
355
+ # @return [void]
356
+ def ppd_path=(newvalue)
357
+ raise Jamf::InvalidDataError, 'ppd_path must be a string.' unless newvalue.is_a? String
358
+
359
+ @ppd_path = newvalue
360
+
361
+ @need_to_update = true
362
+ end
351
363
 
352
- @need_to_update = true
364
+ # The OS version requirements seperated by commas
365
+ #
366
+ # @author Tyler Morgan
367
+ #
368
+ # @param newvalue [String, Float, Array[String], Array[Float]]
369
+ #
370
+ # @raise [Jamf::InvalidDataError] If newvalue is not a String, Float, Array containing Strings, or Array containing Floats.
371
+ #
372
+ # @example Limit Printer object to only High Sierra devices and Mojave 10.14.5 OS versions
373
+ # printer.os_requirements = "10.13.x, 10.14.5"
374
+ #
375
+ # @return [void]
376
+ def os_requirements=(newvalue)
377
+ if newvalue.is_a? Array
378
+ # Parse Array
379
+ unless newvalue[0].is_a?(String) || newvalue[0].is_a?(Float)
380
+ raise Jamf::InvalidDataError,
381
+ 'If setting os_requirements with an array, it must contain strings or floats.'
353
382
  end
354
383
 
355
-
356
- # The path the PPD file will be installed.
357
- #
358
- # @author Tyler Morgan
359
- #
360
- # @param newvalue [String]
361
- #
362
- # @raise [Jamf::InvalidDataError] If newvalue is not a String
363
- #
364
- # @return [void]
365
- def ppd_path=(newvalue)
366
-
367
- raise Jamf::InvalidDataError, "ppd_path must be a string." unless newvalue.is_a? String
368
-
369
- @ppd_path = newvalue
370
-
371
- @need_to_update = true
384
+ newvalue = newvalue.map { |x| x.to_s }.join(',')
385
+ else
386
+ unless (newvalue.is_a?(String) || newvalue.is_a?(Float)) && !newvalue.nil?
387
+ raise Jamf::InvalidDataError,
388
+ 'os_requirements must either be a string, float, or an array containing strings or floats.'
372
389
  end
390
+ end
373
391
 
392
+ @os_requirements = newvalue
374
393
 
375
- # The OS version requirements seperated by commas
376
- #
377
- # @author Tyler Morgan
378
- #
379
- # @param newvalue [String, Float, Array[String], Array[Float]]
380
- #
381
- # @raise [Jamf::InvalidDataError] If newvalue is not a String, Float, Array containing Strings, or Array containing Floats.
382
- #
383
- # @example Limit Printer object to only High Sierra devices and Mojave 10.14.5 OS versions
384
- # printer.os_requirements = "10.13.x, 10.14.5"
385
- #
386
- # @return [void]
387
- def os_requirements=(newvalue)
388
-
389
- if newvalue.is_a? Array
390
- # Parse Array
391
- raise Jamf::InvalidDataError, "If setting os_requirements with an array, it must contain strings or floats." unless newvalue[0].is_a?(String) || newvalue[0].is_a?(Float)
392
- newvalue = newvalue.map { |x| x.to_s }.join(',')
393
- else
394
- raise Jamf::InvalidDataError, "os_requirements must either be a string, float, or an array containing strings or floats." unless (newvalue.is_a?(String) || newvalue.is_a?(Float)) && !newvalue.nil?
395
- end
396
-
397
- @os_requirements = newvalue
398
-
399
- @need_to_update = true
400
- end
401
-
402
- # Remove the various large data
403
- # from the instance_variables used to create
404
- # pretty-print (pp) output.
405
- #
406
- # @return [Array] the desired instance_variables
407
- #
408
- def pretty_print_instance_variables
409
- vars = super
410
- vars.delete :@ppd_contents
411
- vars
412
- end
394
+ @need_to_update = true
395
+ end
413
396
 
397
+ # Remove the various large data
398
+ # from the instance_variables used to create
399
+ # pretty-print (pp) output.
400
+ #
401
+ # @return [Array] the desired instance_variables
402
+ #
403
+ def pretty_print_instance_variables
404
+ vars = super
405
+ vars.delete :@ppd_contents
406
+ vars
407
+ end
414
408
 
415
- ## Private Instance Methods
416
- #####################################
417
- private
418
-
419
- ### Return the xml for creating or updating this script in the JSS
420
- ###
421
- def rest_xml
422
- doc = REXML::Document.new
423
- printer = doc.add_element 'printer'
424
-
425
- printer.add_element('id').text = @id
426
- printer.add_element('name').text = @name
427
- printer.add_element('uri').text = @uri
428
- printer.add_element('CUPS_name').text = @CUPS_name
429
- printer.add_element('location').text = @location
430
- printer.add_element('model').text = @model
431
- printer.add_element('shared').text = @shared
432
- printer.add_element('info').text = @info
433
- printer.add_element('notes').text = @notes
434
- printer.add_element('make_default').text = @make_default
435
- printer.add_element('use_generic').text = @use_generic
436
- printer.add_element('ppd').text = @ppd
437
- printer.add_element('ppd_contents').text = @ppd_contents
438
- printer.add_element('ppd_path').text = @ppd_path
439
- printer.add_element('os_requirements').text = @os_requirements
440
- add_category_to_xml(doc)
441
-
442
- doc.to_s
409
+ ## Private Instance Methods
410
+ #####################################
411
+ private
443
412
 
444
- end
413
+ ### Return the xml for creating or updating this script in the JSS
414
+ ###
415
+ def rest_xml
416
+ doc = REXML::Document.new Jamf::Connection::XML_HEADER
417
+ doc.root.name = 'printer'
418
+ printer = doc.root
419
+
420
+ printer.add_element('id').text = @id
421
+ printer.add_element('name').text = @name
422
+ printer.add_element('uri').text = @uri
423
+ printer.add_element('CUPS_name').text = @CUPS_name
424
+ printer.add_element('location').text = @location
425
+ printer.add_element('model').text = @model
426
+ printer.add_element('shared').text = @shared
427
+ printer.add_element('info').text = @info
428
+ printer.add_element('notes').text = @notes
429
+ printer.add_element('make_default').text = @make_default
430
+ printer.add_element('use_generic').text = @use_generic
431
+ printer.add_element('ppd').text = @ppd
432
+ printer.add_element('ppd_contents').text = @ppd_contents
433
+ printer.add_element('ppd_path').text = @ppd_path
434
+ printer.add_element('os_requirements').text = @os_requirements
435
+ add_category_to_xml(doc)
436
+
437
+ doc.to_s
445
438
  end
439
+
440
+ end
441
+
446
442
  end