ruby-jss 2.0.0a11 → 2.0.0b5

Sign up to get free protection for your applications and to get access to all the features.
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