ruby-jss 2.0.0a10 → 2.0.0b3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (502) hide show
  1. checksums.yaml +4 -4
  2. data/README-2.0.0.md +53 -32
  3. data/lib/jamf/api/classic/api_objects/computer.rb +18 -15
  4. data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -0
  5. data/lib/jamf/api/classic/api_objects/criteriable.rb +1 -1
  6. data/lib/jamf/api/classic/api_objects/mdm.rb +40 -24
  7. data/lib/jamf/api/classic/api_objects/mobile_device.rb +8 -12
  8. data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +35 -6
  9. data/lib/jamf/api/classic/api_objects/policy.rb +8 -17
  10. data/lib/jamf/api/classic/api_objects/script.rb +1 -1
  11. data/lib/jamf/api/classic/base_classes/advanced_search.rb +5 -5
  12. data/lib/jamf/api/classic/base_classes/api_object.rb +26 -26
  13. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -2
  14. data/lib/jamf/api/classic/base_classes/group.rb +57 -40
  15. data/lib/jamf/api/connection/attributes.rb +51 -4
  16. data/lib/jamf/api/connection/classic_api.rb +2 -1
  17. data/lib/jamf/api/connection/connect.rb +49 -2
  18. data/lib/jamf/api/connection/constants.rb +6 -0
  19. data/lib/jamf/api/connection/jamf_pro_api.rb +6 -2
  20. data/lib/jamf/api/connection/token.rb +10 -3
  21. data/lib/jamf/api/connection.rb +1 -1
  22. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +9 -1
  23. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +21 -9
  24. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +178 -0
  25. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +17 -7
  26. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +2 -3
  27. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -2
  28. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -2
  29. data/lib/jamf/api/jamf_pro/oapi_schemas/{access_groups_search_results.rb → account_driven_user_enrollment_session_token_settings.rb} +14 -14
  30. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -2
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -2
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -2
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -2
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +1 -2
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +1 -2
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +1 -2
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -2
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -2
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -2
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -2
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -2
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -2
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -2
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -2
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -2
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -2
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +1 -2
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -2
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -2
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -2
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -2
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -2
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -2
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -2
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -2
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -2
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -2
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -2
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -2
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -2
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -2
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -2
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/{deprecated_configuration_search_results.rb → available_updates.rb} +12 -20
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +1 -2
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +1 -2
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -2
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -2
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -2
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -2
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -2
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -2
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -2
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -2
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -2
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -2
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -2
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -2
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +1 -4
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +1 -2
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -2
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -2
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -2
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -2
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -2
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -2
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -2
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -2
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -6
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -2
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -3
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -4
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -6
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -9
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -2
  96. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -2
  97. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -2
  98. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +2 -3
  99. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +2 -3
  100. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +26 -3
  101. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +2 -3
  102. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +2 -3
  103. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -2
  104. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -2
  105. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -2
  106. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -2
  107. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -2
  108. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -2
  109. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -2
  110. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -2
  111. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -2
  112. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -2
  113. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +2 -3
  114. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +2 -3
  115. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +2 -3
  116. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -3
  117. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -2
  118. data/lib/jamf/api/jamf_pro/oapi_schemas/{mdm_signing_certificate.rb → computer_group.rb} +18 -24
  119. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -3
  120. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -2
  121. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +2 -3
  122. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_inventory_response.rb → computer_inventory.rb} +4 -5
  123. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -2
  124. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -2
  125. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -2
  126. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +4 -5
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -2
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +2 -3
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +2 -3
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -2
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -2
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +2 -3
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -2
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -2
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +2 -3
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -2
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -2
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -2
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +2 -3
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +1 -2
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +1 -2
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -2
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -2
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +2 -3
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -3
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -2
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -2
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +2 -3
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +2 -3
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +2 -3
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -3
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -3
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -2
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -2
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -2
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -2
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -2
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -2
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -2
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -2
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -2
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -2
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -2
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -2
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -2
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -2
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -2
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -2
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -2
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -2
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -2
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -2
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -2
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -2
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -2
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -2
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -2
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -2
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -2
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -2
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -2
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -2
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -2
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -2
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -2
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -2
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -2
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -2
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -2
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -2
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -2
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -2
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -2
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +12 -6
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -2
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -2
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -2
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -2
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -2
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -2
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -2
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -2
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -2
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -2
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -2
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -2
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -2
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +3 -3
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -2
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +5 -6
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +1 -2
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -2
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +5 -2
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -2
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -2
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -2
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -2
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -2
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -2
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +1 -2
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -2
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +1 -2
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -2
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -2
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -2
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -2
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -2
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -2
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -2
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -2
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -2
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +2 -3
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -2
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -4
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -4
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -6
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -2
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -4
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -2
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -2
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -2
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +5 -2
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -2
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -2
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -2
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +1 -2
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -2
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -2
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -2
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -2
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -2
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -2
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -2
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -2
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -2
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -2
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -2
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -2
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -2
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -2
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -2
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -2
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +1 -2
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +1 -2
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -2
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -2
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -2
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -2
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/{enrollment_access_group.rb → jamf_pro_information_v2.rb} +35 -34
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -2
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -2
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -2
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +5 -6
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -2
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -2
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -2
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -2
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -2
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -2
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -2
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -2
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -2
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -2
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -2
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -2
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -2
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -2
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -2
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +28 -3
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -4
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -2
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -2
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -2
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -2
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -2
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -2
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -2
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -2
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -4
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -4
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -2
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -2
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -2
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -2
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -2
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -2
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +61 -3
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -2
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -2
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +7 -2
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -2
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -2
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -2
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -2
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -2
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -2
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -2
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -2
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -2
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -2
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -2
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -2
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -2
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -2
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -2
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -2
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -2
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -2
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +3 -3
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -2
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -6
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -6
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -2
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -2
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -2
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +5 -5
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +1 -2
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +1 -2
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +1 -2
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +1 -2
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +1 -2
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +1 -2
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +1 -2
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +1 -2
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -2
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -2
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -2
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -2
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -2
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -2
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -2
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -2
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -2
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -2
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -2
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -2
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -2
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -2
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -2
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -2
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -2
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -2
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -2
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -2
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -2
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +3 -4
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -2
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -2
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -2
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +1 -2
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -2
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -2
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +1 -2
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -2
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -2
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -2
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -2
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -2
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -2
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -2
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -2
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -2
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -2
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -2
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -2
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +1 -2
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/{safelisted_apps.rb → safelisted_app.rb} +15 -11
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -2
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -2
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +1 -2
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +1 -2
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -2
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -2
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -2
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -2
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -2
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -2
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -2
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -2
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -2
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -2
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -2
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -2
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -2
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -2
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -2
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -2
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -2
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +1 -2
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +1 -2
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -2
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -2
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -2
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -2
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -2
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -2
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -2
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -2
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -2
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +1 -2
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -2
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -2
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -2
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -2
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -2
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -2
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -2
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -2
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +5 -5
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +5 -5
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -2
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -2
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +9 -2
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -2
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -2
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -2
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -2
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -2
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -2
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -2
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +1 -2
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -2
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -2
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -4
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -4
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -3
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -2
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -2
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -2
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -2
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -2
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -2
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -2
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -2
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -2
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -2
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -2
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -2
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -2
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -2
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -2
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -2
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -2
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -2
  465. data/lib/jamf/client/jamf_binary.rb +76 -77
  466. data/lib/jamf/client/jamf_helper.rb +245 -235
  467. data/lib/jamf/client/management_action.rb +63 -53
  468. data/lib/jamf/client.rb +3 -3
  469. data/lib/jamf/constants.rb +1 -1
  470. data/lib/jamf/deprecations/deprecated_api_connection_class.rb +29 -0
  471. data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
  472. data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
  473. data/lib/jamf/version.rb +1 -1
  474. data/lib/zeitwerk_config.rb +23 -17
  475. data/test/{README.md → README-TEST.md} +3 -0
  476. data/test/bin/runtests +42 -2
  477. data/test/lib/jamf_test/APITest.rb +33 -7
  478. data/test/lib/jamf_test/advanced_search.rb +40 -0
  479. data/test/lib/jamf_test/collection_tests.rb +8 -13
  480. data/test/lib/jamf_test/prestage_tests.rb +135 -0
  481. data/test/lib/jamf_test.rb +7 -1
  482. data/test/tests/advanced_computer_search.rb +36 -0
  483. data/test/tests/advanced_mobile_device_search.rb +36 -0
  484. data/test/tests/advanced_user_search.rb +36 -0
  485. data/test/tests/building.rb +41 -0
  486. data/test/tests/computer.rb +41 -0
  487. data/test/tests/computer_group.rb +132 -0
  488. data/test/tests/computer_prestage.rb +36 -0
  489. data/test/tests/department.rb +41 -0
  490. data/test/tests/inventory_preload_record.rb +2 -2
  491. data/test/tests/mobile_device.rb +41 -0
  492. data/test/tests/mobile_device_prestage.rb +37 -0
  493. data/test/tests/policy.rb +39 -50
  494. metadata +41 -53
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v1.rb +0 -102
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_request.rb +0 -92
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_response.rb +0 -105
  498. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_update.rb +0 -92
  499. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_request.rb +0 -166
  500. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_response.rb +0 -163
  501. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_update.rb +0 -171
  502. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings.rb +0 -264
