ruby-jss 4.1.1 → 4.2.0

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 (779) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +84 -1
  3. data/README-2.0.0.md +19 -8
  4. data/README.md +46 -33
  5. data/bin/cgrouper +1 -1
  6. data/bin/jamfHelperBackgrounder +1 -1
  7. data/bin/netseg-update +2 -2
  8. data/data/ruby-jss.conf.example +1 -1
  9. data/lib/jamf/api/classic/api_objects/account.rb +6 -7
  10. data/lib/jamf/api/classic/api_objects/advanced_computer_search.rb +1 -1
  11. data/lib/jamf/api/classic/api_objects/advanced_mobile_device_search.rb +2 -2
  12. data/lib/jamf/api/classic/api_objects/advanced_user_search.rb +2 -2
  13. data/lib/jamf/api/classic/api_objects/building.rb +6 -1
  14. data/lib/jamf/api/classic/api_objects/categorizable.rb +4 -1
  15. data/lib/jamf/api/classic/api_objects/category.rb +7 -2
  16. data/lib/jamf/api/classic/api_objects/computer.rb +1 -1
  17. data/lib/jamf/api/classic/api_objects/computer_extension_attribute.rb +1 -1
  18. data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -3
  19. data/lib/jamf/api/classic/api_objects/computer_invitation.rb +2 -5
  20. data/lib/jamf/api/classic/api_objects/creatable.rb +1 -1
  21. data/lib/jamf/api/classic/api_objects/criteriable/criteria.rb +7 -3
  22. data/lib/jamf/api/classic/api_objects/criteriable/criterion.rb +3 -1
  23. data/lib/jamf/api/classic/api_objects/criteriable.rb +2 -2
  24. data/lib/jamf/api/classic/api_objects/department.rb +2 -2
  25. data/lib/jamf/api/classic/api_objects/distribution_point.rb +9 -8
  26. data/lib/jamf/api/classic/api_objects/ebook.rb +1 -3
  27. data/lib/jamf/api/classic/api_objects/extendable.rb +1 -1
  28. data/lib/jamf/api/classic/api_objects/ibeacon.rb +2 -4
  29. data/lib/jamf/api/classic/api_objects/icon.rb +161 -161
  30. data/lib/jamf/api/classic/api_objects/ldap_server.rb +1 -1
  31. data/lib/jamf/api/classic/api_objects/locatable.rb +3 -3
  32. data/lib/jamf/api/classic/api_objects/mac_application.rb +1 -2
  33. data/lib/jamf/api/classic/api_objects/management_history/audit_event.rb +1 -1
  34. data/lib/jamf/api/classic/api_objects/management_history/casper_imaging_log.rb +1 -1
  35. data/lib/jamf/api/classic/api_objects/management_history/casper_remote_log.rb +1 -1
  36. data/lib/jamf/api/classic/api_objects/management_history/computer_usage_log.rb +1 -1
  37. data/lib/jamf/api/classic/api_objects/management_history/ebook.rb +1 -1
  38. data/lib/jamf/api/classic/api_objects/management_history/hash_like.rb +1 -3
  39. data/lib/jamf/api/classic/api_objects/management_history/mac_app_store_app.rb +1 -1
  40. data/lib/jamf/api/classic/api_objects/management_history/mdm_command.rb +1 -1
  41. data/lib/jamf/api/classic/api_objects/management_history/mobile_device_app.rb +1 -1
  42. data/lib/jamf/api/classic/api_objects/management_history/policy_log.rb +1 -1
  43. data/lib/jamf/api/classic/api_objects/management_history/screen_sharing_log.rb +1 -1
  44. data/lib/jamf/api/classic/api_objects/management_history/user_location_change.rb +1 -1
  45. data/lib/jamf/api/classic/api_objects/management_history.rb +14 -5
  46. data/lib/jamf/api/classic/api_objects/matchable.rb +6 -7
  47. data/lib/jamf/api/classic/api_objects/mdm.rb +1 -1
  48. data/lib/jamf/api/classic/api_objects/mobile_device.rb +1 -1
  49. data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +23 -2
  50. data/lib/jamf/api/classic/api_objects/mobile_device_configuration_profile.rb +1 -1
  51. data/lib/jamf/api/classic/api_objects/mobile_device_extension_attribute.rb +3 -3
  52. data/lib/jamf/api/classic/api_objects/mobile_device_group.rb +6 -7
  53. data/lib/jamf/api/classic/api_objects/netboot_server.rb +2 -5
  54. data/lib/jamf/api/classic/api_objects/network_segment.rb +7 -2
  55. data/lib/jamf/api/classic/api_objects/osx_configuration_profile.rb +3 -3
  56. data/lib/jamf/api/classic/api_objects/package.rb +37 -17
  57. data/lib/jamf/api/classic/api_objects/patch_external_source.rb +7 -2
  58. data/lib/jamf/api/classic/api_objects/patch_internal_source.rb +1 -1
  59. data/lib/jamf/api/classic/api_objects/patch_policy.rb +1 -1
  60. data/lib/jamf/api/classic/api_objects/patch_title/version.rb +1 -1
  61. data/lib/jamf/api/classic/api_objects/patch_title.rb +5 -4
  62. data/lib/jamf/api/classic/api_objects/peripheral.rb +35 -44
  63. data/lib/jamf/api/classic/api_objects/peripheral_type.rb +33 -39
  64. data/lib/jamf/api/classic/api_objects/policy.rb +1 -1
  65. data/lib/jamf/api/classic/api_objects/purchasable.rb +55 -47
  66. data/lib/jamf/api/classic/api_objects/removable_macaddr.rb +3 -4
  67. data/lib/jamf/api/classic/api_objects/restricted_software.rb +6 -2
  68. data/lib/jamf/api/classic/api_objects/scopable/scope.rb +16 -14
  69. data/lib/jamf/api/classic/api_objects/scopable.rb +1 -1
  70. data/lib/jamf/api/classic/api_objects/script.rb +18 -12
  71. data/lib/jamf/api/classic/api_objects/self_servable.rb +26 -8
  72. data/lib/jamf/api/classic/api_objects/sitable.rb +3 -1
  73. data/lib/jamf/api/classic/api_objects/site.rb +1 -2
  74. data/lib/jamf/api/classic/api_objects/software_update_server.rb +2 -4
  75. data/lib/jamf/api/classic/api_objects/updatable.rb +2 -1
  76. data/lib/jamf/api/classic/api_objects/uploadable.rb +1 -1
  77. data/lib/jamf/api/classic/api_objects/user.rb +25 -25
  78. data/lib/jamf/api/classic/api_objects/user_extension_attribute.rb +1 -1
  79. data/lib/jamf/api/classic/api_objects/user_group.rb +6 -8
  80. data/lib/jamf/api/classic/api_objects/vpp_account.rb +1 -1
  81. data/lib/jamf/api/classic/api_objects/vppable.rb +2 -2
  82. data/lib/jamf/api/classic/api_objects/web_hook.rb +12 -5
  83. data/lib/jamf/api/classic/base_classes/advanced_search.rb +6 -7
  84. data/lib/jamf/api/classic/base_classes/api_object.rb +10 -2
  85. data/lib/jamf/api/classic/base_classes/configuration_profile.rb +1 -1
  86. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -4
  87. data/lib/jamf/api/classic/base_classes/group.rb +5 -5
  88. data/lib/jamf/api/classic/base_classes/patch_source.rb +1 -1
  89. data/lib/jamf/api/classic/xml_workaround.rb +1 -1
  90. data/lib/jamf/api/connection/attributes.rb +1 -1
  91. data/lib/jamf/api/connection/cache.rb +1 -1
  92. data/lib/jamf/api/connection/classic_api.rb +1 -1
  93. data/lib/jamf/api/connection/connect.rb +1 -1
  94. data/lib/jamf/api/connection/constants.rb +1 -1
  95. data/lib/jamf/api/connection/default_connection.rb +1 -1
  96. data/lib/jamf/api/connection/jamf_pro_api.rb +29 -3
  97. data/lib/jamf/api/connection/jamf_pro_api_error.rb +5 -5
  98. data/lib/jamf/api/connection/token.rb +1 -1
  99. data/lib/jamf/api/connection.rb +1 -1
  100. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +5 -6
  101. data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +1 -1
  102. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +4 -1
  103. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +2 -2
  104. data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +1 -1
  105. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +1 -1
  106. data/lib/jamf/api/jamf_pro/api_objects/{jp_building.rb → j_building.rb} +5 -2
  107. data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +912 -0
  108. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates/plan.rb +237 -0
  109. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates.rb +291 -0
  110. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +1 -1
  111. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +12 -4
  112. data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +1 -1
  113. data/lib/jamf/api/jamf_pro/mixins/change_log.rb +1 -1
  114. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +24 -10
  115. data/lib/jamf/api/jamf_pro/mixins/computer_recovery_lock.rb +1 -1
  116. data/lib/jamf/api/jamf_pro/mixins/filevault.rb +1 -1
  117. data/lib/jamf/api/jamf_pro/mixins/filterable.rb +9 -3
  118. data/lib/jamf/api/jamf_pro/mixins/immutable.rb +2 -1
  119. data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +18 -5
  120. data/lib/jamf/api/jamf_pro/mixins/lockable.rb +2 -2
  121. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +3 -1
  122. data/lib/jamf/api/jamf_pro/mixins/macos_redeploy_mgmt_framework.rb +1 -1
  123. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +4 -1
  124. data/lib/jamf/api/jamf_pro/mixins/sortable.rb +1 -1
  125. data/lib/jamf/api/jamf_pro/mixins/uncreatable.rb +1 -1
  126. data/lib/jamf/api/jamf_pro/mixins/undeletable.rb +1 -1
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -1
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -1
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +7 -9
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +7 -9
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -1
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +2 -6
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +3 -7
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +6 -8
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +2 -6
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +2 -6
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +3 -7
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +1 -1
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -1
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -1
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +1 -1
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +2 -6
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +2 -2
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +2 -6
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +2 -6
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +2 -2
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +2 -2
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +2 -2
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +2 -2
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +2 -2
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +2 -2
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +2 -2
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +2 -2
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +2 -2
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +2 -2
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +2 -2
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +2 -2
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +2 -2
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +2 -2
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +2 -2
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +2 -2
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +2 -2
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +2 -2
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -2
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -2
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +2 -2
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +1 -1
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +1 -1
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +2 -2
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +2 -2
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +2 -2
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +2 -2
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +2 -2
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +2 -2
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +2 -2
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +2 -2
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +2 -2
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v3.rb +2 -6
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +1 -1
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +2 -2
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -2
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +3 -10
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -1
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +2 -2
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +2 -2
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +2 -2
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -2
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -2
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +6 -8
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +2 -6
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +3 -7
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +2 -6
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +2 -6
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +3 -7
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +2 -6
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +3 -7
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +2 -2
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +9 -3
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +2 -2
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v3.rb +1 -6
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -6
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +2 -2
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +2 -6
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -1
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +2 -6
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -3
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -1
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -1
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +10 -12
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +2 -6
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +29 -19
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/{venafi_service_status.rb → managed_software_update_plan_event_store.rb} +11 -9
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +2 -2
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +2 -2
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +2 -2
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +9 -2
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +2 -2
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +2 -2
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +2 -2
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +21 -22
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +2 -2
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -1
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -1
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +2 -6
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +2 -7
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/o_auth_client_credentials.rb +3 -7
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +3 -7
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +2 -6
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/package.rb +1 -1
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/packages_search_results.rb +1 -1
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +12 -3
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +2 -2
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +2 -2
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +2 -2
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +2 -2
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +2 -2
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +3 -2
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +2 -7
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -1
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -1
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -1
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +2 -6
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +3 -7
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +2 -7
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +2 -7
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +3 -7
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +1 -1
  248. data/lib/jamf/api/jamf_pro/oapi_schemas.rb +25 -2
  249. data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +1 -1
  250. data/lib/jamf/api/jamf_pro/other_classes/ip_address.rb +2 -3
  251. data/lib/jamf/api/jamf_pro/other_classes/pager.rb +1 -1
  252. data/lib/jamf/api/jamf_pro/other_classes/timestamp.rb +1 -1
  253. data/lib/jamf/base_class.rb +1 -1
  254. data/lib/jamf/client/jamf_binary.rb +1 -1
  255. data/lib/jamf/client/jamf_helper.rb +1 -1
  256. data/lib/jamf/client/management_action.rb +1 -1
  257. data/lib/jamf/client.rb +5 -1
  258. data/lib/jamf/composer.rb +115 -107
  259. data/lib/jamf/configuration.rb +137 -138
  260. data/lib/jamf/constants.rb +1 -1
  261. data/lib/jamf/db_connection.rb +13 -19
  262. data/lib/jamf/deprecations/deprecated_api_connection_class.rb +1 -1
  263. data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
  264. data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
  265. data/lib/jamf/deprecations.rb +1 -1
  266. data/lib/jamf/exceptions.rb +2 -2
  267. data/lib/jamf/oapi_validate.rb +2 -1
  268. data/lib/jamf/ruby_extensions/array/predicates.rb +1 -1
  269. data/lib/jamf/ruby_extensions/array/utils.rb +1 -1
  270. data/lib/jamf/ruby_extensions/array.rb +1 -1
  271. data/lib/jamf/ruby_extensions/filetest/predicates.rb +1 -1
  272. data/lib/jamf/ruby_extensions/filetest.rb +1 -1
  273. data/lib/jamf/ruby_extensions/hash/utils.rb +2 -2
  274. data/lib/jamf/ruby_extensions/hash.rb +1 -1
  275. data/lib/jamf/ruby_extensions/ipaddr/utils.rb +11 -13
  276. data/lib/jamf/ruby_extensions/ipaddr.rb +1 -1
  277. data/lib/jamf/ruby_extensions/object/predicates.rb +1 -1
  278. data/lib/jamf/ruby_extensions/object.rb +1 -1
  279. data/lib/jamf/ruby_extensions/pathname/predicates.rb +1 -1
  280. data/lib/jamf/ruby_extensions/pathname/utils.rb +1 -1
  281. data/lib/jamf/ruby_extensions/pathname.rb +1 -1
  282. data/lib/jamf/ruby_extensions/string/conversions.rb +1 -1
  283. data/lib/jamf/ruby_extensions/string/predicates.rb +1 -1
  284. data/lib/jamf/ruby_extensions/string.rb +1 -1
  285. data/lib/jamf/ruby_extensions/time/utils.rb +2 -3
  286. data/lib/jamf/ruby_extensions/time.rb +1 -1
  287. data/lib/jamf/ruby_extensions.rb +1 -1
  288. data/lib/jamf/utility.rb +1 -1
  289. data/lib/jamf/validate.rb +1 -1
  290. data/lib/jamf/version.rb +2 -2
  291. data/lib/jamf/zeitwerk_config.rb +1 -1
  292. data/lib/jamf.rb +1 -1
  293. data/lib/jss-api.rb +1 -1
  294. data/lib/jss.rb +1 -1
  295. data/lib/ruby-jss.rb +1 -1
  296. data/test/bin/runtests +3 -3
  297. data/test/lib/jamf_test/APITest.rb +7 -6
  298. data/test/lib/jamf_test/advanced_search.rb +1 -2
  299. data/test/lib/jamf_test/auth.rb +1 -1
  300. data/test/lib/jamf_test/collection_tests.rb +13 -5
  301. data/test/lib/jamf_test/prestage_tests.rb +1 -1
  302. data/test/lib/jamf_test.rb +1 -1
  303. data/test/tests/advanced_computer_search.rb +1 -1
  304. data/test/tests/advanced_mobile_device_search.rb +1 -1
  305. data/test/tests/advanced_user_search.rb +1 -1
  306. data/test/tests/building.rb +1 -1
  307. data/test/tests/category.rb +1 -1
  308. data/test/tests/computer.rb +1 -1
  309. data/test/tests/computer_group.rb +30 -14
  310. data/test/tests/computer_prestage.rb +1 -1
  311. data/test/tests/department.rb +1 -1
  312. data/test/tests/device_enrollment.rb +4 -2
  313. data/test/tests/inventory_preload_record.rb +1 -1
  314. data/test/tests/{jp_building.rb → j_building.rb} +3 -3
  315. data/test/tests/j_package.rb +47 -0
  316. data/test/tests/mobile_device.rb +1 -1
  317. data/test/tests/mobile_device_prestage.rb +1 -2
  318. data/test/tests/policy.rb +1 -1
  319. metadata +9 -465
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +0 -90
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +0 -90
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +0 -159
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/account_driven_user_enrollment_session_token_settings.rb +0 -97
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +0 -107
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_search_type.rb +0 -105
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_user_interface_display_theme.rb +0 -88
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +0 -142
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v5.rb +0 -299
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/activation_code.rb +0 -86
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +0 -117
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +0 -83
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +0 -91
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +0 -117
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +0 -91
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_privileges.rb +0 -87
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +0 -87
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/app_config_reinstall_code.rb +0 -82
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +0 -90
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +0 -115
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +0 -91
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +0 -104
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +0 -87
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +0 -87
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/assignment.rb +0 -88
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +0 -100
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +0 -159
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +0 -88
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +0 -90
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +0 -105
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/available_os_updates.rb +0 -82
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +0 -94
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +0 -92
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +0 -92
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +0 -156
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +0 -160
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +0 -152
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +0 -138
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +0 -86
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +0 -150
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +0 -91
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +0 -104
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +0 -92
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +0 -112
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +0 -89
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +0 -146
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/change_password.rb +0 -94
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +0 -168
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/clear_restrictions_password_command.rb +0 -77
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +0 -134
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_distribution_point_upload_capability.rb +0 -88
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +0 -108
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +0 -97
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +0 -108
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +0 -170
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +0 -83
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +0 -102
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +0 -103
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +0 -101
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +0 -101
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +0 -157
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +0 -154
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +0 -154
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_response.rb +0 -88
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/compliance_vendor_device_information.rb +0 -84
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +0 -124
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_group.rb +0 -97
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +0 -106
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +0 -177
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +0 -108
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault_search_results.rb +0 -90
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +0 -84
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +0 -90
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +0 -124
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +0 -93
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +0 -82
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +0 -194
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +0 -91
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +0 -129
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +0 -91
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +0 -101
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +0 -90
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +0 -123
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +0 -123
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +0 -85
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +0 -109
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +0 -87
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +0 -83
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +0 -97
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/credentials.rb +0 -129
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +0 -96
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +0 -160
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +0 -97
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_api_error.rb +0 -95
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_item.rb +0 -131
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup.rb +0 -89
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup_task.rb +0 -87
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +0 -87
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +0 -86
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +0 -92
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/declarative_management_command.rb +0 -82
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +0 -93
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +0 -98
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +0 -91
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +0 -129
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +0 -91
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/details_v2.rb +0 -264
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +0 -128
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +0 -123
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +0 -83
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +0 -215
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/device_information_command.rb +0 -83
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +0 -87
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/dock_item.rb +0 -124
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/download_url.rb +0 -83
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +0 -152
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +0 -137
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +0 -97
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +0 -170
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +0 -90
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +0 -93
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +0 -88
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +0 -141
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +0 -132
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +0 -106
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +0 -111
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +0 -85
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +0 -93
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +0 -87
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +0 -89
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +0 -121
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +0 -83
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +0 -113
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +0 -112
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +0 -90
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +0 -90
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +0 -116
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method_prestage.rb +0 -87
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +0 -346
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +0 -278
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v3.rb +0 -246
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v4.rb +0 -264
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_sso_config.rb +0 -91
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/erase_device_command.rb +0 -120
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +0 -91
  465. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +0 -133
  466. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +0 -116
  467. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +0 -91
  468. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +0 -89
  469. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +0 -83
  470. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +0 -89
  471. data/lib/jamf/api/jamf_pro/oapi_schemas/file_data.rb +0 -117
  472. data/lib/jamf/api/jamf_pro/oapi_schemas/file_transfer_item.rb +0 -100
  473. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +0 -90
  474. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +0 -104
  475. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +0 -87
  476. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +0 -89
  477. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +0 -93
  478. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +0 -93
  479. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +0 -93
  480. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +0 -105
  481. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +0 -138
  482. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +0 -106
  483. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +0 -83
  484. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +0 -89
  485. data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_connection.rb +0 -127
  486. data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_connection_update.rb +0 -114
  487. data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_keystore.rb +0 -117
  488. data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_test_response.rb +0 -96
  489. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +0 -151
  490. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +0 -194
  491. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +0 -91
  492. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +0 -88
  493. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +0 -101
  494. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +0 -133
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +0 -103
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +0 -94
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +0 -113
  498. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device.rb +0 -680
  499. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device_search_results.rb +0 -90
  500. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +0 -123
  501. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +0 -89
  502. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +0 -105
  503. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +0 -86
  504. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +0 -87
  505. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +0 -90
  506. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +0 -88
  507. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +0 -248
  508. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +0 -92
  509. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +0 -129
  510. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +0 -90
  511. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +0 -95
  512. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +0 -107
  513. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +0 -124
  514. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information_v2.rb +0 -124
  515. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +0 -85
  516. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +0 -82
  517. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +0 -125
  518. data/lib/jamf/api/jamf_pro/oapi_schemas/jcds_properties.rb +0 -94
  519. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +0 -94
  520. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_account_management_history.rb +0 -123
  521. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_account_management_history_response.rb +0 -90
  522. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit.rb +0 -90
  523. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit_v2.rb +0 -90
  524. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history.rb +0 -114
  525. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history_response.rb +0 -92
  526. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits.rb +0 -107
  527. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits_v2.rb +0 -107
  528. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results.rb +0 -90
  529. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results_v2.rb +0 -92
  530. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response.rb +0 -84
  531. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response_v2.rb +0 -86
  532. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation.rb +0 -88
  533. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation_response.rb +0 -90
  534. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request.rb +0 -100
  535. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request_v2.rb +0 -108
  536. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response.rb +0 -99
  537. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response_v2.rb +0 -106
  538. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user.rb +0 -105
  539. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password.rb +0 -90
  540. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request.rb +0 -84
  541. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request_v2.rb +0 -84
  542. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response.rb +0 -83
  543. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response_v2.rb +0 -83
  544. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_v2.rb +0 -90
  545. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results.rb +0 -90
  546. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results_v2.rb +0 -90
  547. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_v2.rb +0 -106
  548. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +0 -99
  549. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +0 -101
  550. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +0 -99
  551. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +0 -107
  552. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +0 -92
  553. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +0 -94
  554. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +0 -126
  555. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +0 -89
  556. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +0 -88
  557. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +0 -124
  558. data/lib/jamf/api/jamf_pro/oapi_schemas/log_out_user_command.rb +0 -77
  559. data/lib/jamf/api/jamf_pro/oapi_schemas/login_content.rb +0 -107
  560. data/lib/jamf/api/jamf_pro/oapi_schemas/login_content_put.rb +0 -101
  561. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +0 -118
  562. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +0 -90
  563. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +0 -84
  564. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +0 -90
  565. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +0 -109
  566. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_base.rb +0 -82
  567. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +0 -87
  568. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client_request.rb +0 -81
  569. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +0 -87
  570. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_results.rb +0 -89
  571. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +0 -89
  572. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +0 -98
  573. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +0 -84
  574. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +0 -90
  575. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +0 -88
  576. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +0 -114
  577. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +0 -100
  578. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application_inventory_detail.rb +0 -123
  579. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +0 -90
  580. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate.rb +0 -94
  581. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +0 -147
  582. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +0 -83
  583. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +0 -295
  584. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +0 -93
  585. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook_inventory_detail.rb +0 -105
  586. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute.rb +0 -125
  587. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +0 -83
  588. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_general.rb +0 -216
  589. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +0 -96
  590. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_hardware.rb +0 -160
  591. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory.rb +0 -136
  592. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory_search_results.rb +0 -91
  593. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_general.rb +0 -191
  594. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_inventory.rb +0 -134
  595. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_lost_mode_location.rb +0 -118
  596. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_network.rb +0 -180
  597. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +0 -136
  598. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +0 -94
  599. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +0 -118
  600. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +0 -90
  601. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_profile.rb +0 -112
  602. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_provisioning_profiles.rb +0 -95
  603. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_purchasing.rb +0 -157
  604. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_response.rb +0 -74
  605. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +0 -90
  606. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_section.rb +0 -100
  607. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_security.rb +0 -178
  608. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_service_subscriptions.rb +0 -173
  609. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_shared_user.rb +0 -93
  610. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_general.rb +0 -93
  611. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_inventory.rb +0 -94
  612. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_and_location.rb +0 -142
  613. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_profile.rb +0 -118
  614. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +0 -160
  615. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_watch_os_general.rb +0 -112
  616. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_watch_os_inventory.rb +0 -94
  617. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +0 -179
  618. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +0 -96
  619. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +0 -147
  620. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +0 -96
  621. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +0 -141
  622. data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_configuration.rb +0 -101
  623. data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_eligible_item.rb +0 -104
  624. data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_eligible_items_search_result.rb +0 -94
  625. data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_item.rb +0 -140
  626. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +0 -148
  627. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +0 -131
  628. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policies.rb +0 -89
  629. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_detail.rb +0 -190
  630. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_details.rb +0 -89
  631. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_list_view.rb +0 -142
  632. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail.rb +0 -102
  633. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail_action.rb +0 -94
  634. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_eligible_retry_count.rb +0 -82
  635. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_retry.rb +0 -83
  636. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_v2.rb +0 -133
  637. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_logs.rb +0 -89
  638. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_v2_on_dashboard.rb +0 -82
  639. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration.rb +0 -94
  640. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_base.rb +0 -163
  641. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_definition_kill_app.rb +0 -81
  642. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependencies.rb +0 -89
  643. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependency.rb +0 -87
  644. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_extension_attributes.rb +0 -89
  645. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_patch.rb +0 -126
  646. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definition.rb +0 -118
  647. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definitions.rb +0 -89
  648. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_extension_attributes.rb +0 -101
  649. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_packages.rb +0 -94
  650. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report.rb +0 -130
  651. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report_search_result.rb +0 -89
  652. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary.rb +0 -125
  653. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary_version.rb +0 -94
  654. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +0 -87
  655. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +0 -90
  656. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +0 -91
  657. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +0 -91
  658. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +0 -85
  659. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +0 -85
  660. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +0 -93
  661. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +0 -95
  662. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +0 -95
  663. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +0 -84
  664. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +0 -93
  665. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +0 -109
  666. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +0 -113
  667. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +0 -98
  668. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +0 -98
  669. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +0 -92
  670. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +0 -100
  671. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +0 -141
  672. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +0 -83
  673. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +0 -153
  674. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +0 -91
  675. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +0 -82
  676. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +0 -92
  677. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +0 -117
  678. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +0 -107
  679. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +0 -90
  680. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +0 -82
  681. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +0 -95
  682. data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration.rb +0 -100
  683. data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration_request.rb +0 -92
  684. data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration_search_results.rb +0 -91
  685. data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_app.rb +0 -89
  686. data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_job.rb +0 -89
  687. data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_jobs.rb +0 -83
  688. data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_summary.rb +0 -100
  689. data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_trigger.rb +0 -95
  690. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +0 -193
  691. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +0 -91
  692. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +0 -130
  693. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +0 -92
  694. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +0 -122
  695. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +0 -113
  696. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +0 -100
  697. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +0 -82
  698. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +0 -108
  699. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +0 -175
  700. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +0 -90
  701. data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item.rb +0 -145
  702. data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item_details.rb +0 -82
  703. data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item_with_details.rb +0 -153
  704. data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_search_results.rb +0 -91
  705. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +0 -98
  706. data/lib/jamf/api/jamf_pro/oapi_schemas/set_auto_admin_password_command.rb +0 -92
  707. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +0 -83
  708. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +0 -166
  709. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_compliance_feature_toggle.rb +0 -83
  710. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +0 -87
  711. data/lib/jamf/api/jamf_pro/oapi_schemas/shut_down_device_command.rb +0 -77
  712. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +0 -93
  713. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +0 -90
  714. data/lib/jamf/api/jamf_pro/oapi_schemas/site_object.rb +0 -150
  715. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +0 -118
  716. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_basic_credentials.rb +0 -91
  717. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_connection_settings.rb +0 -113
  718. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_graph_api_credentials.rb +0 -98
  719. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_sender_settings.rb +0 -88
  720. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server.rb +0 -158
  721. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server_test.rb +0 -83
  722. data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server_v2.rb +0 -127
  723. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration_on_dashboard.rb +0 -82
  724. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +0 -88
  725. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_failover_data.rb +0 -93
  726. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +0 -128
  727. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +0 -130
  728. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +0 -107
  729. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +0 -103
  730. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +0 -120
  731. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +0 -93
  732. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +0 -93
  733. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +0 -85
  734. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings_v1.rb +0 -253
  735. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings_v2.rb +0 -253
  736. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +0 -197
  737. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group.rb +0 -94
  738. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_assignment.rb +0 -105
  739. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_search_results.rb +0 -90
  740. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_summary.rb +0 -101
  741. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +0 -91
  742. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +0 -107
  743. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +0 -100
  744. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +0 -91
  745. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +0 -90
  746. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +0 -83
  747. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +0 -105
  748. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +0 -108
  749. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +0 -122
  750. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +0 -87
  751. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +0 -107
  752. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +0 -141
  753. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +0 -83
  754. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +0 -81
  755. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +0 -137
  756. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +0 -88
  757. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +0 -193
  758. data/lib/jamf/api/jamf_pro/oapi_schemas/user_preferences_settings.rb +0 -100
  759. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_attributes.rb +0 -117
  760. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +0 -112
  761. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +0 -83
  762. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +0 -89
  763. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +0 -148
  764. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +0 -87
  765. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +0 -90
  766. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +0 -90
  767. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +0 -87
  768. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +0 -154
  769. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content_list.rb +0 -89
  770. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +0 -86
  771. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +0 -184
  772. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +0 -111
  773. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +0 -114
  774. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +0 -89
  775. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +0 -86
  776. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +0 -127
  777. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +0 -89
  778. data/lib/jamf/api/jamf_pro/oapi_schemas/watch_os_details_v2.rb +0 -201
  779. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +0 -87
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0df8e9b794ba674f60a7a224e9f7b9ae166d6ef5ff39435920e17460412a770
4
- data.tar.gz: afef3a2acddf6588525facb25eb3273a1e96c02a5d3b2c57771cd951bf8fc0d6
3
+ metadata.gz: 19c9e79713c2ae52e27acf1baaecdf03446328ebce206b0d4a6d6c995d98e0cf
4
+ data.tar.gz: b05700b3f5e07771b257af10da6b73cf44334916cbdc0442d9d7aca539518af9
5
5
  SHA512:
