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
@@ -0,0 +1,237 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+
23
+ # frozen_string_literal: true
24
+
25
+ module Jamf
26
+
27
+ module ManagedSoftwareUpdates
28
+
29
+ # A ManagedSoftwareUpdate Plan contains the details for
30
+ # installing managed software updates via MDM/DDM on a device.
31
+ # When plans are created for a group there will be one for every member of the group
32
+ #
33
+ class Plan < Jamf::OAPISchemas::ManagedSoftwareUpdatePlan
34
+
35
+ # Mix-Ins
36
+ #####################################
37
+
38
+ include Jamf::CollectionResource
39
+ extend Jamf::Filterable
40
+ include Jamf::Immutable
41
+
42
+ ########### RELATED OAPI OBJECTS
43
+
44
+ # The OAPI object class we get back from a 'list' query to get the
45
+ # whole collection, or a subset of it. It contains a :results key
46
+ # which is an array of data for objects of the parent class.
47
+ SEARCH_RESULT_OBJECT = Jamf::OAPISchemas::ManagedSoftwareUpdatePlans
48
+
49
+ # The OAPI object class we send with a POST request to make a new member of
50
+ # the collection in Jamf. This is often the same as the parent class.
51
+ POST_OBJECT = Jamf::OAPISchemas::ManagedSoftwareUpdatePlanPost
52
+
53
+ GROUP_POST_OBJECT = Jamf::OAPISchemas::ManagedSoftwareUpdatePlanGroupPost
54
+
55
+ ############# API PATHS
56
+
57
+ # The path for GETting the list of all objects in the collection, possibly
58
+ # filtered, sorted, and/or paged
59
+ # REQUIRED for all collection resources
60
+ #
61
+ # GET_PATH, POST_PATH, PUT_PATH, PATCH_PATH, and DELETE_PATH are automatically
62
+ # assumed from the LIST_PATH if they follow the standards:
63
+ # - GET_PATH = "#{LIST_PATH}/id"
64
+ # - fetch an object from the collection
65
+ # - POST_PATH = LIST_PATH
66
+ # - create a new object in the collection
67
+ # - PUT_PATH = "#{LIST_PATH}/id"
68
+ # - update an object passing all its values back.
69
+ # Most objects use this or PATCH but not both
70
+ # - PATCH_PATH = "#{LIST_PATH}/id"
71
+ # - update an object passing some of its values back
72
+ # Most objects use this or PUT but not both
73
+ # - DELETE_PATH = "#{LIST_PATH}/id"
74
+ # - delete an object from the collection
75
+ #
76
+ # If those paths differ from the standards, the constants must be defined
77
+ # here
78
+ #
79
+ LIST_PATH = "#{MANAGED_SW_UPDATES_PATH}/plans"
80
+
81
+ # GETting this resource provides a list of existing group plans
82
+ # POSTing to this resource will initiate a new plan targeting a group of devices
83
+ GROUP_PLANS_PATH = "#{LIST_PATH}/group"
84
+
85
+ # Must define this when extending Filterable
86
+ FILTER_KEYS = %i[
87
+ planUuid device.deviceId device.objectType updateAction versionType specificVersion maxDeferrals recipeId forceInstallLocalDateTime state
88
+ ].freeze
89
+
90
+ GROUP_TYPES = {
91
+ computer: 'COMPUTER_GROUP',
92
+ mobile_device: 'MOBILE_DEVICE_GROUP'
93
+ }.freeze
94
+
95
+ # Class Methods
96
+ ######################################
97
+
98
+ # Get an Array of all plans for a given group, either computer or mobile device.
99
+ #
100
+ # @param group_id [Integer] the ID of the group to get plans for
101
+ # @param type [Symbol] the type of group, either :computer or :mobile_device
102
+ # @param cnx [Jamf::Connection] the connection to use, defaults to Jamf.cnx
103
+ # @return [Array<Jamf::ManagedSoftwareUpdates::Plan>] the plans for the group
104
+ ################################
105
+ def self.group_plans(group_id:, type:, cnx: Jamf.cnx)
106
+ gtype = GROUP_TYPES[type.to_sym]
107
+ raise ArgumentError, "Invalid group type: #{type}, must be one of :#{GROUP_TYPES.keys.join ', :'}" unless gtype
108
+
109
+ plans = Jamf.cnx.jp_get("#{GROUP_PLANS_PATH}/#{group_id}?group-type=#{gtype}")[:results]
110
+ plans.map do |plan_data|
111
+ plan_data[:cnx] = cnx
112
+ plan_data[:instantiate_me] = true
113
+ new(**plan_data)
114
+ end
115
+ end
116
+
117
+ # Get the declarations for a plan
118
+ #
119
+ # @param plan_uuid [String] the UUID of the plan to get declarations for
120
+ #
121
+ # @param cnx [Jamf::Connection] the connection to use, defaults to Jamf.cnx
122
+ #
123
+ # @return [Array<Jamf::OAPISchemas::DssDeclaration>] the declarations for the plan
124
+ ############################
125
+ def self.declarations(planUuid, cnx: Jamf.cnx)
126
+ cnx.jp_get("#{LIST_PATH}/#{planUuid}/declarations")[:declarations].map do |declaration|
127
+ Jamf::OAPISchemas::DssDeclaration.new(declaration)
128
+ end
129
+ end
130
+
131
+ # get the events for a plan
132
+ #
133
+ # BUG ? : At lease thru Jamf Pro 11.17.1, this endpoint returns a double-wrapped JSON object
134
+ # The first one is a Hash with one key :events, which is a String containing the JSON
135
+ # for the actual events - an Array of Hashes, which don't have an OAPI schema.
136
+ #
137
+ # Those Hashes look like this, but aren't consistent
138
+ #
139
+ # {:type=>".QueueAvailableOsUpdatesCommand",
140
+ # :eventSentEpoch=>1749158978751,
141
+ # :managementUUID=>"a94b11f0-c870-4006-82fe-e7afa981d61c",
142
+ # :processManagerUUID=>"a4b45b0a-4a46-4a52-8322-ab4f9895ab21",
143
+ # :availableOSUpdateDelay=>300},
144
+ #
145
+ # {:id=>4238,
146
+ # :type=>".AvailableOsUpdateRequestCompletedEvent",
147
+ # :deviceObjectId=>1,
148
+ # :managementUUID=>"a94b11f0-c870-4006-82fe-e7afa981d61c",
149
+ # :eventReceivedEpoch=>1749159337161,
150
+ # :processManagerUUID=>"a4b45b0a-4a46-4a52-8322-ab4f9895ab21",
151
+ # :availableOSUpdatesDto=>
152
+ # {:deviceObjectId=>1,
153
+ # :managementUUID=>"a94b11f0-c870-4006-82fe-e7afa981d61c",
154
+ # :availableOsUpdates=>
155
+ # [{:build=>"",
156
+ # :preview=>false,
157
+ # :version=>"16.4",
158
+ # :critical=>false,
159
+ # :productKey=>"082-41241",
160
+ # :installSize=>0,
161
+ # :productName=>"",
162
+ # :downloadSize=>882235914,
163
+ # :majorOSUpdate=>false,
164
+ # :firmwareUpdate=>false,
165
+ # :restartRequired=>false,
166
+ # :humanReadableName=>"Command Line Tools for Xcode",
167
+ # :allowsInstallLater=>true,
168
+ # :appIdentifiersToClose=>[],
169
+ # :configurationDataUpdate=>false},
170
+ # {:build=>"",
171
+ # :preview=>false,
172
+ # :version=>"5299",
173
+ # :critical=>false,
174
+ # :productKey=>"082-54857",
175
+ # :installSize=>0,
176
+ # :productName=>"",
177
+ # :downloadSize=>1256157,
178
+ # :majorOSUpdate=>false,
179
+ # :firmwareUpdate=>false,
180
+ # :restartRequired=>false,
181
+ # :humanReadableName=>"XProtectPlistConfigData",
182
+ # :allowsInstallLater=>true,
183
+ # :appIdentifiersToClose=>[],
184
+ # :configurationDataUpdate=>true}],
185
+ # :eventReceivedEpoch=>1749159337161
186
+ # }
187
+ # }
188
+ #
189
+ # note that some have id's and some don't. Some have response data (like the available OS updates)
190
+ # which can contain a more complex data structure.
191
+ #
192
+ # NOTE: This may be intentional, but is not documented in the JPAPI docs. The endpoint is "events"
193
+ # but what's returned is an 'event store'. Its possible that the data comes from Apple as JSON
194
+ # and Jamf is just passing it through.
195
+ # Awaiting clarification from Jamf on this.
196
+ #
197
+ # In any case, this method will unwrap the JSON and return the events as an Array of Hashes
198
+ #
199
+ # @param plan_uuid [String] the UUID of the plan to get events for
200
+ #
201
+ # @param cnx [Jamf::Connection] the connection to use, defaults to Jamf.cnx
202
+ #
203
+ # @return [Array<Hash>] the events for the plan
204
+ ############################
205
+ def self.event_store(planUuid, cnx: Jamf.cnx)
206
+ data = cnx.jp_get("#{LIST_PATH}/#{planUuid}/events")
207
+ if data[:events].is_a?(String) && data[:events].start_with?('{"events":')
208
+ JSON.parse data[:events], symbolize_names: true
209
+ else
210
+ data[:events]
211
+ end
212
+ end
213
+
214
+ # Instance Methods
215
+ ######################################
216
+
217
+ # get the declarations for this plan
218
+ #
219
+ # @return [Array<Jamf::OAPISchemas::DssDeclaration>] the declarations for the plan
220
+ ############################
221
+ def declarations
222
+ self.class.declarations(planUuid, cnx: cnx)
223
+ end
224
+
225
+ # get the events for this plan
226
+ #
227
+ # @return [Array<Jamf::OAPISchemas::DssDeclaration>] the events for the plan
228
+ ############################
229
+ def event_store
230
+ self.class.event_store(planUuid, cnx: cnx)
231
+ end
232
+
233
+ end # class Plan
234
+
235
+ end # module ManagedSoftwareUpdates
236
+
237
+ end # module Jamf
@@ -0,0 +1,291 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+
23
+ # frozen_string_literal: true
24
+
25
+ module Jamf
26
+
27
+ # This module provides access to the Managed Software Updates endpoints of the Jamf Pro API.
28
+ #
29
+ # Sending managed software updates is done by creating a "plan" for one or more devices, or
30
+ # a group of devices, either computers or mobile devices. Plans are created with the
31
+ # {.send_managed_sw_update} module method, which takes the target devices or group, the update action,
32
+ # the version type, and other optional parameters such as specific version, build version.
33
+ #
34
+ # Once created/sent, Plans, identified by their planUuid, can be retrieved with the
35
+ # Jamf::ManagedSoftwareUpdate::Plan class which encapsulates the details of the plan, including
36
+ # the latest status of the update from the Jamf Pro server.
37
+ #
38
+ # You can also retrieve the status of any computer or group from the MDM server/Client Machines via the
39
+ # Jamf::ManagedSoftwareUpdates.status method, which returns an array of Status objects
40
+ # for the devices or group members you specify.
41
+ #
42
+ # TODO: We will integrate the ManagedSoftwareUpdate::Plan class into Jamf::Computer,
43
+ # Jamf::MobileDevice, Jamf::ComputerGroup, and Jamf::MobileDeviceGroup (and/or their JP API versions)
44
+ # as both a class method and an instance method, so that you can send updates directly
45
+ # from those classes and instances.
46
+ #
47
+ # We will probably not add support for the "feature-toggle" endpoints, since eventually
48
+ # this 'feature' will be the only way to do these updates, and that such toggling is better
49
+ # done in the web app.
50
+ #
51
+ module ManagedSoftwareUpdates
52
+
53
+ ############# API PATHS
54
+
55
+ MANAGED_SW_UPDATES_PATH = 'v1/managed-software-updates'
56
+
57
+ AVAILABLE_VERSIONS_PATH = "#{MANAGED_SW_UPDATES_PATH}/available-updates"
58
+
59
+ DEVICE_POST_PATH = "#{MANAGED_SW_UPDATES_PATH}/plans"
60
+
61
+ GROUP_POST_PATH = "#{MANAGED_SW_UPDATES_PATH}/plans/group"
62
+
63
+ STATUS_PATH = "#{MANAGED_SW_UPDATES_PATH}/update-statuses"
64
+
65
+ COMPUTER_STATUS_PATH = "#{STATUS_PATH}/computers"
66
+
67
+ COMPUTER_GROUP_STATUS_PATH = "#{STATUS_PATH}/computer-groups"
68
+
69
+ MOBILE_DEVICE_STATUS_PATH = "#{STATUS_PATH}/mobile-devices"
70
+
71
+ MOBILE_DEVICE_GROUP_STATUS_PATH = "#{STATUS_PATH}/mobile-device-groups"
72
+
73
+ STATUS_FILTER_KEYS = %i[
74
+ osUpdatesStatusId device.deviceId device.objectType downloaded downloadPercentComplete productKey status deferralsRemaining maxDeferrals nextScheduledInstall created updated
75
+ ].freeze
76
+
77
+ DEVICE_TYPES = Jamf::OAPISchemas::PlanDevicePost::OBJECT_TYPE_OPTIONS
78
+
79
+ GROUP_TYPES = Jamf::OAPISchemas::PlanGroupPost::OBJECT_TYPE_OPTIONS
80
+
81
+ UPDATE_ACTIONS = Jamf::OAPISchemas::PlanConfigurationPost::UPDATE_ACTION_OPTIONS
82
+
83
+ VERSION_TYPES = Jamf::OAPISchemas::PlanConfigurationPost::VERSION_TYPE_OPTIONS
84
+
85
+ # Class Methods
86
+ ######################################
87
+
88
+ # get the list of available OS versions for macOS and/or iOS/iPadOS
89
+ #
90
+ # @param cnx [Jamf::Connection] the connection to use, defaults to Jamf.cnx
91
+ # @return [Hash {Symbol => Array<String>}]
92
+ ###################
93
+ def self.available_os_updates(cnx: Jamf.cnx)
94
+ cnx.jp_get(AVAILABLE_VERSIONS_PATH)[:availableUpdates]
95
+ end
96
+
97
+ # Send an MDM/DDM OS update command to one or more target devices or a group
98
+ #
99
+ # TODO: Integrate this into Jamf::Computer, Jamf::MobileDevice, Jamf::ComputerGroup,
100
+ # and Jamf::MobileDeviceGroup as both a class method and an instance method.
101
+ #
102
+ # @param deviceIds [String, Integer, Array<String, Integer>] Required if no groupId is given.
103
+ # The Jamf ID for the device targets, may be integers or integer-strings.
104
+ #
105
+ # @param groupId [String, Integer] Requied if no deviceIds are given. The Jamf ID for
106
+ # the group target, may be integer or integer-string.
107
+ #
108
+ # @param targetType [Symbol, String] Required. The type of device or group.
109
+ # For devices, one of :computer, :mobile_device, :apple_tv.
110
+ # For groups, one of :computer_group, :mobile_device_group.
111
+ #
112
+ # @param updateAction [Symbol, String] Required. One of :download_only, :download_install,
113
+ # :download_install_allow_deferral, :download_install_restart, :download_install_schedule.
114
+ #
115
+ # @param versionType [Symbol, String] Required. One of :latest_major, :latest_minor,
116
+ # :latest_any, :specific_version, :custom_version
117
+ #
118
+ # @param specificVersion [String] Optional. Indicates the specific version to update to.
119
+ # Only available when the versionType is set to specific_version or custom_version
120
+ #
121
+ # @param buildVersion [String] Optional. Indicates the build version to update to.
122
+ # Only available when the version type is set to custom version.
123
+ #
124
+ # @param maxDeferrals [Integer] Required when the provided updateAction is :download_install_allow_deferral.
125
+ # Not applicable to all updateActions.
126
+ #
127
+ # @param forceInstallLocalDateTime [Time, Jamf::Timestamp, String] Optional. The local date and time
128
+ # of the device to force update by. NOTE: This operation requires Declarative Device Management and
129
+ # is only available for Jamf Cloud customers.
130
+ #
131
+ # @param cnx [Jamf::Connection] The API connection to use. Defaults to Jamf.cnx
132
+ #
133
+ # @return [Hash {String => String}] deviceId => planUuid, for all devices targeted.
134
+ ########################
135
+ def self.send_managed_sw_update(targetType:, updateAction:, versionType:, deviceIds: nil, groupId: nil, cnx: Jamf.cnx, **opts)
136
+ deviceIds, groupId, targetType = validate_targets(targetType: targetType, deviceIds: deviceIds, groupId: groupId)
137
+
138
+ # Ensure we have a valid update action
139
+ updateAction = validate_update_action(updateAction)
140
+
141
+ # Ensure we have a valid version type
142
+ versionType = validate_version_type(versionType)
143
+
144
+ # Build the request body, starting with the common config
145
+ request_body = {
146
+ config: {
147
+ updateAction: updateAction,
148
+ versionType: versionType
149
+ }
150
+ }
151
+
152
+ request_body[:config][:specificVersion] = opts[:specificVersion] if opts[:specificVersion]
153
+ request_body[:config][:buildVersion] = opts[:buildVersion] if opts[:buildVersion]
154
+ request_body[:config][:maxDeferrals] = opts[:maxDeferrals] if opts[:maxDeferrals]
155
+ if opts[:forceInstallLocalDateTime]
156
+ time = Time.parse opts[:forceInstallLocalDateTime] unless opts[:forceInstallLocalDateTime].is_a? Time
157
+ request_body[:config][:forceInstallLocalDateTime] = time.strftime('%FT%T')
158
+ end
159
+
160
+ # Add the target information
161
+ if deviceIds
162
+ request_body[:devices] = deviceIds.map { |id| { deviceId: id, objectType: targetType } }
163
+ post_path = DEVICE_POST_PATH
164
+ else
165
+ request_body[:group] = {
166
+ groupId: groupId,
167
+ objectType: targetType
168
+ }
169
+ post_path = GROUP_POST_PATH
170
+ end
171
+
172
+ response = cnx.jp_post(post_path, request_body)
173
+ parsed_response = Jamf::OAPISchemas::ManagedSoftwareUpdatePlanPostResponse.new response
174
+
175
+ result = {}
176
+ parsed_response.plans.each do |plan|
177
+ result[plan.device.deviceId] = plan.planId
178
+ end
179
+
180
+ result
181
+ end
182
+
183
+ # Retrieve one or more ManagedSoftwareUpdateStatuses objects for a device, group members,
184
+ # or the result of an arbitrary filter on all Status objects.
185
+ #
186
+ # TODO: Integrate this into Jamf::Computer, Jamf::MobileDevice, Jamf::ComputerGroup,
187
+ # and Jamf::MobileDeviceGroup as both a class method and an instance method.
188
+ #
189
+ # @param type [Symbol] Required unless using a filter. One of :computer, :mobile_device,
190
+ # :mobile_device_group, :computer_group.
191
+ #
192
+ # @param id [Integer, String] Required unless using a filter. The Jamf ID of the device or group
193
+ #
194
+ # @param filter [String] Required unless providing type: and id:. An RSQL filter string to apply
195
+ # to the collection of Status objects. Available filter keys are: osUpdatesStatusId device.deviceId
196
+ # device.objectType downloaded downloadPercentComplete productKey status deferralsRemaining
197
+ # maxDeferrals nextScheduledInstall created updated
198
+ #
199
+ # @param cnx [Jamf::Connection] The API connection to use. Defaults to Jamf.cnx
200
+ #
201
+ # @return [Array<Jamf::OAPISchemas::ManagedSoftwareUpdateStatus>] The Status objects for the device
202
+ # or members of the group, or the filter results.
203
+ #
204
+ ###############################
205
+ def self.status(type: nil, id: nil, filter: nil, cnx: Jamf.cnx)
206
+ raise ArgumentError, 'Must provide either type and id, or a filter' if (type || id) && filter
207
+ raise ArgumentError, 'Must provide both type and id if using either' if (type || id) && !(type && id)
208
+
209
+ get_path =
210
+ case type
211
+ when :computer
212
+ "#{COMPUTER_STATUS_PATH}/#{id}"
213
+ when :mobile_device
214
+ "#{MOBILE_DEVICE_STATUS_PATH}/#{id}"
215
+ when :computer_group
216
+ "#{COMPUTER_GROUP_STATUS_PATH}/#{id}"
217
+ when :mobile_device_group
218
+ "#{MOBILE_DEVICE_GROUP_STATUS_PATH}/#{id}"
219
+ else
220
+ unless type.nil?
221
+ raise ArgumentError,
222
+ "Invalid type: #{type}, must be one of: #{%i[computer mobile_device computer_group mobile_device_group].join ', '}"
223
+ end
224
+ raise ArgumentError, 'filter required if not using type and id' unless filter
225
+
226
+ "#{STATUS_PATH}/?filter=#{CGI.escape filter}"
227
+ end
228
+
229
+ Jamf::OAPISchemas::ManagedSoftwareUpdateStatuses.new(cnx.jp_get(get_path)).results
230
+ end
231
+
232
+ # Validate the device or group ids and type, returen validated values.
233
+ #
234
+ # @param deviceIds [String, Integer, Array<String, Integer>] Required if no groupId is given.
235
+ # Identifiers for the device targets.
236
+ #
237
+ # @param groupId [String, Integer] Requied if no deviceIds are given. Identifier for
238
+ # the group target.
239
+ #
240
+ # @param type [Symbol, String] Required. The type of device or group.
241
+ # For devices, one of :computer, :mobile_device, :apple_tv.
242
+ # For groups, one of :computer_group, :mobile_device_group.
243
+ #
244
+ # @return [Hash] a hash with the keys :type, :deviceIds, and :groupId
245
+ ##########################
246
+ def self.validate_targets(targetType:, deviceIds: nil, groupId: nil)
247
+ raise ArgumentError, 'Must provide either deviceIds or groupId' if deviceIds.nil? && groupId.nil?
248
+ raise ArgumentError, 'Must specify either deviceIds or groupId, but not both' if deviceIds && groupId
249
+
250
+ targetType = targetType.to_s.upcase
251
+ if deviceIds
252
+ # Ensure we have a valid device type
253
+ raise ArgumentError, "Invalid device type: #{targetType}, mst be one of: #{DEVICE_TYPES.join ', '}" unless DEVICE_TYPES.include?(targetType)
254
+
255
+ deviceIds = [deviceIds] unless deviceIds.is_a?(Array)
256
+ else
257
+ # Ensure we have a valid group type
258
+ raise ArgumentError, "Invalid group type: #{targetType}, mst be one of: #{GROUP_TYPES.join ', '}" unless GROUP_TYPES.include?(targetType)
259
+ end
260
+
261
+ [deviceIds, groupId, targetType]
262
+ end
263
+ private_class_method :validate_targets
264
+
265
+ # Validate the update action, convert it to the format expected by the API
266
+ # @param updateAction [Symbol, String] the update action to validate
267
+ # @return [String] the update action in the format expected by the API
268
+ ###########################
269
+ def self.validate_update_action(updateAction)
270
+ updateAction = updateAction.to_s.upcase
271
+ raise ArgumentError, "Invalid updateAction: #{updateAction}, must be one of: #{UPDATE_ACTIONS.join ', '}" unless UPDATE_ACTIONS.include?(updateAction)
272
+
273
+ updateAction
274
+ end
275
+ private_class_method :validate_update_action
276
+
277
+ # Validate the version type, convert it to the format expected by the API
278
+ # @param versionType [Symbol, String] the version type to validate
279
+ # @return [String] the version type in the format expected by the API
280
+ #########################
281
+ def self.validate_version_type(versionType)
282
+ versionType = versionType.to_s.upcase
283
+ raise ArgumentError, "Invalid versionType: #{versionType}, must be one of: #{VERSION_TYPES.join ', '}" unless VERSION_TYPES.include?(versionType)
284
+
285
+ versionType
286
+ end
287
+ private_class_method :validate_version_type
288
+
289
+ end # module MacOSManagedUpdates
290
+
291
+ end # module Jamf
@@ -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
  # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