@@ -29,7 +29,7 @@ module Jamf
29
29
  class Client
30
30
 
31
31
  # Module for working with jamfHelper.app on a managed client Mac
32
- # This should be extended into Jamf::Client
32
+ # This should be included into Jamf::Client
33
33
  #####################################
34
34
  module JamfHelper
35
35
 
@@ -54,250 +54,260 @@ module Jamf
54
54
  # The possible alignment positions in jamfHelper
55
55
  JAMF_HELPER_ALIGNMENTS = %i[right left center justified natural].freeze
56
56
 
57
+ # when this module is included, also extend our Class Methods
58
+ def self.included(includer)
59
+ Jamf.load_msg "--> #{includer} is including Jamf::Client::JamfHelper"
60
+ includer.extend(ClassMethods)
61
+ end
62
+
57
63
  # class Methods
58
64
  #####################################
59
65
 
60
- # A wrapper for the jamfHelper command, which can display a window on the client machine.
61
- #
62
- # The first parameter must be a symbol defining what kind of window to display. The options are
63
- # - :hud - creates an Apple "Heads Up Display" style window
64
- # - :utility or :util - creates an Apple "Utility" style window
65
- # - :fs or :full_screen or :fullscreen - creates a full screen window that restricts all user input
66
- # WARNING: Remote access must be used to unlock machines in this mode
67
- #
68
- # The remaining options Hash can contain any of the options listed. See below for descriptions.
69
- #
70
- # The value returned is the Integer exitstatus/stdout (both are the same) of the jamfHelper command.
71
- # The meanings of those integers are:
72
- #
73
- # - 0 - Button 1 was clicked
74
- # - 1 - The Jamf Helper was unable to launch
75
- # - 2 - Button 2 was clicked
76
- # - 3 - Process was started as a launchd task
77
- # - XX1 - Button 1 was clicked with a value of XX seconds selected in the drop-down
78
- # - XX2 - Button 2 was clicked with a value of XX seconds selected in the drop-down
79
- # - 239 - The exit button was clicked
80
- # - 240 - The "ProductVersion" in sw_vers did not return 10.5.X, 10.6.X or 10.7.X
81
- # - 243 - The window timed-out with no buttons on the screen
82
- # - 250 - Bad "-windowType"
83
- # - 254 - Cancel button was select with delay option present
84
- # - 255 - No "-windowType"
85
- #
86
- # If the :abandon_process option is given, the integer returned is the Process ID
87
- # of the abondoned process running jamfHelper.
88
- #
89
- # See also /Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -help
90
- #
91
- # @note the -startlaunchd and -kill options are not available in this implementation, since
92
- # they don't work at the moment (casper 9.4).
93
- # -startlaunchd seems to be required to NOT use launchd, and when it's ommited, an error is generated
94
- # about the launchd plist permissions being incorrect.
95
- #
96
- # @param window_type[Symbol] The type of window to display
97
- #
98
- # @param opts[Hash] the options for the window
99
- #
100
- # @option opts :window_position [Symbol,nil] one of [ nil, :ul, :ll. :ur, :lr ]
101
- # Positions window in the upper right, upper left, lower right or lower left of the user's screen
102
- # If no input is given, the window defaults to the center of the screen
103
- #
104
- # @option opts :title [String]
105
- # Sets the window's title to the specified string
106
- #
107
- # @option opts :heading [String]
108
- # Sets the heading of the window to the specified string
109
- #
110
- # @option opts :align_heading [Symbol] one of [:right, :left, :center, :justified, :natural]
111
- # Aligns the heading to the specified alignment
112
- #
113
- # @option opts :description [String]
114
- # Sets the main contents of the window to the specified string
115
- #
116
- # @option opts :align_description [Symbol] one of [:right, :left, :center, :justified, :natural]
117
- # Aligns the description to the specified alignment
118
- #
119
- # @option opts :icon [String,Pathname]
120
- # Sets the windows image field to the image located at the specified path
121
- #
122
- # @option opts :icon_size [Integer]
123
- # Changes the image frame to the specified pixel size
124
- #
125
- # @option opts :full_screen_icon [any value]
126
- # Scales the "icon" to the full size of the window.
127
- # Note: Only available in full screen mode
128
- #
129
- # @option opts :button1 [String]
130
- # Creates a button with the specified label
131
- #
132
- # @option opts :button2 [String]
133
- # Creates a second button with the specified label
134
- #
135
- # @option opts :default_button [Integer] either 1 or 2
136
- # Sets the default button of the window to the specified button. The Default Button will respond to "return"
137
- #
138
- # @option opts :cancel_button [Integer] either 1 or 2
139
- # Sets the cancel button of the window to the specified button. The Cancel Button will respond to "escape"
140
- #
141
- # @option opts :timeout [Integer]
142
- # Causes the window to timeout after the specified amount of seconds
143
- # Note: The timeout will cause the default button, button 1 or button 2 to be selected (in that order)
144
- #
145
- # @option opts :show_delay_options [String,Array<Integer>] A String of comma-separated Integers, or an Array of Integers.
146
- # Enables the "Delay Options Mode". The window will display a dropdown with the values passed through the string
147
- #
148
- # @option opts :countdown [any value]
149
- # Displays a string notifying the user when the window will time out
150
- #
151
- # @option opts :align_countdown [Symbol] one of [:right, :left, :center, :justified, :natural]
152
- # Aligns the countdown to the specified alignment
153
- #
154
- # @option opts :lock_hud [Boolean]
155
- # Removes the ability to exit the HUD by selecting the close button
156
- #
157
- # @option opts :abandon_process [Boolean] Abandon the jamfHelper process so that your code can exit.
158
- # This is mostly used so that a policy can finish while a dialog is waiting
159
- # (possibly forever) for user response. When true, the returned value is the
160
- # process id of the abandoned jamfHelper process.
161
- #
162
- # @option opts :output_file [String, Pathname] Save the output of jamfHelper
163
- # (the exit code) into this file. This is useful when using abandon_process.
164
- # The output file can be examined later to see what happened. If this option
165
- # is not provided, no output is saved.
166
- #
167
- # @option opts :arg_string [String] The jamfHelper commandline args as a single
168
- # String, the way you'd specify them in a shell. This is appended to any
169
- # Ruby options provided when calling the method. So calling:
170
- # Jamf::Client.jamf_helper :hud, title: 'This is a title', arg_string: '-heading "this is a heading"'
171
- # will run
172
- # jamfHelper -windowType hud -title 'this is a title' -heading "this is a heading"
173
- # When using this, be careful not to specify the windowType, since it's generated
174
- # by the first, required, parameter of this method.
175
- #
176
- # @return [Integer] the exit status of the jamfHelper command. See above.
177
- #
178
- def jamf_helper(window_type = :hud, **opts)
179
- raise Jamf::UnmanagedError, 'The jamfHelper app is not installed properly on this computer.' unless JAMF_HELPER.executable?
180
-
181
- unless JAMF_HELPER_WINDOW_TYPES.include? window_type
182
- raise Jamf::InvalidDataError, "The first parameter must be a window type, one of :#{JAMF_HELPER_WINDOW_TYPES.keys.join(', :')}."
183
- end
184
-
185
- # start building the arg array
186
-
187
- args = ['-startlaunchd', '-windowType', JAMF_HELPER_WINDOW_TYPES[window_type]]
188
-
189
- opts.keys.each do |opt|
190
- case opt
191
- when :window_position
192
- raise Jamf::InvalidDataError, ":window_position must be one of :#{JAMF_HELPER_WINDOW_POSITIONS.join(', :')}." unless \
193
- JAMF_HELPER_WINDOW_POSITIONS.include? opts[opt].to_sym
194
-
195
- args << '-windowPosition'
196
- args << opts[opt].to_s
197
-
198
- when :title
199
- args << '-title'
200
- args << opts[opt].to_s
201
-
202
- when :heading
203
- args << '-heading'
204
- args << opts[opt].to_s
205
-
206
- when :align_heading
207
- raise Jamf::InvalidDataError, ":align_heading must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
208
- JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
209
-
210
- args << '-alignHeading'
211
- args << opts[opt].to_s
212
-
213
- when :description
214
- args << '-description'
215
- args << opts[opt].to_s
216
-
217
- when :align_description
218
- raise Jamf::InvalidDataError, ":align_description must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
219
- JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
220
-
221
- args << '-alignDescription'
222
- args << opts[opt].to_s
223
-
224
- when :icon
225
- args << '-icon'
226
- args << opts[opt].to_s
227
-
228
- when :icon_size
229
- args << '-iconSize'
230
- args << opts[opt].to_s
231
-
232
- when :full_screen_icon
233
- args << '-fullScreenIcon'
234
-
235
- when :button1
236
- args << '-button1'
237
- args << opts[opt].to_s
238
-
239
- when :button2
240
- args << '-button2'
241
- args << opts[opt].to_s
242
-
243
- when :default_button
244
- raise Jamf::InvalidDataError, ":default_button must be one of #{JAMF_HELPER_BUTTONS.join(', ')}." unless \
245
- JAMF_HELPER_BUTTONS.include? opts[opt]
246
-
247
- args << '-defaultButton'
248
- args << opts[opt].to_s
249
-
250
- when :cancel_button
251
- raise Jamf::InvalidDataError, ":cancel_button must be one of #{JAMF_HELPER_BUTTONS.join(', ')}." unless \
252
- JAMF_HELPER_BUTTONS.include? opts[opt]
253
-
254
- args << '-cancelButton'
255
- args << opts[opt].to_s
256
-
257
- when :timeout
258
- args << '-timeout'
259
- args << opts[opt].to_s
260
-
261
- when :show_delay_options
262
- args << '-showDelayOptions'
263
- args << JSS.to_s_and_a(opts[opt])[:arrayform].join(', ')
264
-
265
- when :countdown
266
- args << '-countdown' if opts[opt]
267
-
268
- when :align_countdown
269
- raise Jamf::InvalidDataError, ":align_countdown must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
270
- JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
66
+ module ClassMethods
67
+
68
+ # A wrapper for the jamfHelper command, which can display a window on the client machine.
69
+ #
70
+ # The first parameter must be a symbol defining what kind of window to display. The options are
71
+ # - :hud - creates an Apple "Heads Up Display" style window
72
+ # - :utility or :util - creates an Apple "Utility" style window
73
+ # - :fs or :full_screen or :fullscreen - creates a full screen window that restricts all user input
74
+ # WARNING: Remote access must be used to unlock machines in this mode
75
+ #
76
+ # The remaining options Hash can contain any of the options listed. See below for descriptions.
77
+ #
78
+ # The value returned is the Integer exitstatus/stdout (both are the same) of the jamfHelper command.
79
+ # The meanings of those integers are:
80
+ #
81
+ # - 0 - Button 1 was clicked
82
+ # - 1 - The Jamf Helper was unable to launch
83
+ # - 2 - Button 2 was clicked
84
+ # - 3 - Process was started as a launchd task
85
+ # - XX1 - Button 1 was clicked with a value of XX seconds selected in the drop-down
86
+ # - XX2 - Button 2 was clicked with a value of XX seconds selected in the drop-down
87
+ # - 239 - The exit button was clicked
88
+ # - 240 - The "ProductVersion" in sw_vers did not return 10.5.X, 10.6.X or 10.7.X
89
+ # - 243 - The window timed-out with no buttons on the screen
90
+ # - 250 - Bad "-windowType"
91
+ # - 254 - Cancel button was select with delay option present
92
+ # - 255 - No "-windowType"
93
+ #
94
+ # If the :abandon_process option is given, the integer returned is the Process ID
95
+ # of the abondoned process running jamfHelper.
96
+ #
97
+ # See also /Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -help
98
+ #
99
+ # @note the -startlaunchd and -kill options are not available in this implementation, since
100
+ # they don't work at the moment (casper 9.4).
101
+ # -startlaunchd seems to be required to NOT use launchd, and when it's ommited, an error is generated
102
+ # about the launchd plist permissions being incorrect.
103
+ #
104
+ # @param window_type[Symbol] The type of window to display
105
+ #
106
+ # @param opts[Hash] the options for the window
107
+ #
108
+ # @option opts :window_position [Symbol,nil] one of [ nil, :ul, :ll. :ur, :lr ]
109
+ # Positions window in the upper right, upper left, lower right or lower left of the user's screen
110
+ # If no input is given, the window defaults to the center of the screen
111
+ #
112
+ # @option opts :title [String]
113
+ # Sets the window's title to the specified string
114
+ #
115
+ # @option opts :heading [String]
116
+ # Sets the heading of the window to the specified string
117
+ #
118
+ # @option opts :align_heading [Symbol] one of [:right, :left, :center, :justified, :natural]
119
+ # Aligns the heading to the specified alignment
120
+ #
121
+ # @option opts :description [String]
122
+ # Sets the main contents of the window to the specified string
123
+ #
124
+ # @option opts :align_description [Symbol] one of [:right, :left, :center, :justified, :natural]
125
+ # Aligns the description to the specified alignment
126
+ #
127
+ # @option opts :icon [String,Pathname]
128
+ # Sets the windows image field to the image located at the specified path
129
+ #
130
+ # @option opts :icon_size [Integer]
131
+ # Changes the image frame to the specified pixel size
132
+ #
133
+ # @option opts :full_screen_icon [any value]
134
+ # Scales the "icon" to the full size of the window.
135
+ # Note: Only available in full screen mode
136
+ #
137
+ # @option opts :button1 [String]
138
+ # Creates a button with the specified label
139
+ #
140
+ # @option opts :button2 [String]
141
+ # Creates a second button with the specified label
142
+ #
143
+ # @option opts :default_button [Integer] either 1 or 2
144
+ # Sets the default button of the window to the specified button. The Default Button will respond to "return"
145
+ #
146
+ # @option opts :cancel_button [Integer] either 1 or 2
147
+ # Sets the cancel button of the window to the specified button. The Cancel Button will respond to "escape"
148
+ #
149
+ # @option opts :timeout [Integer]
150
+ # Causes the window to timeout after the specified amount of seconds
151
+ # Note: The timeout will cause the default button, button 1 or button 2 to be selected (in that order)
152
+ #
153
+ # @option opts :show_delay_options [String,Array<Integer>] A String of comma-separated Integers, or an Array of Integers.
154
+ # Enables the "Delay Options Mode". The window will display a dropdown with the values passed through the string
155
+ #
156
+ # @option opts :countdown [any value]
157
+ # Displays a string notifying the user when the window will time out
158
+ #
159
+ # @option opts :align_countdown [Symbol] one of [:right, :left, :center, :justified, :natural]
160
+ # Aligns the countdown to the specified alignment
161
+ #
162
+ # @option opts :lock_hud [Boolean]
163
+ # Removes the ability to exit the HUD by selecting the close button
164
+ #
165
+ # @option opts :abandon_process [Boolean] Abandon the jamfHelper process so that your code can exit.
166
+ # This is mostly used so that a policy can finish while a dialog is waiting
167
+ # (possibly forever) for user response. When true, the returned value is the
168
+ # process id of the abandoned jamfHelper process.
169
+ #
170
+ # @option opts :output_file [String, Pathname] Save the output of jamfHelper
171
+ # (the exit code) into this file. This is useful when using abandon_process.
172
+ # The output file can be examined later to see what happened. If this option
173
+ # is not provided, no output is saved.
174
+ #
175
+ # @option opts :arg_string [String] The jamfHelper commandline args as a single
176
+ # String, the way you'd specify them in a shell. This is appended to any
177
+ # Ruby options provided when calling the method. So calling:
178
+ # Jamf::Client.jamf_helper :hud, title: 'This is a title', arg_string: '-heading "this is a heading"'
179
+ # will run
180
+ # jamfHelper -windowType hud -title 'this is a title' -heading "this is a heading"
181
+ # When using this, be careful not to specify the windowType, since it's generated
182
+ # by the first, required, parameter of this method.
183
+ #
184
+ # @return [Integer] the exit status of the jamfHelper command. See above.
185
+ #
186
+ def jamf_helper(window_type = :hud, **opts)
187
+ raise Jamf::UnmanagedError, 'The jamfHelper app is not installed properly on this computer.' unless JAMF_HELPER.executable?
188
+
189
+ unless JAMF_HELPER_WINDOW_TYPES.include? window_type
190
+ raise Jamf::InvalidDataError, "The first parameter must be a window type, one of :#{JAMF_HELPER_WINDOW_TYPES.keys.join(', :')}."
191
+ end
192
+
193
+ # start building the arg array
194
+
195
+ args = ['-startlaunchd', '-windowType', JAMF_HELPER_WINDOW_TYPES[window_type]]
196
+
197
+ opts.keys.each do |opt|
198
+ case opt
199
+ when :window_position
200
+ raise Jamf::InvalidDataError, ":window_position must be one of :#{JAMF_HELPER_WINDOW_POSITIONS.join(', :')}." unless \
201
+ JAMF_HELPER_WINDOW_POSITIONS.include? opts[opt].to_sym
202
+
203
+ args << '-windowPosition'
204
+ args << opts[opt].to_s
205
+
206
+ when :title
207
+ args << '-title'
208
+ args << opts[opt].to_s
209
+
210
+ when :heading
211
+ args << '-heading'
212
+ args << opts[opt].to_s
213
+
214
+ when :align_heading
215
+ raise Jamf::InvalidDataError, ":align_heading must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
216
+ JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
217
+
218
+ args << '-alignHeading'
219
+ args << opts[opt].to_s
220
+
221
+ when :description
222
+ args << '-description'
223
+ args << opts[opt].to_s
224
+
225
+ when :align_description
226
+ raise Jamf::InvalidDataError, ":align_description must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
227
+ JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
228
+
229
+ args << '-alignDescription'
230
+ args << opts[opt].to_s
231
+
232
+ when :icon
233
+ args << '-icon'
234
+ args << opts[opt].to_s
271
235
 