6
- metadata.gz: fbd69adff24c3b718c0711042a36162f92f5f399081239c6d1f4919daf4fa978980a6a424a9cdc87e0635beafa04368f8eba71991fdef1d999ce799c8433db62
7
- data.tar.gz: eae8268d15ecdd23d0f88039e6329a5d298e570716a3abfe552fc861bc403583b8402066379f2e5bd3c3e36f0ebf2eea543aa9bed0c9f34f18394d8473a8910d
6
+ metadata.gz: d400c1033d40a4128d5021e21f3fd367158caf2ed176108bf912198f76f4669bfd3500b26e0677279a9d87c65dc69974fe636588d100256f64a79315d64747b0
7
+ data.tar.gz: 631190601b377d45d1cb1ba80ec54decf662f7b6223d311f6b6e3a73dfea5731b86bac7d5046d47a6364395a3abb5b4ef4c1b1add424868da917ed037152fa8c
data/CHANGES.md CHANGED
@@ -14,6 +14,90 @@ __Please update all installations of ruby-jss to at least v1.6.0.__
14
14
 
15
15
  Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue and providing examples of how it could be exploited.
16
16
 
17
+ --------
18
+ ## \[4.2.0] 2025-06-11
19
+
20
+ ### Moving forward with the Jamf Pro API
21
+ With this release, we begin the long process of porting existing classes from the Classic API to the Jamf Pro API where possible, starting with `Jamf::Package`. So far, our implementation of classes from the Jamf Pro API has been limited to those not already implemented via the Classic API.
22
+
23
+ However, because of our stated goals and changes for implementing things in the Jamf Pro API (see [README-2.0.0.md](README-2.0.0.md)), we can't just change the existing classes without breaking lots of code. For example, in order to eliminate various 'hidden permissions requirements' and adhere more closely to the actual API, we're [eliminating cross-object validation](README-2.0.0.md#cross-object-validation-in-setters).
24
+
25
+ For Packages this means that when setting the categoryId, for example, you must provide an id, not a category name. In the existing `Jamf::Package` class using the Classic API, you could provide a name, and ruby-jss would look at the categories in the API and validate/convert to an id. This required 'undocumented' permissions to see the category endpoints when working with the package endpoints. NOTE: if you have read-permissions on categories, you can still use the `Jamf::Category.valid_id` method to convert from names to ids yourself. That method is available for all collection classes in both APIs.
26
+
27
+ In order to move forward with Jamf Pro-based classes, while providing reasonable backward compatibility, here's the plan:
28
+
29
+ - For each class being migrated, and new class, prepended with `J` will be created. So for accessing packages via the Jamf Pro API, we are introducing the class `Jamf::JPackage`. We've had an experimental Jamf Pro version of Jamf::JpBuilding for a while, and it has been renamed to `Jamf::JBuilding`
30
+ - The original Classic API-based class will be marked as deprecated when the matching J-class is released.
31
+ - The deprecated classes will exist for at least one year (probably longer) but will get few, if any, updates, mostly limited to security-related fixes. As of this release, `Jamf::Package` and `Jamf::Building` are deprecated.
32
+ - During the deprecation period, please update all your code to use the new Jamf Pro API-based classes.
33
+ - When the older Classic API-based class is actually removed, the remaining Jamf Pro API-based class will be aliased back to the original name, without the `J`. So at that point `Jamf::Package` and `Jamf::JPackage` will be the same class. At this time please start updating your code to use the non-J version of the class name.
34
+ - After some long-ish period of time (2-5 years?), the `J` version of the class name will be removed. Or - maybe not! Aliases are cheap :-)
35
+
36
+ If you have thoughts or comments on this, please reach out:
37
+ - [Open an issue on github](https://github.com/PixarAnimationStudios/ruby-jss/issues)
38
+ - [Email us at ruby-jss@pixar.com](mailto:ruby-jss@pixar.com)
39
+ - Join the conversation in the [#ruby-jss Macadmins Slack Channel](https://macadmins.slack.com/archives/C03C7F563MK)
40
+
41
+ ### Added
42
+
43
+ - `Jamf::JPackage`: The first major migration of a class from the Classic to the Jamf Pro API.
44
+ - Implements the /v1/packages endpoints
45
+ - Support for manifests
46
+ - Support for uploads to the /v1/packages/{id}/upload endpoint via the `#upload` method
47
+ - Implements the /v1/deploy-package endpoint via the `#deploy_via_mdm` instance method. For this to work:
48
+ - The endpoint must be enabled - contact Jamf Support.
49
+ - The package must have a manifest
50
+ - The .pkg file must be a "Product Archive", e.g. it must contain a 'Distribution' file, as when created with the `productbuild` command. Component packages created with `pkgbuild` will not work.
51
+ - The .pkg file must be signed.
52
+
53
+ - Collection Resource classes from the Jamf Pro API can now define a constant OBJECT_NAME_ATTR, which indicates the attribute that holds the individual object's name, if that isn't "name".
54
+
55
+ For example, Computer and MobileDevice prestage objects, the name is in the "displayName" attribute. For JPackages via the Jamf Pro API, the package object's name (not its file name) is in the "packageName" object.
56
+
57
+ When the OBJECT_NAME_ATTR is defined, the class can use "name" as a alias of the OBJECT_NAME_ATTR with getters & setters (`name=` is an alias of `displayName=`, etc) and can be used for .fetch and .valid_id: `Jamf::JPackage.fetch name: 'foo'` is the same as `Jamf::JPackage.fetch packageName: 'foo'`
58
+
59
+ For some objects this isn't relevant, e.g. Inventory Preload Records, but for JPAPI that use variations on the word 'name' for the objects actual name, this will help normalize things, and keep better compatility with objects from the Classic API, which all use 'name'.
60
+
61
+ - `Jamf::ManagedSoftwareUpdates` This module replaces the deprecated MacOSManagedUpdates class, giving access to the `v1/managed-software-updates` endpoints for creating and querying Software Update plans and their statuses. This code is preliminary and provides basic access. It will probably be enhanced in the future.
62
+
63
+ See the `Jamf::ManagedSoftwareUpdates.send_managed_sw_update` and `Jamf::ManagedSoftwareUpdates.status` module methods, and the `Jamf::ManagedSoftwareUpdates::Plan` class,
64
+
65
+
66
+ ### Changed
67
+ - `Jamf::JpBuilding` is now known as `Jamf::JBuilding`
68
+
69
+ ### Fixed
70
+ - [Github issue #102](https://github.com/PixarAnimationStudios/ruby-jss/issues/102): Apply redundant boolean value to indicate that a MobileDeviceApplication is/is not in Self Service. Thanks @carolinebeauchamp!
71
+
72
+ - [Github #103](https://github.com/PixarAnimationStudios/ruby-jss/pull/103) Fixed and issue where linking a mobile device application to VPP failed as the vpp_admin_account_id wasn't included in the XML. Thanks @carolinebeauchamp!
73
+
74
+ - [Github #104](https://github.com/PixarAnimationStudios/ruby-jss/pull/104) Add allow_user_to_delete attribute. Thanks @carolinebeauchamp!
75
+
76
+ - [Github #105](https://github.com/PixarAnimationStudios/ruby-jss/pull/105) Fix configuration preferences in MobileDeviceApplication. Thanks @carolinebeauchamp!
77
+
78
+ - Some lingering method parameter fixes for ruby 3.x compatibility
79
+
80
+ - Fix for `Jamf::Group#remove_member`
81
+
82
+ - Fixes for `Jamf::Scopable::Scope#set_exclusions`, `#set_limitations` and more.
83
+
84
+ - Fix to ensure passing correct connection object when fetching.
85
+
86
+ - Fix for `CollectionResource.valid_id` for JP API objects, it now works when given an identifier and value, eg `SomeClass.valid_id displayName: 'foobar'`
87
+
88
+ ### Deprecated
89
+ - `Jamf::Package` and `Jamf::Building` are now deprecated amd will be removed in a future release. Please update your code to use `Jamf::JBuilding` and `Jamf::JPackage`
90
+
91
+ - Auto-generated OAPISchemas are no longer used _directly_. There's still too much inconsistency and other problems that arise from using them as we were. See the NOTE from the previous release.
92
+
93
+ For the forseeable future we'll keep the overall structure of the class/mixin hierarchy, and will probably use auto-generated classes as a starting point, but as new classes are added to ruby-jss via the Jamf Pro API, the `OAPISchemas` classes will be hand-built and maintained as needed, just like APIObject classes always have been for objects in the Classic API.
94
+
95
+ To start with, we're keeping the ones currently in use (about 40 of them) where they've always lived, in the `lib/jamf/api/jamf_pro/oapi_schemas` directory, and the new bespoke ones will go there also. The other ~550 unused auto-generated classes have been removed from ruby-jss.
96
+
97
+ For details about how the've been auto-generated, see the `generate_object_models` tool in the bin directory.
98
+
99
+ - `Jamf::MacOSManagedUpdates` This endpoint has been deprecated by Jamf, and replaced with the more broad, and future-proof `Jamf::ManagedSoftwareUpdates` module.
100
+
17
101
  --------
18
102
  ## \[4.1.1] 2024-06-25
19
103
 
@@ -29,7 +113,6 @@ Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue an
29
113
  - A bug in Jamf::PatchTitle which prevented use of non-default connection objects.
30
114
 
31
115
  - Some ObjectModel classes from the OAPI3 schema were not getting generated, causing problems when using Zeitwerk's `eager_load`. Thanks to @j-o-lantern0422 and @jcruce13 for reporting the issue, and @nick-f for providing a fix!
32
-
33
116
 
34
117
  NOTE: Given the nature of this issue, along with known inconsistencies in the data structures and naming of items in the OAPI3 schema, plus the fact that we're starting to migrate to the JP API for more complex object handling (e.g. `Jamf::MobileDevice`) we're probably going to stop using the auto-generated `Jamf::OAPISchemas` classes - at least in the way we have been using them. Most likely we'll still generate them, but then hand-edit them to create more robust, bespoke classes for the items we implement (as we did in the Classic API), and only include those required for the objects implemented. These changes shouldn't affect compatibility. Feedback is welcome, via GitHub or The [#ruby-jss channel in Macadmins Slack](https://macadmins.slack.com/archives/C03C7F563MK)
35
118
 
data/README-2.0.0.md CHANGED
@@ -34,7 +34,7 @@ These changes have been in mind for some time, but the requirement in late 2022
34
34
  - [The valid_id method for Classic API collection classes](#the-valid_id-method-for-classic-api-collection-classes)
35
35
  - [Planned deprecations](#planned-deprecations)
36
36
  - [Use of the term 'api'](#use-of-the-term-api)
37
- - [.map_all_ids_to method for Classic API collection classes](#map_all_ids_to-method-for-classic-api-collection-classes)
37
+ - [map_all_ids_to method for Classic API collection classes](#map_all_ids_to-method-for-classic-api-collection-classes)
38
38
  - [Using .make, #create, and #update for Classic API objects](#using-make-create-and-update-for-classic-api-objects)
39
39
  - [JSS::CONFIG](#jssconfig)
40
40
  - [Jamf::Connection instance methods #next_refresh, #secs_to_refresh, & #time_to_refresh](#jamfconnection-instance-methods-next_refresh-secs_to_refresh---time_to_refresh)
@@ -76,7 +76,7 @@ The announcement with Jamf Pro 10.35 that the Classic API can use, and will even
76
76
 
77
77
  #### A single Connection class
78
78
 
79
- There is now one `Jamf::Connection` class, instances of which are connections to a Jamf Pro server. Once connected, the connection instance maintains connections to _both_ APIs and other classes use them as needed. As before, there are low-level methods available for sending HTTP requests manually, which are specific to each API. See the documentation for `Jamf::Connection` (link TBA) for details.
79
+ There is now one `Jamf::Connection` class, instances of which are connections to a Jamf Pro server. Once connected, the connection instance maintains connections to _both_ APIs and other classes use them as needed. As before, there are low-level methods available for sending HTTP requests manually, which are specific to each API. See the documentation for [Jamf::Connection](https://www.rubydoc.info/gems/ruby-jss/Jamf/Connection) for details.
80
80
 
81
81
  ##### Connecting to the API
82
82
 
@@ -91,7 +91,7 @@ Other connection parameters can be passed in as normal.
91
91
 
92
92
  ###### The default connection
93
93
 
94
- The top-level module methods for accessing the 'default' connection are still available and are now synonyms: `Jamf.cnx` and `JSS.api` both return the current default Jamf::Connection instance. There is also a top-level methods`Jamf.connect` which is the same as `Jamf.cnx.connect`. The top-level methods for changing the default connection are still there.
94
+ The top-level module methods for accessing the 'default' connection are still available and are now synonyms: `Jamf.cnx` and `JSS.api` both return the current default Jamf::Connection instance. There is also a top-level method`Jamf.connect` which is the same as `Jamf.cnx.connect`. The top-level methods for changing the default connection are still there.
95
95
 
96
96
  NOTE: The use of `JSS::API` has been deprecated for years now, and still is (see below).
97
97
 
@@ -118,6 +118,13 @@ The `.all` method, and its relatives like `.all_ids`, `.all_names`, etc. exist f
118
118
  To confirm which API a class comes from, just look at its `API_SOURCE` constant, e.g. `Jamf::Computer::API_SOURCE`. This constant will return a symbol, either `:classic` or `:jamf_pro`
119
119
 
120
120
  ### Automatic code generation
121
+ ---
122
+ **UPDATE**
123
+
124
+ As of version 4.2.0, the auto-generated class definitions will only be used as a starting point for more bespoke, hand-maintained classes. This is due to ongoing inconsistencies across the Jamf Pro API, and occasional name-clashes.
125
+ See the Deprecations section for version 4.2.0 in the [CHANGES](CHANGES.md) file for a longer explaination.
126
+
127
+ ---
121
128
 
122
129
  While the Classic API classes in ruby-jss are very hand-built and must be manually edited to add access to new data, the Jamf Pro API has an OpenAPI3 specification - a JSON document that fully describes the entire API and what it can do.
123
130
 
@@ -133,7 +140,7 @@ If you develop ruby-jss, please see (documentation link will go here) for more i
133
140
 
134
141
  ### Autoloading with Zeitwerk
135
142
 
136
- Because the classes generated from the OAPI spec number in the hundreds, it's a waste of memory and time to load all of them in every time you `require 'ruby-jss'`, since most of them will never be used for any given application.
143
+ Because ruby-jss implements so many classes and modules, it's a waste of memory and time to load all of them in every time you `require 'ruby-jss'`, since most of them will never be used for any given application.
137
144
 
138
145
  To deal with this, ruby-jss now uses the wonderfully cool [Zeitwerk gem](https://github.com/fxn/zeitwerk) to automatically load only the files needed for classes and modules as they are used.
139
146
 
@@ -172,7 +179,11 @@ The `.all` method will never deliver paged results, however if you give it a `fi
172
179
 
173
180
  ### API data are no longer cached (?)
174
181
 
175
- **NOTE:** As of this writing, caching has been removed for the objects from the Jamf Pro API, but caching remains in the Classic API. Its removal, or the re-instatement of caching for JP API objects, are pending discussion with other users of ruby-jss.
182
+ ---
183
+ **NOTE:**
184
+ Caching has been removed for the objects from the Jamf Pro API, but remains for those from the Classic API. The re-instatement of caching for JP API objects is pending discussion with other users of ruby-jss.
185
+
186
+ ---
176
187
 
177
188
  Pre-2.0, methods that would fetch large datasets from the server would always cache that data in the Connection object, and by default use the cache in future calls unless a `refresh` parameter is given. These datasets included:
178
189
 
@@ -274,7 +285,7 @@ Here are the things we are planning on removing or changing in the coming months
274
285
 
275
286
  In ruby-jss < 2.0, the term `api` is used with the Classic API in method names, method parameters, instance variables, attributes, and constants. It is used to pass, access, refer to, or hold instances of JSS::APIConnnection, e.g. so a method that talks to the server would use the passed connection rather than the module-wide default connection.
276
287
 
277
- The term 'api' is inappropriate because the thing being passed is a 'connection' not an 'api'. Now that there are actually two APIs at play, that usage is even less appropriate.
288
+ The term 'api' is inappropriate because the thing being referred to is a 'connection' not an 'api'. Now that there are actually two APIs at play, that usage is even less appropriate.
278
289
 
279
290
  Going forward, use `cnx` (simpler to type than 'connection') instead. Example:
280
291
 
@@ -384,11 +395,11 @@ Or when you try to set the value of an extension attribute on a Computer object,
384
395
 
385
396
  This validation happens before you try to send the new data to the server.
386
397
 
387
- This type of pre-validation will be removed over time from objects in the Classic API, for 3 reasons:
398
+ This type of pre-validation will not be use when using the Jamf Pro API, for 3 reasons:
388
399
 
389
400
  1) The API itself will perform this validation when you send the data, and will return an error if there's a problem.
390
401
  2) Removing this validation will simplify the code, and reduce interdependency between objects
391
- 3) Removing this code will make it easier to understand the permissions needed to do things in ruby-jss
402
+ 3) Removing this code will make it easier to understand the permissions needed to do things in ruby-jss, removing 'hidden permissions requirements' when interacting with class-specific API endpoints.
392
403
 
393
404
  The last point is very important. Right now, in order to be able to manipulate the scope of any scopable object, the account with which you're accessing the API must have at least 'read' permission on all the different kinds of objects that _might_ be in the scope: computers, computer groups, buildings, departments, network segments, and so on. Removing or limiting the validation-based interdependency will make it easier to limit the access needed for API service accounts, and thereby increase overall security.
394
405
 
data/README.md CHANGED
@@ -1,24 +1,6 @@
1
1
  # ruby-jss: Working with the Jamf Pro APIs in Ruby
2
2
  [![Gem Version](https://badge.fury.io/rb/ruby-jss.svg)](http://badge.fury.io/rb/ruby-jss)
3
3
 
4
- ## Version 2.0.0 has been released
5
-
6
- Version 2.0.0 has major changes! While we've strived for _mostly_ being backward compatible, and have done lots of testing, YMMV. Please report any issues.
7
-
8
- _NOTE_: ruby-jss 2.0 is not completely backward compatible, please see [README-2.0.0.md](README-2.0.0.md) for more info
9
-
10
- ### Highlights
11
-
12
- - Support for Ruby 3.x
13
- - tested in 3.0 and 3.1
14
- - Combined access to both the Classic and Jamf Pro APIs
15
- - A single namespace module
16
- - Connection objects talk to both APIs & automatically handle details like bearer tokens
17
- - Auto-generated code for Jamf Pro API objects
18
- - Autoloading of code using [Zeitwerk](https://github.com/fxn/zeitwerk)
19
-
20
- For details about the changes, the document [README-2.0.0.md](README-2.0.0.md).
21
-
22
4
  ## _IMPORTANT_: Known Security Issue in v1.5.3 and below
23
5
 
24
6
  Versions of ruby-jss prior to 1.6.0 contain a known security issue due to how we were using the 'plist' gem.
@@ -35,9 +17,7 @@ Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue an
35
17
 
36
18
  <!-- TOC -->
37
19
 
38
- - [Version 2.0.0 has been released](#version-200-has-been-released)
39
- - [Highlights](#highlights)
40
- - [_IMPORTANT_: Known Security Issue in v1.5.3 and below](#_important_-known-security-issue-in-v153-and-below)
20
+ - [IMPORTANT: Known Security Issue in v1.5.3 and below](#important-known-security-issue-in-v153-and-below)
41
21
  - [DESCRIPTION](#description)
42
22
  - [SYNOPSIS](#synopsis)
43
23
  - [USAGE](#usage)
@@ -50,6 +30,7 @@ Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue an
50
30
  - [Updating Objects](#updating-objects)
51
31
  - [Deleting Objects](#deleting-objects)
52
32
  - [OBJECTS IMPLEMENTED](#objects-implemented)
33
+ - [Migrating classes from the Classic to the Jamf Pro API](#migrating-classes-from-the-classic-to-the-jamf-pro-api)
53
34
  - [Other useful classes & modules:](#other-useful-classes--modules)
54
35
  - [Object-related API endpoints](#object-related-api-endpoints)
55
36
  - [CONFIGURATION](#configuration)
@@ -64,7 +45,7 @@ Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue an
64
45
 
65
46
  ## DESCRIPTION
66
47
 
67
- ruby-jss defines a Ruby module called `Jamf`, which is used for accessing the 'Classic' and
48
+ ruby-jss defines a Ruby module called `Jamf`, which is used for accessing both the 'Classic' and
68
49
  'Jamf Pro' APIs of a Jamf Pro server. Jamf Pro is an enterprise-level management tool for Apple
69
50
  devices from [Jamf.com](http://www.jamf.com/). ruby-jss is available as a [ruby gem](https://rubygems.org/gems/ruby-jss), and the
70
51
  [source is on github](https://github.com/PixarAnimationStudios/ruby-jss).
@@ -74,16 +55,17 @@ Details like authentication tokens, token refreshing, JSON and XML parsing, and
74
55
  which API are all handled under-the-hood.
75
56
 
76
57
  The Jamf module abstracts many API resources as Ruby objects, and provides methods for interacting with those
77
- resources. It also provides some features that aren't a part of the API itself, but come with other
78
- Jamf-related tools, such as uploading {Jamf::Package} files to the primary fileshare distribution
79
- point, and the installation of those objects on client machines. (See [BEYOND THE API](#beyond-the-api))
58
+ resources. It can also provide some features that aren't a part of the API itself, but come with other
59
+ Jamf-related tools.
80
60
 
81
61
  The Jamf module is not a complete implementation of the Jamf Pro APIs. Only some objects are modeled,
82
62
  some only minimally. Of those, some are read-only, some partially writable, some fully read-write.
83
63
  We've implemented the things we need in our environment, and as our needs grow, we'll add more.
84
64
  Hopefully others will find it useful, and add more to it as well.
85
65
 
86
- [Full technical documentation can be found here.](http://www.rubydoc.info/gems/ruby-jss/)
66
+ For some of the major changes that happened with the release of v2.0.0, see [README-2.0.0](README-2.0.0.md)
67
+
68
+ [Full technical documentation can be found at rubydoc.info](http://www.rubydoc.info/gems/ruby-jss/)
87
69
 
88
70
  ## SYNOPSIS
89
71
 
@@ -173,6 +155,8 @@ Most of the time, you'll only need a single connection to a single server, and t
173
155
  you can also create multiple Connection objects, to different servers, or perhaps the same server with different credentials and
174
156
  access, and pass those connection objects into methods using the `cnx:` parameter as appropriate.
175
157
 
158
+ This is especially important when creating tools that use threads or fibers to perform different tasks concurrently. In such cases the default connection should never be used, and every task should use its own connection object, preferably closing it when done.
159
+
176
160
  ```ruby
177
161
  # Make connections to 2 different Jamf servers.
178
162
  # The .new class method accepts the same parameters as the #connect instance method,
@@ -316,27 +300,34 @@ Here's some of what we've implemented so far. See each Class's [documentation(ht
316
300
  * {Jamf::AdvancedComputerSearch}
317
301
  * {Jamf::AdvancedMobileDeviceSearch}
318
302
  * {Jamf::AdvancedUserSearch}
319
- * {Jamf::Building}
303
+ * {Jamf::APIClient}
304
+ * {Jamf::APIRole}
305
+ * {Jamf::Building} (Classic, deprecated), {Jamf::JBuilding} (Jamf Pro)
320
306
  * {Jamf::Category}
321
307
  * {Jamf::Computer}
322
308
  * {Jamf::ComputerExtensionAttribute}
323
309
  * {Jamf::ComputerGroup}
324
310
  * {Jamf::ComputerInvitation}
311
+ * {Jamf::ComputerPrestage}
325
312
  * {Jamf::Department}
313
+ * {Jamf::DeviceEnrollment}
326
314
  * {Jamf::DistributionPoint}
327
315
  * {Jamf::DockItem}
328
316
  * {Jamf::EBook}
329
317
  * {Jamf::IBeacon}
318
+ * {Jamf::InventoryPreloadRecord}
330
319
  * {Jamf::LdapServer}
320
+ * {Jamf::MacApplication}
331
321
  * {Jamf::MobileDevice}
332
322
  * {Jamf::MobileDeviceApplication}
333
323
  * {Jamf::MobileDeviceConfigurationProfile}
334
324
  * {Jamf::MobileDeviceExtensionAttribute}
335
325
  * {Jamf::MobileDeviceGroup}
326
+ * {Jamf::MobileDevicePrestage}
336
327
  * {Jamf::NetBootServer}
337
328
  * {Jamf::NetworkSegment}
338
329
  * {Jamf::OSXConfigurationProfile}
339
- * {Jamf::Package}
330
+ * {Jamf::Package} (Classic, deprecated), {Jamf::JPackage} (Jamf Pro)
340
331
  * {Jamf::PatchTitle}
341
332
  * {Jamf::PatchTitle::Version}
342
333
  * {Jamf::PatchExternalSource}
@@ -344,7 +335,8 @@ Here's some of what we've implemented so far. See each Class's [documentation(ht
344
335
  * {Jamf::PatchPolicy}
345
336
  * {Jamf::Peripheral}
346
337
  * {Jamf::PeripheralType}
347
- * {Jamf::Policy} (not fully implemented)
338
+ * {Jamf::Policy}
339
+ * {Jamf::Printer}
348
340
  * {Jamf::RemovableMacAddress}
349
341
  * {Jamf::RestrictedSoftware}
350
342
  * {Jamf::Script}
@@ -353,10 +345,28 @@ Here's some of what we've implemented so far. See each Class's [documentation(ht
353
345
  * {Jamf::User}
354
346
  * {Jamf::UserExtensionAttribute}
355
347
  * {Jamf::UserGroup}
348
+ * {Jamf::VPPAccount}
356
349
  * {Jamf::WebHook}
357
350
 
358
351
  **NOTE** Most Computer and MobileDevice data gathered by an Inventory Upate (a.k.a. 'recon') is not editable.
359
352
 
353
+ #### Migrating classes from the Classic to the Jamf Pro API
354
+
355
+ With the release of version 4.2.0, we begin the long process of porting existing classes from the Classic API to the Jamf Pro API where possible, starting with `Jamf::Package`. Before that, our implementation of classes from the Jamf Pro API has been limited to those not already implemented via the Classic API, such as `Jamf::InventoryPreloadRecord`.
356
+
357
+ However, because of our stated goals for implementing things in the Jamf Pro API (see [README-2.0.0.md](README-2.0.0.md)), we can't just change the existing classes without breaking lots of code. For example, in order to eliminate various 'hidden permissions requirements' and adhere more closely to the actual API, we're [eliminating cross-object validation](README-2.0.0.md#cross-object-validation-in-setters).
358
+
359
+ For example, for Packages this means that when setting the categoryId, you must provide an id, not a category name. In Jamf::Package, using the Classic API, you could provide a name, and behind-the-scenes ruby-jss would look at the categories in the API and validate/convert to an id. This required 'undocumented' read-permissions to the categories when working with packages. NOTE: if you do have read-permissions on categories, you can still use the `Jamf::Category.valid_id` method to convert from names to ids yourself. That method is available for all collection classes in both APIs.
360
+
361
+ In order to move forward with Jamf Pro-based classes, while providing reasonable backward compatibility, here's the plan:
362
+
363
+ - For each class being migrated, and new class, prepended with `J` will be created. So for accessing packages via the Jamf Pro API, we are introducing the class `Jamf::JPackage`.
364
+ - The original Classic API-based class will be marked as deprecated when the matching J-class is released.
365
+ - The deprecated classes will exist for at least one year (probably longer) but will get few, if any, updates, mostly limited to security-related fixes.
366
+ - During the deprecation period, please update all your code to use the new Jamf Pro API-based classes.
367
+ - When the older Classic API-based class is actually removed, the remaning Jamf Pro API-based class will be aliased back to the original name, without the `J`. So at that point `Jamf::Package` and `Jamf::JPackage` will be the same class. At this time please start updating your code to use the non-J version of the class name.
368
+ - After some long-ish period of time (2-5 years?), the `J` version of the class name will be removed. Or - maybe not! Aliases are cheap :-)
369
+
360
370
  #### Other useful classes & modules:
361
371
 
362
372
  These modules either provide stand-alone methods, or are mixed in to other classes to extend their functionality. See their documentation for details
@@ -367,7 +377,7 @@ These modules either provide stand-alone methods, or are mixed in to other class
367
377
 
368
378
  * {Jamf::Scopable} - a module that handles Scope for those objects that can be scoped. It defines the Scope class used in those objects. Instances of Scope are where you change targets, limitations, and exclusions.
369
379
 
370
- * {Jamf::MDM} - a module that handles sending MDM commands. It is accessed via the Computer and MobileDevice classes and their instances.
380
+ * {Jamf::MDM} - a module that handles sending MDM commands via the Classic API. It is accessed via the Computer and MobileDevice classes and their instances.
371
381
 
372
382
  ## Object-related API endpoints
373
383
 
@@ -398,10 +408,13 @@ The currently known attributes are:
398
408
 
399
409
  * api_server_name [String] the hostname of the Jamf API server
400
410
  * api_server_port [Integer] the port number for the API connection
401
- * api_verify_cert [Boolean] 'true' or 'false' - if SSL is used, should the certificate be verified? (usually false for a self-signed cert)
411
+ # api_ssl_version [String] the SSL version to use for the connection. Default is TLSv1_2
412
+ * api_verify_cert [Boolean] if SSL is used, should the certificate be verified? (usually false for a self-signed cert)
402
413
  * api_username [String] the Jamf username for connecting to the API
403
414
  * api_timeout_open [Integer] the number of seconds for the open-connection timeout
404
415
  * api_timeout [Integer] the number of seconds for the response timeout
416
+ * package_manifest_base_url [String] Used by JPackage#generate_manifest.
417
+ The base-url for downloading a package for installation. The JPackage#fileName is appended to this to create the full URL.
405
418
 
406
419
  To put a standard server & username on all client machines, and auto-accept the Jamf's self-signed https certificate, create the file /etc/ruby-jss.conf containing three lines like this:
407
420
 
@@ -479,13 +492,13 @@ Full documentation is available at [rubydoc.info](http://www.rubydoc.info/gems/r
479
492
 
480
493
  There's a [wiki on the github page](https://github.com/PixarAnimationStudios/ruby-jss/wiki), feel free to contribute examples and tidbits.
481
494
 
482
- If you have questions or feedback about ruby-jss, please reach out to us via:
495
+ If you have questions or feedback about ruby-jss, please reach out to us via:
483
496
  - [Open an issue on github](https://github.com/PixarAnimationStudios/ruby-jss/issues)
484
497
  - [Email the developers at ruby-jss@pixar.com](mailto:ruby-jss@pixar.com)
485
498
  - Join the conversation in the [#ruby-jss Macadmins Slack Channel](https://macadmins.slack.com/archives/C03C7F563MK)
486
499
 
487
500
  ## LICENSE
488
501
 
489
- Copyright 2023 Pixar
502
+ Copyright 2025 Pixar
490
503
 
491
504
  Licensed under a modified Apache License, Version 2.0. See LICENSE.txt for details
data/bin/cgrouper CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- ### Copyright 2023 Pixar
3
+ ### Copyright 2025 Pixar
4
4
 
5
5
  ###
6
6
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- ### Copyright 2023 Pixar
3
+ ### Copyright 2025 Pixar
4
4
 
5
5
  ###
6
6
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
data/bin/netseg-update CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- ### Copyright 2023 Pixar
3
+ ### Copyright 2025 Pixar
4
4
 
5
5
  ###
6
6
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -275,7 +275,7 @@ Notes:
275
275
  @columns.include?(:cidr) || \
276
276
  @columns.include?(:mask)
277
277
 
278
- @use_cidr = (@columns.include?(:cidr) || @columns.include?(:mask))
278
+ @use_cidr = @columns.include?(:cidr) || @columns.include?(:mask)
279
279
  end
280
280
 
281
281
  def parse_a_data_line(line)
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -44,7 +44,7 @@ module Jamf
44
44
  #
45
45
  class Account < Jamf::APIObject
46
46
 
47
- # Note: This class is not fully extended and since the resource
47
+ # NOTE: This class is not fully extended and since the resource
48
48
  # is different than the rest, methods like Jamf::Account.all do not work
49
49
 
50
50
  # Mix-Ins
@@ -104,19 +104,19 @@ module Jamf
104
104
  end
105
105
 
106
106
  # @return [Array<Hash>] all JSS account groups
107
- def self.all_groups(refresh = false, api: nil, cnx: Jamf.cnx)
107
+ def self.all_groups(refresh = false, api: nil, cnx: Jamf.cnx)
108
108
  cnx = api if api
109
109
  all(refresh, cnx: cnx)[:groups]
110
110
  end
111
111
 
112
112
  # @return [Array<Hash>] all JSS account group ids
113
- def self.all_group_ids(refresh = false, api: nil, cnx: Jamf.cnx)
113
+ def self.all_group_ids(refresh = false, api: nil, cnx: Jamf.cnx)
114
114
  cnx = api if api
115
115
  all(refresh, cnx: cnx)[:groups].map { |i| i[:id] }
116
116
  end
117
117
 
118
118
  # @return [Array<Hash>] all JSS account group names
119
- def self.all_group_names(refresh = false, api: nil, cnx: Jamf.cnx)
119
+ def self.all_group_names(refresh = false, api: nil, cnx: Jamf.cnx)
120
120
  cnx = api if api
121
121
  all(refresh, cnx: cnx)[:groups].map { |i| i[:name] }
122
122
  end
@@ -161,7 +161,7 @@ module Jamf
161
161
  super
162
162
 
163
163
  # check to see if a user has been specified, haven't built groups yet
164
- is_user = [:userid, :username].any? { |key| args.keys.include? key }
164
+ is_user = %i[userid username].any? { |key| args.keys.include? key }
165
165
 
166
166
  return unless is_user
167
167
 
@@ -171,7 +171,6 @@ module Jamf
171
171
  @access_level = @init_data[:access_level]
172
172
  @privilege_set = @init_data[:privilege_set]
173
173
  @privileges = @init_data[:privileges]
174
-
175
174
  end # initialize
176
175
 
177
176
  end # class accounts
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -64,7 +64,7 @@ module Jamf
64
64
 
65
65
  # what data fields come back along with the display fields
66
66
  # for each mobiledevices?
67
- RESULT_ID_FIELDS = [:id, :name, :udid].freeze
67
+ RESULT_ID_FIELDS = %i[id name udid].freeze
68
68
 
69
69
  # the object type for this object in
70
70
  # the object history table.
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -64,7 +64,7 @@ module Jamf
64
64
 
65
65
  # what data fields come back along with the display fields
66
66
  # for each user?
67
- RESULT_ID_FIELDS = [:id, :name].freeze
67
+ RESULT_ID_FIELDS = %i[id name].freeze
68
68
 
69
69
  # the object type for this object in
70
70
  # the object history table.
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -38,8 +38,13 @@ module Jamf
38
38
  # A Building in the JSS.
39
39
  # These are simple, in that they only have an ID and a name.
40
40
  #
41
+ # @deprecated Use {Jamf::JBuiding} instead. This class will be removed in a future release.
42
+ #
41
43
  # @see Jamf::APIObject
42
44
  #
45
+ # For accessing buildings via the Jamf Pro API, see {Jamf::JBuiding}, which
46
+ # provides access to the other building-related attributes.
47
+ #
43
48
  class Building < Jamf::APIObject
44
49
 
45
50
  # Mix-Ins
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -109,6 +109,7 @@ module Jamf
109
109
  #
110
110
  def category_object
111
111
  return nil unless category_assigned?
112
+
112
113
  Jamf::Category.fetch id: @category_id
113
114
  end # cat obj
114
115
 
@@ -175,6 +176,7 @@ module Jamf
175
176
  def unset_category
176
177
  # no change, go home
177
178
  return nil if @category_name.nil?
179
+
178
180
  @category_name = nil
179
181
  @category_id = nil
180
182
  @need_to_update = true
@@ -220,6 +222,7 @@ module Jamf
220
222
  #
221
223
  def add_category_to_xml(xmldoc)
222
224
  return if category_name.to_s.empty?
225
+
223
226
  cat_elem = REXML::Element.new('category')
224
227
 
225
228
  if self.class::CATEGORY_DATA_TYPE == String
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -116,7 +116,12 @@ module Jamf
116
116
  #
117
117
  def priority=(new_val = @priority)
118
118
  return nil if new_val == @priority
119
- raise Jamf::InvalidDataError, "priority must be an integer between #{POSSIBLE_PRIORITIES.first} and #{POSSIBLE_PRIORITIES.last} (inclusive)" unless POSSIBLE_PRIORITIES.include? new_val
119
+
120
+ unless POSSIBLE_PRIORITIES.include? new_val
121
+ raise Jamf::InvalidDataError,
122
+ "priority must be an integer between #{POSSIBLE_PRIORITIES.first} and #{POSSIBLE_PRIORITIES.last} (inclusive)"
123
+ end
124
+
120
125
  @priority = new_val
121
126
  @need_to_update = true
122
127
  end
@@ -1,4 +1,4 @@
1
- ### Copyright 2023 Pixar
1
+ ### Copyright 2025 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Pixar
1
+ # Copyright 2025 Pixar
2
2
 
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Pixar
1
+ # Copyright 2025 Pixar
2
2
 
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -28,7 +28,6 @@ module Jamf
28
28
  # Classes
29
29
  #####################################
30
30
 
31
-
32
31
  # A computer group in the JSS
33
32
  #
34
33
  # See also the parent class Jamf::Group
@@ -39,7 +38,6 @@ module Jamf
39
38
  #
40
39
  class ComputerGroup < Jamf::Group
41
40
 
42
-
43
41
  # Mix-Ins
44
42
  #####################################
45
43
  include Jamf::MDM