4
  # with the following modification; you may not use this file except in
@@ -104,6 +104,11 @@ module Jamf
104
104
  create_setters attr_name, attr_def
105
105
  end # do |attr_name, attr_def|
106
106
 
107
+ if defined? self::OBJECT_NAME_ATTR
108
+ alias_method(:name, self::OBJECT_NAME_ATTR)
109
+ alias_method('name=', "#{self::OBJECT_NAME_ATTR}=")
110
+ end
111
+
107
112
  @oapi_properties_parsed = true
108
113
  end # parse_object_model
109
114
 
@@ -185,7 +190,7 @@ module Jamf
185
190
  note_unsaved_change attr_name, old_value
186
191
  end # define method
187
192
 
188
- return unless attr_def[:aliases]
193
+ nil unless attr_def[:aliases]
189
194
  end # create_full_array_setter
190
195
  private_class_method :create_full_array_setters
191
196
 
@@ -470,6 +475,9 @@ module Jamf
470
475
  # Comparable by the sha1 hash of our properties.
471
476
  # Subclasses or mixins may override this in ways that make
472
477
  # sense for them
478
+ # TODO: Using this may not make sense for most objects, esp
479
+ # when comparing objects instantiated from Create vs those
480
+ # from Fetch.
473
481
  def <=>(other)
474
482
  sha1_hash <=> other.sha1_hash
475
483
  end
@@ -572,8 +580,8 @@ module Jamf
572
580
  # @return (see parse_single_init_value)
573
581
  #
574
582
  def parse_enum_value(api_value, attr_name, attr_def)
575
- Jamf::Validate.in_enum api_value, enum: attr_def[:enum],
576
- msg: "#{api_value} is not in the allowed values for attribute #{attr_name}. Must be one of: #{attr_def[:enum].join ', '}"
583
+ Jamf::Validate.in_enum api_value, enum: attr_def[:enum],
584
+ msg: "#{api_value} is not in the allowed values for attribute #{attr_name}. Must be one of: #{attr_def[:enum].join ', '}"
577
585
  end
578
586
 
579
587
  # call to_jamf on a single value if it knows that method
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Pixar
1
+ # Copyright 2025 Pixar
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
4
  # with the following modification; you may not use this file except in
@@ -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")