272
- args << '-alignCountdown'
273
- args << opts[opt].to_s
236
+ when :icon_size
237
+ args << '-iconSize'
238
+ args << opts[opt].to_s
274
239
 
275
- when :lock_hud
276
- args << '-lockHUD' if opts[opt]
240
+ when :full_screen_icon
241
+ args << '-fullScreenIcon'
277
242
 
278
- end # case opt
279
- end # each do opt
243
+ when :button1
244
+ args << '-button1'
245
+ args << opts[opt].to_s
280
246
 
281
- cmd = Shellwords.escape JAMF_HELPER.to_s
282
- args.each { |arg| cmd << " #{Shellwords.escape arg}" }
283
- cmd << " #{opts[:arg_string]}" if opts[:arg_string]
284
- cmd << " > #{Shellwords.escape opts[:output_file]}" if opts[:output_file]
247
+ when :button2
248
+ args << '-button2'
249
+ args << opts[opt].to_s
285
250
 
286
- if opts[:abandon_process]
287
- pid = Process.fork
288
- if pid.nil?
289
- # In child
290
- exec cmd
251
+ when :default_button
252
+ raise Jamf::InvalidDataError, ":default_button must be one of #{JAMF_HELPER_BUTTONS.join(', ')}." unless \
253
+ JAMF_HELPER_BUTTONS.include? opts[opt]
254
+
255
+ args << '-defaultButton'
256
+ args << opts[opt].to_s
257
+
258
+ when :cancel_button
259
+ raise Jamf::InvalidDataError, ":cancel_button must be one of #{JAMF_HELPER_BUTTONS.join(', ')}." unless \
260
+ JAMF_HELPER_BUTTONS.include? opts[opt]
261
+
262
+ args << '-cancelButton'
263
+ args << opts[opt].to_s
264
+
265
+ when :timeout
266
+ args << '-timeout'
267
+ args << opts[opt].to_s
268
+
269
+ when :show_delay_options
270
+ args << '-showDelayOptions'
271
+ args << JSS.to_s_and_a(opts[opt])[:arrayform].join(', ')
272
+
273
+ when :countdown
274
+ args << '-countdown' if opts[opt]
275
+
276
+ when :align_countdown
277
+ raise Jamf::InvalidDataError, ":align_countdown must be one of :#{JAMF_HELPER_ALIGNMENTS.join(', :')}." unless \
278
+ JAMF_HELPER_ALIGNMENTS.include? opts[opt].to_sym
279
+
280
+ args << '-alignCountdown'
281
+ args << opts[opt].to_s
282
+
283
+ when :lock_hud
284
+ args << '-lockHUD' if opts[opt]
285
+
286
+ end # case opt
287
+ end # each do opt
288
+
289
+ cmd = Shellwords.escape JAMF_HELPER.to_s
290
+ args.each { |arg| cmd << " #{Shellwords.escape arg}" }
291
+ cmd << " #{opts[:arg_string]}" if opts[:arg_string]
292
+ cmd << " > #{Shellwords.escape opts[:output_file]}" if opts[:output_file]
293
+
294
+ if opts[:abandon_process]
295
+ pid = Process.fork
296
+ if pid.nil?
297
+ # In child
298
+ exec cmd
299
+ else
300
+ # In parent
301
+ Process.detach(pid)
302
+ pid
303
+ end
291
304
  else
292
- # In parent
293
- Process.detach(pid)
294
- pid
305
+ system cmd
306
+ $CHILD_STATUS.exitstatus
295
307
  end
296
- else
297
- system cmd
298
- $CHILD_STATUS.exitstatus
299
- end
300
- end # def self.jamf_helper
308
+ end # def self.jamf_helper
309
+
310
+ end # ClassMethods
301
311
 
302
312
  end # module
303
313