ruby-jss 2.0.0a11 → 2.0.0b5

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 (498) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +1 -0
  3. data/README-2.0.0.md +59 -35
  4. data/README.md +227 -172
  5. data/lib/jamf/api/classic/api_objects/computer.rb +18 -15
  6. data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -0
  7. data/lib/jamf/api/classic/api_objects/criteriable.rb +1 -1
  8. data/lib/jamf/api/classic/api_objects/distribution_point.rb +12 -50
  9. data/lib/jamf/api/classic/api_objects/mdm.rb +40 -24
  10. data/lib/jamf/api/classic/api_objects/mobile_device.rb +8 -12
  11. data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +35 -6
  12. data/lib/jamf/api/classic/api_objects/patch_title.rb +14 -9
  13. data/lib/jamf/api/classic/api_objects/policy.rb +8 -17
  14. data/lib/jamf/api/classic/api_objects/script.rb +1 -1
  15. data/lib/jamf/api/classic/base_classes/advanced_search.rb +4 -4
  16. data/lib/jamf/api/classic/base_classes/api_object.rb +94 -35
  17. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -2
  18. data/lib/jamf/api/classic/base_classes/group.rb +57 -40
  19. data/lib/jamf/api/classic/base_classes/patch_source.rb +10 -5
  20. data/lib/jamf/api/connection/attributes.rb +51 -4
  21. data/lib/jamf/api/connection/classic_api.rb +2 -1
  22. data/lib/jamf/api/connection/connect.rb +49 -2
  23. data/lib/jamf/api/connection/constants.rb +6 -0
  24. data/lib/jamf/api/connection/jamf_pro_api.rb +6 -2
  25. data/lib/jamf/api/connection/token.rb +10 -3
  26. data/lib/jamf/api/connection.rb +1 -1
  27. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +9 -1
  28. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +15 -9
  29. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +8 -12
  30. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +178 -0
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +2 -3
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -2
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -2
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/{access_groups_search_results.rb → account_driven_user_enrollment_session_token_settings.rb} +14 -14
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -2
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -2
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -2
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -2
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +1 -2
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +1 -2
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +1 -2
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -2
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -2
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -2
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -2
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -2
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -2
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -2
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -2
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -2
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -2
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +1 -2
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -2
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -2
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -2
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -2
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -2
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -2
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -2
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -2
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -2
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -2
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -2
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -2
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -2
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -2
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -2
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/{deprecated_configuration_search_results.rb → available_updates.rb} +12 -20
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +1 -2
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +1 -2
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -2
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -2
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -2
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -2
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -2
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -2
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -2
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -2
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -2
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -2
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -2
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -2
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +1 -4
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +1 -2
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -2
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -2
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -2
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -2
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -2
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -2
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -2
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -2
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -6
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -2
  96. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -3
  97. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -4
  98. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -6
  99. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -9
  100. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -2
  101. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -2
  102. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -2
  103. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +2 -3
  104. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +2 -3
  105. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +26 -3
  106. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +2 -3
  107. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +2 -3
  108. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -2
  109. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -2
  110. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -2
  111. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -2
  112. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -2
  113. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -2
  114. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -2
  115. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -2
  116. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -2
  117. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -2
  118. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +2 -3
  119. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +2 -3
  120. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +2 -3
  121. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -3
  122. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -2
  123. data/lib/jamf/api/jamf_pro/oapi_schemas/{mdm_signing_certificate.rb → computer_group.rb} +18 -24
  124. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -3
  125. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -2
  126. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +2 -3
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_inventory_response.rb → computer_inventory.rb} +4 -5
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -2
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -2
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -2
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +4 -5
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -2
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +2 -3
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +2 -3
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -2
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -2
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +2 -3
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -2
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -2
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +2 -3
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -2
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -2
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -2
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +2 -3
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +1 -2
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +1 -2
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -2
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -2
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +2 -3
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -3
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -2
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -2
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +2 -3
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +2 -3
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +2 -3
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -3
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -3
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -2
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -2
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -2
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -2
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -2
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -2
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -2
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -2
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -2
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -2
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -2
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -2
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -2
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -2
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -2
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -2
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -2
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -2
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -2
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -2
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -2
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -2
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -2
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -2
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -2
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -2
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -2
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -2
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -2
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -2
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -2
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -2
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -2
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -2
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -2
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -2
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -2
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -2
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -2
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -2
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -2
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +12 -6
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -2
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -2
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -2
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -2
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -2
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -2
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -2
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -2
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -2
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -2
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -2
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -2
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -2
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +3 -3
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -2
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +5 -6
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +1 -2
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -2
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +5 -2
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -2
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -2
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -2
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -2
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -2
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -2
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +1 -2
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -2
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +1 -2
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -2
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -2
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -2
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -2
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -2
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -2
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -2
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -2
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -2
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +2 -3
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -2
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -4
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -4
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -6
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -2
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -4
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -2
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -2
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -2
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +5 -2
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -2
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -2
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -2
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +1 -2
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -2
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -2
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -2
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -2
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -2
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -2
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -2
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -2
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -2
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -2
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -2
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -2
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -2
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -2
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -2
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -2
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +1 -2
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +1 -2
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -2
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -2
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -2
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -2
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/{enrollment_access_group.rb → jamf_pro_information_v2.rb} +35 -34
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -2
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -2
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -2
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +5 -6
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -2
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -2
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -2
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -2
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -2
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -2
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -2
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -2
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -2
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -2
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -2
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -2
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -2
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -2
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -2
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +28 -3
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -4
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -2
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -2
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -2
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -2
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -2
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -2
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -2
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -2
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -4
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -4
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -2
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -2
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -2
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -2
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -2
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -2
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +61 -3
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -2
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -2
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +7 -2
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -2
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -2
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -2
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -2
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -2
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -2
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -2
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -2
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -2
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -2
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -2
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -2
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -2
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -2
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -2
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -2
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -2
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -2
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +3 -3
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -2
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -6
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -6
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -2
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -2
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -2
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +5 -5
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +1 -2
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +1 -2
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +1 -2
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +1 -2
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +1 -2
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +1 -2
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +1 -2
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +1 -2
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -2
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -2
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -2
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -2
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -2
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -2
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -2
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -2
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -2
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -2
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -2
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -2
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -2
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -2
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -2
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -2
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -2
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -2
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -2
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -2
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -2
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +3 -4
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -2
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -2
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -2
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +1 -2
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -2
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -2
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +1 -2
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -2
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -2
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -2
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -2
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -2
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -2
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -2
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -2
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -2
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -2
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -2
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -2
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +1 -2
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/{safelisted_apps.rb → safelisted_app.rb} +15 -11
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -2
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -2
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +1 -2
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +1 -2
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -2
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -2
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -2
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -2
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -2
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -2
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -2
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -2
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -2
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -2
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -2
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -2
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -2
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -2
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -2
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -2
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -2
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +1 -2
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +1 -2
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -2
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -2
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -2
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -2
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -2
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -2
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -2
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -2
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -2
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +1 -2
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -2
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -2
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -2
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -2
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -2
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -2
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -2
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -2
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +5 -5
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +5 -5
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -2
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -2
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +9 -2
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -2
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -2
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -2
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -2
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -2
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -2
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -2
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +1 -2
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -2
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -2
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -4
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -4
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -3
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -2
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -2
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -2
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -2
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -2
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -2
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -2
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -2
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -2
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -2
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -2
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -2
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -2
  465. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -2
  466. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -2
  467. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -2
  468. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -2
  469. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -2
  470. data/lib/jamf/client/jamf_binary.rb +76 -77
  471. data/lib/jamf/client/jamf_helper.rb +245 -235
  472. data/lib/jamf/client/management_action.rb +63 -53
  473. data/lib/jamf/client.rb +3 -3
  474. data/lib/jamf/deprecations/deprecated_api_connection_class.rb +29 -0
  475. data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
  476. data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
  477. data/lib/jamf/version.rb +1 -1
  478. data/lib/jamf/zeitwerk_config.rb +217 -0
  479. data/lib/jamf.rb +7 -39
  480. data/test/{README.md → README-TEST.md} +3 -0
  481. data/test/bin/runtests +42 -2
  482. data/test/lib/jamf_test/collection_tests.rb +4 -7
  483. data/test/tests/building.rb +41 -0
  484. data/test/tests/computer.rb +41 -0
  485. data/test/tests/computer_group.rb +132 -0
  486. data/test/tests/department.rb +41 -0
  487. data/test/tests/mobile_device.rb +41 -0
  488. data/test/tests/policy.rb +39 -50
  489. metadata +35 -54
  490. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v1.rb +0 -102
  491. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_request.rb +0 -92
  492. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_response.rb +0 -105
  493. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_update.rb +0 -92
  494. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_request.rb +0 -166
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_response.rb +0 -163
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_update.rb +0 -171
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings.rb +0 -264
  498. data/lib/zeitwerk_config.rb +0 -163
@@ -158,6 +158,7 @@ module Jamf
158
158
  include Jamf::Sitable
159
159
  include Jamf::MDM
160
160
  include Jamf::ManagementHistory
161
+ include Jamf::MacOSManagedUpdates
161
162
 
162
163
  extend Jamf::Matchable
163
164
 
@@ -183,24 +184,20 @@ module Jamf
183
184
  # these keys, as well as :id and :name, can be used to look up objects
184
185
  # of this class in the JSS
185
186
  #
186
- # the weird alises mac_addresse and macaddresse
187
- # are for proper pluralization of 'mac_address' and such
188
187
  OTHER_LOOKUP_KEYS = {
189
188
  udid: {
190
- aliases: [:uuid, :guid],
189
+ aliases: %i[uuid guid],
191
190
  fetch_rsrc_key: :udid
192
191
  },
193
192
  serial_number: {
194
- aliases: [:serialnumber, :sn],
193
+ aliases: %i[serialnumber sn],
195
194
  fetch_rsrc_key: :serialnumber
196
195
  },
197
196
  mac_address: {
198
- aliases: [
199
- :mac_address,
200
- :mac_addresse,
201
- :macaddress,
202
- :macaddresse,
203
- :macaddr
197
+ aliases: %i[
198
+ mac_address
199
+ macaddress
200
+ macaddr
204
201
  ],
205
202
  fetch_rsrc_key: :macaddress
206
203
  }
@@ -367,14 +364,14 @@ module Jamf
367
364
  def self.all_macbookpros(refresh = false, api: nil, cnx: Jamf.cnx)
368
365
  cnx = api if api
369
366
 
370
- all(refresh, cnx: cnx).select { |d| d[:model] =~ /^macbookpro\d/i }
367
+ all(refresh, cnx: cnx).select { |d| d[:model] =~ /^macbookpro\d/i }
371
368
  end
372
369
 
373
370
  # @return [Array<Hash>] all macbookairs in the jss
374
371
  def self.all_macbookairs(refresh = false, api: nil, cnx: Jamf.cnx)
375
372
  cnx = api if api
376
373
 
377
- all(refresh, cnx: cnx).select { |d| d[:model] =~ /^macbookair\d/i }
374
+ all(refresh, cnx: cnx).select { |d| d[:model] =~ /^macbookair\d/i }
378
375
  end
379
376
 
380
377
  # @return [Array<Hash>] all xserves in the jss
@@ -573,6 +570,7 @@ module Jamf
573
570
 
574
571
  id = valid_id ident, cnx: cnx
575
572
  raise "No computer matches identifier: #{ident}" unless id
573
+
576
574
  if subset
577
575
  management_data_subset id, subset: subset, only: only, cnx: cnx
578
576
  else
@@ -1007,6 +1005,7 @@ module Jamf
1007
1005
  #
1008
1006
  def filevault1_accounts
1009
1007
  return [] if filevault2_enabled?
1008
+
1010
1009
  local_accounts.select { |a| a[:filevault_enabled] }
1011
1010
  end
1012
1011
 
@@ -1059,6 +1058,7 @@ module Jamf
1059
1058
  #
1060
1059
  def management_data(subset: nil, only: nil)
1061
1060
  raise Jamf::NoSuchItemError, 'Computer not yet saved in the JSS' unless @in_jss
1061
+
1062
1062
  Jamf::Computer.management_data @id, subset: subset, only: only, cnx: @cnx
1063
1063
  end
1064
1064
 
@@ -1144,6 +1144,7 @@ module Jamf
1144
1144
  #
1145
1145
  def make_unmanaged
1146
1146
  return nil unless managed?
1147
+
1147
1148
  set_management_to(nil, nil)
1148
1149
  @unmange_at_update = true
1149
1150
  end
@@ -1186,30 +1187,35 @@ module Jamf
1186
1187
 
1187
1188
  def ip_address=(new_val)
1188
1189
  return nil if @ip_address == new_val
1190
+
1189
1191
  @ip_address = new_val.empty? ? new_val : Jamf::Validate.ip_address(new_val)
1190
1192
  @need_to_update = true
1191
1193
  end
1192
1194
 
1193
1195
  def mac_address=(new_val)
1194
1196
  return nil if new_val == @mac_address
1197
+
1195
1198
  @mac_address = new_val.empty? ? new_val : Jamf::Validate.mac_address(new_val)
1196
1199
  @need_to_update = true
1197
1200
  end
1198
1201
 
1199
1202
  def alt_mac_address=(new_val)
1200
1203
  return nil if new_val == @alt_mac_address
1204
+
1201
1205
  @alt_mac_address = new_val.empty? ? new_val : Jamf::Validate.mac_address(new_val)
1202
1206
  @need_to_update = true
1203
1207
  end
1204
1208
 
1205
1209
  def serial_number=(new_val)
1206
1210
  return nil if new_val == @serial_number
1211
+
1207
1212
  @serial_number = new_val.empty? ? new_val : Jamf::Validate.doesnt_already_exist(Jamf::Computer, :serial_number, new_val, cnx: cnx)
1208
1213
  @need_to_update = true
1209
1214
  end
1210
1215
 
1211
1216
  def udid=(new_val)
1212
1217
  return nil if new_val == @udid
1218
+
1213
1219
  @udid = new_val.empty? ? new_val : Jamf::Validate.doesnt_already_exist(Jamf::Computer, :udid, new_val, cnx: cnx)
1214
1220
  @need_to_update = true
1215
1221
  end
@@ -1269,9 +1275,6 @@ module Jamf
1269
1275
  @software = nil
1270
1276
  end # delete
1271
1277
 
1272
-
1273
-
1274
-
1275
1278
  # aliases
1276
1279
  alias alt_macaddress alt_mac_address
1277
1280
  alias bar_code_1 barcode1
@@ -57,6 +57,7 @@ module Jamf
57
57
  ### Mix-Ins
58
58
  #####################################
59
59
  include Jamf::MDM
60
+ include Jamf::MacOSManagedUpdates
60
61
 
61
62
  #####################################
62
63
  ### Class Methods
@@ -153,7 +153,7 @@ module Jamf
153
153
  #
154
154
  def parse_criteria
155
155
  @criteria = Jamf::Criteriable::Criteria.new
156
- @criteria.criteria = @init_data[:criteria].map { |c| Jamf::Criteriable::Criterion.new **c } if @init_data[:criteria]
156
+ @criteria.criteria = @init_data[:criteria].map { |c| Jamf::Criteriable::Criterion.new(**c) } if @init_data[:criteria]
157
157
 
158
158
  @criteria.container = self
159
159
  end
@@ -107,27 +107,18 @@ module Jamf
107
107
  def self.master_distribution_point(refresh = false, default: nil, api: nil, cnx: Jamf.cnx)
108
108
  cnx = api if api
109
109
 
110
- @master_distribution_point = nil if refresh
111
- return @master_distribution_point if @master_distribution_point
112
-
113
110
  all_ids(refresh, cnx: cnx).each do |dp_id|
114
111
  dp = fetch id: dp_id, cnx: cnx
115
- if dp.master?
116
- @master_distribution_point = dp
117
- break
118
- end
112
+ return dp if dp.master?
119
113
  end
120
114
 
121
- # If we're here, the Cloud DP might be master, but there's no
122
- # access to it in the API :/
123
- raise Jamf::NoSuchItemError, 'No Master FileShare Distribtion Point. Use the default: parameter if needed.' unless @master_distribution_point || default
124
-
125
- if @master_distribution_point
126
- @master_distribution_point
127
- elsif default == :random
128
- @master_distribution_point = fetch(id: all_ids.sample, cnx: cnx)
115
+ case default
116
+ when :random
117
+ fetch id: all_ids.sample, cnx: cnx
118
+ when nil
119
+ raise Jamf::NoSuchItemError, 'No Master FileShare Distribtion Point. Use the default: parameter if needed.'
129
120
  else
130
- @master_distribution_point = fetch(default, cnx: cnx)
121
+ fetch default, cnx: cnx
131
122
  end
132
123
  end
133
124
 
@@ -267,38 +258,9 @@ module Jamf
267
258
  # @return [String] the ssh password as a SHA256 digest
268
259
  attr_reader :ssh_password_sha256
269
260
 
270
- # As well as the standard :id, :name, and :data, you can
271
- # instantiate this class with :id => :master, in which case you'll
272
- # get the Master Distribution Point as defined in the JSS.
273
- # An error will be raised if one hasn't been defined.
274
- #
275
- # You can also do this more easily by calling JSS.master_distribution_point
276
- #
277
261
  def initialize(**args)
278
- # TODO: this looks redundant with super....
279
- args[:cnx] ||= args[:api]
280
- args[:cnx] ||= Jamf.cnx
281
-
282
- @cnx = args[:cnx]
283
-
284
- @init_data = nil
285
-
286
- # looking for master?
287
- if args[:id] == :master
288
-
289
- self.class.all_ids(cnx: @cnx).each do |id|
290
- @init_data = @cnx.c_get("#{RSRC_BASE}/id/#{id}")[RSRC_OBJECT_KEY]
291
- if @init_data[:is_master]
292
- @id = @init_data[:id]
293
- @name = @init_data[:name]
294
- break
295
- end # if data is master
296
- @init_data = nil
297
- end # each id
298
- end # if args is master
299
-
300
- super(args) if @init_data.nil?
301
-
262
+ super
263
+
302
264
  @ip_address = @init_data[:ip_address]
303
265
  @local_path = @init_data[:local_path]
304
266
  @enable_load_balancing = @init_data[:enable_load_balancing]
@@ -365,7 +327,7 @@ module Jamf
365
327
  when :ro then @read_only_password_sha256
366
328
  when :http then @http_password_sha256
367
329
  when :ssh then @ssh_password_sha256
368
- end # case
330
+ end # case
369
331
 
370
332
  return nil if sha256 == EMPTY_PW_256
371
333
 
@@ -449,7 +411,7 @@ module Jamf
449
411
  JSS.stdin line
450
412
  else
451
413
  pw
452
- end
414
+ end
453
415
 
454
416
  pwok = check_pw(access, password)
455
417
  unless pwok
@@ -466,7 +428,7 @@ module Jamf
466
428
  when 'smb' then '/sbin/mount_smbfs'
467
429
  when 'afp' then '/sbin/mount_afp'
468
430
  else raise "Can't mount distribution point #{@name}: no known connection type."
469
- end
431
+ end
470
432
 
471
433
  @mountpoint.mkpath
472
434
 
@@ -442,7 +442,7 @@ module Jamf
442
442
  #
443
443
  # @return [Array<Integer>] The ids of the target devices for a command
444
444
  #
445
- def raw_targets_to_ids(targets, expand_groups: true, api: nil, cnx: Jamf.cnx)
445
+ def raw_targets_to_ids(targets, expand_groups: true, unmanaged_ok: false, api: nil, cnx: Jamf.cnx)
446
446
  cnx = api if api
447
447
 
448
448
  targets = targets.is_a?(Array) ? targets : [targets]
@@ -454,6 +454,7 @@ module Jamf
454
454
  targets.map! do |md|
455
455
  id = valid_id md, cnx: cnx
456
456
  raise Jamf::NoSuchItemError, "No #{self} matches identifier: #{md}" unless id
457
+
457
458
  id
458
459
  end # map!
459
460
 
@@ -465,13 +466,17 @@ module Jamf
465
466
  end
466
467
 
467
468
  # make sure all of them are managed, or else the API will raise a 400
468
- # 'Bad Request' when sending the command to an unmanaged target
469
- all_mgd = map_all_ids_to(:managed, cnx: cnx).select { |_id, mgd| mgd }.keys
470
-
471
- targets.each do |target_id|
472
- raise Jamf::UnmanagedError, "#{self} with id #{target_id} is not managed. Cannot send command." unless all_mgd.include? target_id
473
- end
474
-
469
+ # 'Bad Request' when sending the command to an unmanaged target.
470
+ # Some actions, like flushing MDM commands (see .flush_mdm_commands)
471
+ # are OK on unmanaged machines, so they will specify 'unmanaged_ok'
472
+ unless unmanaged_ok
473
+ all_mgd = map_all_ids_to(:managed, cnx: cnx).select { |_id, mgd| mgd }.keys
474
+
475
+ targets.each do |target_id|
476
+ raise Jamf::UnmanagedError, "#{self} with id #{target_id} is not managed. Cannot send command." unless all_mgd.include? target_id
477
+ end
478
+ end # unles
479
+
475
480
  targets
476
481
  end
477
482
 
@@ -535,9 +540,11 @@ module Jamf
535
540
  case self::MDM_COMMAND_TARGET
536
541
  when *COMPUTER_TARGETS
537
542
  return command if COMPUTER_COMMANDS.include? command
543
+
538
544
  raise Jamf::UnsupportedError, "'#{command}' cannot be sent to computers or computer groups"
539
545
  when *DEVICE_TARGETS
540
546
  return command if DEVICE_COMMANDS.include? command
547
+
541
548
  raise Jamf::UnsupportedError, "'#{command}' cannot be sent to mobile devices or mobile device groups"
542
549
  end
543
550
 
@@ -585,6 +592,7 @@ module Jamf
585
592
  case self::MDM_COMMAND_TARGET
586
593
  when *COMPUTER_TARGETS
587
594
  raise Jamf::InvalidDataError, 'Locking computers requires a 6-character String passcode' unless passcode.size == 6
595
+
588
596
  opts = { passcode: passcode }
589
597
  when *DEVICE_TARGETS
590
598
  opts = {}
@@ -613,6 +621,7 @@ module Jamf
613
621
  case self::MDM_COMMAND_TARGET
614
622
  when *COMPUTER_TARGETS
615
623
  raise Jamf::InvalidDataError, 'Erasing computers requires a 6-character String passcode' unless passcode.size == 6
624
+
616
625
  opts = { passcode: passcode }
617
626
  when *DEVICE_TARGETS
618
627
  opts = {}
@@ -850,13 +859,17 @@ module Jamf
850
859
  def wallpaper(targets, wallpaper_setting: nil, wallpaper_content: nil, wallpaper_id: nil, api: nil, cnx: Jamf.cnx)
851
860
  cnx = api if api
852
861
 
853
- raise ArgumentError, "wallpaper_setting must be one of: :#{WALLPAPER_LOCATIONS.keys.join ', :'}" unless WALLPAPER_LOCATIONS.keys.include? wallpaper_setting
862
+ unless WALLPAPER_LOCATIONS.keys.include? wallpaper_setting
863
+ raise ArgumentError,
864
+ "wallpaper_setting must be one of: :#{WALLPAPER_LOCATIONS.keys.join ', :'}"
865
+ end
854
866
 
855
867
  opts = { wallpaper_setting: WALLPAPER_LOCATIONS[wallpaper_setting] }
856
868
 
857
869
  if wallpaper_content
858
870
  file = Pathname.new wallpaper_content
859
871
  raise Jamf::NoSuchItemError, "Not a file: #{file}" unless file.file?
872
+
860
873
  opts[:wallpaper_content] = Base64.encode64 file.read
861
874
  elsif wallpaper_id
862
875
  opts[:wallpaper_id] = wallpaper_id
@@ -993,18 +1006,19 @@ module Jamf
993
1006
  # @return (see .send_mdm_command)
994
1007
  #
995
1008
  def enable_lost_mode(
996
- targets,
997
- message: nil,
998
- phone: nil,
999
- footnote: nil,
1000
- play_sound: false,
1001
- enforce_lost_mode: true,
1002
- api: nil,
1003
- cnx: Jamf.cnx
1004
- )
1009
+ targets,
1010
+ message: nil,
1011
+ phone: nil,
1012
+ footnote: nil,
1013
+ play_sound: false,
1014
+ enforce_lost_mode: true,
1015
+ api: nil,
1016
+ cnx: Jamf.cnx
1017
+ )
1005
1018
  cnx = api if api
1006
1019
 
1007
1020
  raise ArgumentError, 'Either message: or phone_number: must be provided' unless message || phone
1021
+
1008
1022
  opts = { always_enforce_lost_mode: enforce_lost_mode }
1009
1023
  opts[:lost_mode_message] = message if message
1010
1024
  opts[:lost_mode_phone] = phone if phone
@@ -1067,7 +1081,9 @@ module Jamf
1067
1081
 
1068
1082
  status = FLUSHABLE_STATUSES[status]
1069
1083
 
1070
- target_ids = raw_targets_to_ids targets, cnx: cnx, expand_groups: false
1084
+ # TODO: add 'unmanaged_ok:' param to raw_targets_to_ids method, so that we can
1085
+ # use this to flush commands for unmanaged machines.
1086
+ target_ids = raw_targets_to_ids targets, cnx: cnx, expand_groups: false, unmanaged_ok: true
1071
1087
 
1072
1088
  command_flush_rsrc = "commandflush/#{self::MDM_COMMAND_TARGET}/id"
1073
1089
 
@@ -1367,11 +1383,11 @@ module Jamf
1367
1383
  # @return (see .send_mdm_command)
1368
1384
  #
1369
1385
  def enable_lost_mode(
1370
- message: nil,
1371
- phone_number: nil,
1372
- footnote: nil,
1373
- enforce_lost_mode: true,
1374
- play_sound: false
1386
+ message: nil,
1387
+ phone_number: nil,
1388
+ footnote: nil,
1389
+ enforce_lost_mode: true,
1390
+ play_sound: false
1375
1391
  )
1376
1392
  self.class.enable_lost_mode(
1377
1393
  @id,
@@ -106,21 +106,18 @@ module Jamf
106
106
  # are for proper pluralization of 'mac_address' and such
107
107
  OTHER_LOOKUP_KEYS = {
108
108
  udid: {
109
- aliases: [:uuid, :guid],
109
+ aliases: %i[uuid guid],
110
110
  fetch_rsrc_key: :udid
111
111
  },
112
112
  serial_number: {
113
- aliases: [:serialnumber, :sn],
113
+ aliases: %i[serialnumber sn],
114
114
  fetch_rsrc_key: :serialnumber
115
115
  },
116
116
  wifi_mac_address: {
117
- aliases: [
118
- :wifi_mac_addresse,
119
- :mac_address,
120
- :mac_addresse,
121
- :macaddress,
122
- :macaddresse,
123
- :macaddr
117
+ aliases: %i[
118
+ wifi_macaddr
119
+ mac_address
120
+ macaddr
124
121
  ],
125
122
  fetch_rsrc_key: :macaddress
126
123
  }
@@ -530,21 +527,20 @@ module Jamf
530
527
  @needs_mdm_name_change = true if managed? && supervised?
531
528
  end
532
529
 
533
- #
534
530
  def serial_number=(new_val)
535
531
  return nil if new_val == @serial_number
532
+
536
533
  @serial_number = new_val.empty? ? new_val : Jamf::Validate.doesnt_already_exist(self.class, :serial_number, new_val, cnx: cnx)
537
534
  @need_to_update = true
538
535
  end
539
536
 
540
- #
541
537
  def udid=(new_val)
542
538
  return nil if new_val == @udid
539
+
543
540
  @udid = new_val.empty? ? new_val : Jamf::Validate.doesnt_already_exist(self.class, :udid, new_val, cnx: cnx)
544
541
  @need_to_update = true
545
542
  end
546
543
 
547
- #
548
544
  def asset_tag=(new_val)
549
545
  new_val = new_val.strip
550
546
  return nil if @asset_tag == new_val
@@ -50,7 +50,6 @@ module Jamf
50
50
  include Jamf::VPPable
51
51
  include Jamf::Sitable
52
52
 
53
-
54
53
  # Class Methods
55
54
  #####################################
56
55
 
@@ -162,6 +161,10 @@ module Jamf
162
161
  # does its backups (to icloud or itunes)?
163
162
  attr_reader :prevent_backup_of_app_data
164
163
 
164
+ # @return [Boolean] Should this app auto-update on devices?
165
+ attr_reader :keep_app_updated_on_devices
166
+ alias auto_update? keep_app_updated_on_devices
167
+
165
168
  # @return [Boolean] should the JSS update the icon and description from the app
166
169
  # source?
167
170
  attr_reader :keep_description_and_icon_up_to_date
@@ -185,7 +188,6 @@ module Jamf
185
188
  # which contains a plist <dict> element with config data.
186
189
  attr_reader :configuration_prefs
187
190
 
188
-
189
191
  # Constructor
190
192
  #####################################
191
193
 
@@ -208,6 +210,7 @@ module Jamf
208
210
  @itunes_country_region = general[:itunes_country_region]
209
211
  @itunes_sync_time = general[:itunes_sync_time]
210
212
  @deploy_as_managed_app = general[:deploy_as_managed_app]
213
+ @keep_app_updated_on_devices = general[:keep_app_updated_on_devices]
211
214
  @remove_app_when_mdm_profile_is_removed = general[:remove_app_when_mdm_profile_is_removed]
212
215
  @prevent_backup_of_app_data = general[:prevent_backup_of_app_data]
213
216
  @keep_description_and_icon_up_to_date = general[:keep_description_and_icon_up_to_date]
@@ -232,6 +235,7 @@ module Jamf
232
235
  #
233
236
  def display_name=(new_val)
234
237
  return nil if new_val.to_s == @display_name
238
+
235
239
  @display_name = new_val.to_s
236
240
  @need_to_update = true
237
241
  end
@@ -274,6 +278,7 @@ module Jamf
274
278
  #
275
279
  def url=(new_val)
276
280
  return nil if new_val == @url
281
+
277
282
  @url = new_val
278
283
  @need_to_update = true
279
284
  end
@@ -288,6 +293,7 @@ module Jamf
288
293
  def make_available_after_install=(new_val)
289
294
  return nil if new_val == @make_available_after_install
290
295
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
296
+
291
297
  @make_available_after_install = new_val
292
298
  @need_to_update = true
293
299
  end
@@ -302,10 +308,25 @@ module Jamf
302
308
  def deploy_as_managed_app=(new_val)
303
309
  return nil if new_val == @deploy_as_managed_app
304
310
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
311
+
305
312
  @deploy_as_managed_app = new_val
306
313
  @need_to_update = true
307
314
  end
308
315
 
316
+ # Set whether or not this app should be auto-updated on devices
317
+ #
318
+ # @param new_val[Boolean] The new value
319
+ #
320
+ # @return [void]
321
+ #
322
+ def keep_app_updated_on_devices=(new_val)
323
+ return nil if new_val == @keep_app_updated_on_devices
324
+ raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
325
+
326
+ @keep_app_updated_on_devices = new_val
327
+ @need_to_update = true
328
+ end
329
+ alias auto_update= keep_app_updated_on_devices=
309
330
 
310
331
  # Set whether or not this app should be removed when
311
332
  # the device is unmanaged
@@ -317,6 +338,7 @@ module Jamf
317
338
  def remove_app_when_mdm_profile_is_removed=(new_val)
318
339
  return nil if new_val == @remove_app_when_mdm_profile_is_removed
319
340
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
341
+
320
342
  @remove_app_when_mdm_profile_is_removed = new_val
321
343
  @need_to_update = true
322
344
  end
@@ -330,11 +352,11 @@ module Jamf
330
352
  def prevent_backup_of_app_data=(new_val)
331
353
  return nil if new_val == @prevent_backup_of_app_data
332
354
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
355
+
333
356
  @prevent_backup_of_app_data = new_val
334
357
  @need_to_update = true
335
358
  end
336
359
 
337
-
338
360
  # Set whether or not the jss should update info about this app from the app store
339
361
  #
340
362
  # @param new_val[Boolean] The new value
@@ -344,6 +366,7 @@ module Jamf
344
366
  def keep_description_and_icon_up_to_date=(new_val)
345
367
  return nil if new_val == @keep_description_and_icon_up_to_date
346
368
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
369
+
347
370
  @keep_description_and_icon_up_to_date = new_val
348
371
  @need_to_update = true
349
372
  end
@@ -357,6 +380,7 @@ module Jamf
357
380
  def free=(new_val)
358
381
  return nil if new_val == @free
359
382
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
383
+
360
384
  @free = new_val
361
385
  @need_to_update = true
362
386
  end
@@ -371,6 +395,7 @@ module Jamf
371
395
  def take_over_management=(new_val)
372
396
  return nil if new_val == @take_over_management
373
397
  raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
398
+
374
399
  @take_over_management = new_val
375
400
  @need_to_update = true
376
401
  end
@@ -432,6 +457,7 @@ module Jamf
432
457
  #
433
458
  def external_url=(new_val)
434
459
  return nil if new_val == @external_url
460
+
435
461
  @external_url = new_val
436
462
  @need_to_update = true
437
463
  end
@@ -445,11 +471,11 @@ module Jamf
445
471
  #
446
472
  def configuration_prefs=(new_val)
447
473
  return nil if new_val == @configuration_prefs
474
+
448
475
  @configuration_prefs = new_val
449
476
  @need_to_update = true
450
477
  end
451
478
 
452
-
453
479
  # Save the application to a file.
454
480
  #
455
481
  # @param path[Pathname, String] The path to which the file should be saved.
@@ -462,10 +488,12 @@ module Jamf
462
488
  #
463
489
  def save_ipa(path, overwrite = false)
464
490
  return nil unless @ipa[:data]
491
+
465
492
  path = Pathname.new path
466
- path = path + @ipa[:name] if path.directory? && @ipa[:name]
493
+ path += @ipa[:name] if path.directory? && @ipa[:name]
467
494
 
468
495
  raise Jamf::AlreadyExistsError, "The file #{path} already exists" if path.exist? && !overwrite
496
+
469
497
  path.delete if path.exist?
470
498
  path.jss_save Base64.decode64(@ipa[:data])
471
499
  end
@@ -507,6 +535,7 @@ module Jamf
507
535
  #
508
536
  def refresh_ipa
509
537
  return nil unless @in_jss
538
+
510
539
  fresh_data = @cnx.c_get(@rest_rsrc)[self.class::RSRC_OBJECT_KEY]
511
540
  @ipa = fresh_data[:general][:ipa]
512
541
  end
@@ -523,6 +552,7 @@ module Jamf
523
552
  gen.add_element('deploy_as_managed_app').text = @deploy_as_managed_app
524
553
  gen.add_element('remove_app_when_mdm_profile_is_removed').text = @remove_app_when_mdm_profile_is_removed
525
554
  gen.add_element('prevent_backup_of_app_data').text = @prevent_backup_of_app_data
555
+ gen.add_element('keep_app_updated_on_devices').text = @keep_app_updated_on_devices
526
556
  gen.add_element('keep_description_and_icon_up_to_date').text = @keep_description_and_icon_up_to_date
527
557
  gen.add_element('free').text = @free
528
558
  gen.add_element('take_over_management').text = @take_over_management
@@ -540,7 +570,6 @@ module Jamf
540
570
  doc.to_s
541
571
  end
542
572
 
543
-
544
573
  end # class removable_macaddr
545
574
 
546
575
  end # module