ruby-jss 2.0.0a11 → 2.0.0b1

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 (488) hide show
  1. checksums.yaml +4 -4
  2. data/README-2.0.0.md +45 -32
  3. data/lib/jamf/api/classic/api_objects/computer.rb +18 -15
  4. data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -0
  5. data/lib/jamf/api/classic/api_objects/criteriable.rb +1 -1
  6. data/lib/jamf/api/classic/api_objects/mdm.rb +40 -24
  7. data/lib/jamf/api/classic/api_objects/mobile_device.rb +8 -12
  8. data/lib/jamf/api/classic/api_objects/policy.rb +8 -17
  9. data/lib/jamf/api/classic/api_objects/script.rb +1 -1
  10. data/lib/jamf/api/classic/base_classes/advanced_search.rb +4 -4
  11. data/lib/jamf/api/classic/base_classes/api_object.rb +25 -25
  12. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -2
  13. data/lib/jamf/api/classic/base_classes/group.rb +57 -40
  14. data/lib/jamf/api/connection/attributes.rb +51 -4
  15. data/lib/jamf/api/connection/classic_api.rb +2 -1
  16. data/lib/jamf/api/connection/connect.rb +49 -2
  17. data/lib/jamf/api/connection/constants.rb +6 -0
  18. data/lib/jamf/api/connection/jamf_pro_api.rb +6 -2
  19. data/lib/jamf/api/connection/token.rb +9 -3
  20. data/lib/jamf/api/connection.rb +4 -0
  21. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +10 -1
  22. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +15 -9
  23. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +168 -0
  24. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +2 -3
  25. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -2
  26. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -2
  27. data/lib/jamf/api/jamf_pro/oapi_schemas/{access_groups_search_results.rb → account_driven_user_enrollment_session_token_settings.rb} +14 -14
  28. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -2
  29. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -2
  30. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -2
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -2
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +1 -2
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +1 -2
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +1 -2
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -2
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -2
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -2
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -2
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -2
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -2
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -2
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -2
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -2
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -2
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +1 -2
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -2
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -2
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -2
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -2
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -2
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -2
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -2
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -2
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -2
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -2
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -2
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -2
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -2
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -2
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -2
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/{deprecated_configuration_search_results.rb → available_updates.rb} +12 -20
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +1 -2
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +1 -2
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -2
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -2
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -2
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -2
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -2
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -2
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -2
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -2
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -2
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -2
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -2
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -2
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +1 -4
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +1 -2
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -2
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -2
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -2
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -2
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -2
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -2
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -2
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -2
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -6
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -2
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -3
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -4
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -6
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -9
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -2
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -2
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -2
  96. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +2 -3
  97. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +2 -3
  98. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +26 -3
  99. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +2 -3
  100. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +2 -3
  101. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -2
  102. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -2
  103. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -2
  104. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -2
  105. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -2
  106. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -2
  107. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -2
  108. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -2
  109. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -2
  110. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -2
  111. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +2 -3
  112. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +2 -3
  113. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +2 -3
  114. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -3
  115. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -2
  116. data/lib/jamf/api/jamf_pro/oapi_schemas/{mdm_signing_certificate.rb → computer_group.rb} +18 -24
  117. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -3
  118. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -2
  119. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +2 -3
  120. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_inventory_response.rb → computer_inventory.rb} +4 -5
  121. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -2
  122. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -2
  123. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -2
  124. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +4 -5
  125. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -2
  126. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +2 -3
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +2 -3
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -2
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -2
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +2 -3
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -2
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -2
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +2 -3
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -2
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -2
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -2
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +2 -3
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +1 -2
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +1 -2
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -2
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -2
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +2 -3
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -3
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -2
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -2
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +2 -3
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +2 -3
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +2 -3
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -3
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -3
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -2
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -2
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -2
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -2
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -2
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -2
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -2
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -2
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -2
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -2
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -2
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -2
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -2
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -2
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -2
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -2
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -2
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -2
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -2
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -2
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -2
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -2
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -2
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -2
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -2
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -2
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -2
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -2
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -2
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -2
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -2
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -2
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -2
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -2
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -2
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -2
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -2
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -2
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -2
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -2
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -2
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +12 -6
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -2
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -2
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -2
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -2
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -2
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -2
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -2
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -2
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -2
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -2
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -2
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -2
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -2
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +3 -3
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -2
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +5 -6
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +1 -2
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -2
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +5 -2
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -2
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -2
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -2
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -2
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -2
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -2
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +1 -2
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -2
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +1 -2
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -2
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -2
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -2
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -2
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -2
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -2
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -2
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -2
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -2
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +2 -3
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -2
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -4
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -4
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -6
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -2
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -4
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -2
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -2
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -2
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +5 -2
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -2
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -2
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -2
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +1 -2
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -2
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -2
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -2
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -2
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -2
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -2
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -2
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -2
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -2
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -2
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -2
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -2
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -2
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -2
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -2
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -2
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +1 -2
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +1 -2
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -2
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -2
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -2
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -2
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/{enrollment_access_group.rb → jamf_pro_information_v2.rb} +35 -34
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -2
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -2
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -2
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +5 -6
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -2
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -2
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -2
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -2
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -2
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -2
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -2
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -2
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -2
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -2
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -2
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -2
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -2
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -2
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -2
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +28 -3
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -4
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -2
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -2
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -2
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -2
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -2
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -2
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -2
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -2
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -4
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -4
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -2
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -2
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -2
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -2
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -2
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -2
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +61 -3
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -2
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -2
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +7 -2
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -2
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -2
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -2
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -2
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -2
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -2
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -2
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -2
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -2
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -2
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -2
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -2
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -2
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -2
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -2
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -2
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -2
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -2
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +3 -3
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -2
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -6
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -6
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -2
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -2
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -2
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +5 -5
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +1 -2
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +1 -2
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +1 -2
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +1 -2
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +1 -2
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +1 -2
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +1 -2
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +1 -2
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -2
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -2
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -2
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -2
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -2
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -2
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -2
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -2
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -2
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -2
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -2
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -2
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -2
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -2
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -2
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -2
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -2
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -2
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -2
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -2
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -2
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +3 -4
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -2
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -2
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -2
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +1 -2
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -2
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -2
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +1 -2
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -2
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -2
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -2
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -2
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -2
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -2
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -2
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -2
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -2
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -2
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -2
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -2
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +1 -2
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/{safelisted_apps.rb → safelisted_app.rb} +15 -11
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -2
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -2
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +1 -2
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +1 -2
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -2
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -2
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -2
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -2
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -2
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -2
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -2
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -2
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -2
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -2
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -2
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -2
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -2
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -2
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -2
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -2
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -2
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +1 -2
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +1 -2
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -2
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -2
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -2
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -2
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -2
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -2
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -2
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -2
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -2
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +1 -2
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -2
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -2
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -2
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -2
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -2
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -2
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -2
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -2
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +5 -5
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +5 -5
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -2
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -2
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +9 -2
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -2
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -2
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -2
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -2
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -2
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -2
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -2
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +1 -2
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -2
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -2
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -4
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -4
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -3
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -2
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -2
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -2
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -2
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -2
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -2
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -2
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -2
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -2
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -2
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -2
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -2
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -2
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -2
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -2
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -2
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -2
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -2
  463. data/lib/jamf/client/jamf_binary.rb +76 -77
  464. data/lib/jamf/client/jamf_helper.rb +245 -235
  465. data/lib/jamf/client/management_action.rb +63 -53
  466. data/lib/jamf/client.rb +3 -3
  467. data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
  468. data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
  469. data/lib/jamf/version.rb +1 -1
  470. data/lib/zeitwerk_config.rb +5 -5
  471. data/test/{README.md → README-TEST.md} +3 -0
  472. data/test/bin/runtests +42 -2
  473. data/test/lib/jamf_test/collection_tests.rb +4 -7
  474. data/test/tests/building.rb +41 -0
  475. data/test/tests/computer.rb +41 -0
  476. data/test/tests/computer_group.rb +132 -0
  477. data/test/tests/department.rb +41 -0
  478. data/test/tests/mobile_device.rb +41 -0
  479. data/test/tests/policy.rb +38 -50
  480. metadata +27 -35
  481. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v1.rb +0 -102
  482. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_request.rb +0 -92
  483. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_response.rb +0 -105
  484. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_update.rb +0 -92
  485. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_request.rb +0 -166
  486. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_response.rb +0 -163
  487. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_update.rb +0 -171
  488. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings.rb +0 -264
@@ -31,7 +31,7 @@ module Jamf
31
31
 
32
32
  # Module for working with the Management Action.app, which is an interface
33
33
  # to the Notification Center
34
- # This should be extended into Jamf::Client
34
+ # This should be included into Jamf::Client
35
35
  #####################################
36
36
  module ManagementAction
37
37
 
@@ -43,67 +43,77 @@ module Jamf
43
43
  # MGMT_ACTION_BUNDLE_ID = 'com.jamfsoftware.Management-Action'.freeze
44
44
  # HUP_NOTIF_CTR_CMD = '/usr/bin/killall sighup usernoted NotificationCenter'.freeze
45
45
 
46
+ # when this module is included, also extend our Class Methods
47
+ def self.included(includer)
48
+ Jamf.load_msg "--> #{includer} is including Jamf::Client::ManagementAction"
49
+ includer.extend(ClassMethods)
50
+ end
51
+
46
52
  # class Methods
47
53
  #####################################
48
54
 
49
- def management_action(msg, title: nil, subtitle: nil, delay: 0)
50
- raise Jamf::InvalidDataError, 'delay: must be a non-negative integer.' unless delay.is_a?(Integer) && delay > -1
55
+ module ClassMethods
51
56
 
52
- cmd = Shellwords.escape MGMT_ACTION.to_s
53
- cmd << " -message #{Shellwords.escape msg.to_s}"
54
- cmd << " -title #{Shellwords.escape title.to_s}" if title
55
- cmd << " -subtitle #{Shellwords.escape subtitle.to_s}" if subtitle
56
- cmd << " -deliverydelay #{Shellwords.escape delay}" if delay > 0
57
- `#{cmd} 2>&1`
58
- end
59
- alias nc_notify management_action
60
-
61
- # Skipping all the force-alerts stuff until we figure out cleaner
62
- # ways to do it in 10.13+
63
- # The plan is to be able to make the NotificationCenter notification be an
64
- # 'alert' (which stays visible til the user clicks) or a
65
- # 'banner' (which vanishes in a few seconds), regardless of the user's
66
- # setting in the NC prefs.
67
-
68
- def force_alerts
69
- orig_flags = {}
70
- console_users.each do |user|
71
- orig_flags[user] = set_mgmt_action_ncprefs_flags user, NC_ALERT_STYLE_FLAGS, hup: false
57
+ def management_action(msg, title: nil, subtitle: nil, delay: 0)
58
+ raise Jamf::InvalidDataError, 'delay: must be a non-negative integer.' unless delay.is_a?(Integer) && delay > -1
59
+
60
+ cmd = Shellwords.escape MGMT_ACTION.to_s
61
+ cmd << " -message #{Shellwords.escape msg.to_s}"
62
+ cmd << " -title #{Shellwords.escape title.to_s}" if title
63
+ cmd << " -subtitle #{Shellwords.escape subtitle.to_s}" if subtitle
64
+ cmd << " -deliverydelay #{Shellwords.escape delay}" if delay > 0
65
+ `#{cmd} 2>&1`
66
+ end
67
+ alias nc_notify management_action
68
+
69
+ # Skipping all the force-alerts stuff until we figure out cleaner
70
+ # ways to do it in 10.13+
71
+ # The plan is to be able to make the NotificationCenter notification be an
72
+ # 'alert' (which stays visible til the user clicks) or a
73
+ # 'banner' (which vanishes in a few seconds), regardless of the user's
74
+ # setting in the NC prefs.
75
+
76
+ def force_alerts
77
+ orig_flags = {}
78
+ console_users.each do |user|
79
+ orig_flags[user] = set_mgmt_action_ncprefs_flags user, NC_ALERT_STYLE_FLAGS, hup: false
80
+ end
81
+ system HUP_NOTIF_CTR_CMD unless orig_flags.empty?
82
+ sleep 1
83
+ orig_flags
72
84
  end
73
- system HUP_NOTIF_CTR_CMD unless orig_flags.empty?
74
- sleep 1
75
- orig_flags
76
- end
77
85
 
78
- def restore_alerts(orig_flags)
79
- orig_flags.each do |user, flags|
80
- set_mgmt_action_ncprefs_flags user, flags, hup: false
86
+ def restore_alerts(orig_flags)
87
+ orig_flags.each do |user, flags|
88
+ set_mgmt_action_ncprefs_flags user, flags, hup: false
89
+ end
90
+ system HUP_NOTIF_CTR_CMD unless orig_flags.empty?
81
91
  end
82
- system HUP_NOTIF_CTR_CMD unless orig_flags.empty?
83
- end
84
92
 
85
- # set the NotificationCenter option flags for a user
86
- # flags = an integer.
87
- #
88
- # Doesn't seem to work in 10.13, so ignore this for now.
89
- #
90
- # @return [Integer] the original flags, or given flags if no originals.
91
- #
92
- def set_mgmt_action_ncprefs_flags(user, flags, hup: true)
93
- plist = Pathname.new "/Users/#{user}/Library/Preferences/#{NCPREFS_DOMAIN}.plist"
94
- prefs = JSS.parse_plist plist
95
- mgmt_action_setting = prefs['apps'].select { |a| a['bundle-id'] == MGMT_ACTION_BUNDLE_ID }.first
96
- if mgmt_action_setting
97
- orig_flags = mgmt_action_setting['flags']
98
- mgmt_action_setting['flags'] = flags
99
- else
100
- orig_flags = flags
101
- prefs['apps'] << { 'bundle-id' => MGMT_ACTION_BUNDLE_ID, 'flags' => flags }
93
+ # set the NotificationCenter option flags for a user
94
+ # flags = an integer.
95
+ #
96
+ # Doesn't seem to work in 10.13, so ignore this for now.
97
+ #
98
+ # @return [Integer] the original flags, or given flags if no originals.
99
+ #
100
+ def set_mgmt_action_ncprefs_flags(user, flags, hup: true)
101
+ plist = Pathname.new "/Users/#{user}/Library/Preferences/#{NCPREFS_DOMAIN}.plist"
102
+ prefs = JSS.parse_plist plist
103
+ mgmt_action_setting = prefs['apps'].select { |a| a['bundle-id'] == MGMT_ACTION_BUNDLE_ID }.first
104
+ if mgmt_action_setting
105
+ orig_flags = mgmt_action_setting['flags']
106
+ mgmt_action_setting['flags'] = flags
107
+ else
108
+ orig_flags = flags
109
+ prefs['apps'] << { 'bundle-id' => MGMT_ACTION_BUNDLE_ID, 'flags' => flags }
110
+ end
111
+ plist.open('w') { |f| f.write JSS.xml_plist_from(prefs) }
112
+ system HUP_NOTIF_CTR_CMD if hup
113
+ orig_flags
102
114
  end
103
- plist.open('w') { |f| f.write JSS.xml_plist_from(prefs) }
104
- system HUP_NOTIF_CTR_CMD if hup
105
- orig_flags
106
- end
115
+
116
+ end # ClassMethods
107
117
 
108
118
  end # moculde
109
119
 
data/lib/jamf/client.rb CHANGED
@@ -64,9 +64,9 @@ module Jamf
64
64
  # the path to a users byhost folder from home
65
65
  USER_PREFS_BYHOST_FOLDER = 'Library/Preferences/ByHost/'.freeze
66
66
 
67
- extend Jamf::Client::JamfBinary
68
- extend Jamf::Client::JamfHelper
69
- extend Jamf::Client::ManagementAction
67
+ include Jamf::Client::JamfBinary
68
+ include Jamf::Client::JamfHelper
69
+ include Jamf::Client::ManagementAction
70
70
 
71
71
  # Class Methods
72
72
  #####################################
@@ -22,4 +22,6 @@
22
22
  # language governing permissions and limitations under the Apache License.
23
23
 
24
24
  # @deprecated Use Jamf.cnx to access the module-wide default connection
25
- Jamf::API = Jamf.cnx
25
+ module Jamf
26
+ API = Jamf.cnx
27
+ end
@@ -22,4 +22,6 @@
22
22
  # language governing permissions and limitations under the Apache License.
23
23
 
24
24
  # @deprecated Use Jamf.config to access the module-wide config settings
25
- Jamf::CONFIG = Jamf.config
25
+ module Jamf
26
+ CONFIG = Jamf.config
27
+ end
data/lib/jamf/version.rb CHANGED
@@ -27,6 +27,6 @@
27
27
  module Jamf
28
28
 
29
29
  ### The version of ruby-jss
30
- VERSION = '2.0.0a11'.freeze
30
+ VERSION = '2.0.0b1'.freeze
31
31
 
32
32
  end # module
@@ -86,10 +86,11 @@ def setup_zeitwerk_loader(loader)
86
86
  loader.inflector.inflect 'md_prestage_name' => 'MobileDevicePrestageName'
87
87
  loader.inflector.inflect 'md_prestage_names' => 'MobileDevicePrestageNames'
88
88
  loader.inflector.inflect 'md_prestage_skip_setup_items' => 'MobileDevicePrestageSkipSetupItems'
89
+ loader.inflector.inflect 'macos_managed_updates' => 'MacOSManagedUpdates'
89
90
 
90
91
  # deprecations, separated so they load only when used
91
- loader.inflector.inflect("deprecated_api_constant" => "API")
92
- loader.inflector.inflect("deprecated_config_constant" => "CONFIG")
92
+ loader.inflector.inflect('deprecated_api_constant' => 'API')
93
+ loader.inflector.inflect('deprecated_config_constant' => 'CONFIG')
93
94
 
94
95
  # These should be ignored, some will be required directly
95
96
  #####################################
@@ -134,7 +135,6 @@ def setup_zeitwerk_loader(loader)
134
135
  Jamf.load_msg "Parsed OAPI_PROPERTIES for #{value}" if parsed
135
136
  end
136
137
 
137
-
138
138
  # Generate the identifier list methods (.all_*) for subclasses of APIObject
139
139
  # in the Classic API
140
140
  if value.is_a?(Class) && value.superclass == Jamf::APIObject
@@ -158,6 +158,6 @@ def eager_load_for_testing
158
158
 
159
159
  @loader.eager_load(force: true)
160
160
  warn :loaded
161
- # rescue Zeitwerk::NameError => e
162
- # warn e.message
161
+ # rescue Zeitwerk::NameError => e
162
+ # warn e.message
163
163
  end
@@ -47,6 +47,9 @@ Want to test with a different version of ruby? Change the #! line of the `runtes
47
47
 
48
48
  - The individual tests are methods in classes defined in files in the 'tests' directory adjacent to this file.
49
49
  - In general, each class test a matching ruby-jss class, usually an APIObject (classic) or JPAPIResource (jamf pro).
50
+ - Shared code is in modules defined in the 'jamf_test' directory. See those files for more info. E.g.
51
+ - 'collection_tests.rb' defines common tests for all collection-resources
52
+ - 'prestage_tests.rb' defines common tests for 'computer_prestage' and 'mobile_device_prestage'
50
53
 
51
54
  **WARNING**: **DANGER DANGER** Be very careful about running these tests on your production Jamf Pro server!!!
52
55
 
data/test/bin/runtests CHANGED
@@ -29,6 +29,40 @@ require 'pathname'
29
29
  require 'getoptlong'
30
30
  require 'ruby-jss'
31
31
 
32
+ # Debug Trace support, Ideas from
33
+ # https://gist.github.com/bendilley/1453a555e981ed533f68
34
+ # and the other gist and stack overflow mentioned there.
35
+ ####################################
36
+
37
+ # Enable tracing to help debug stack level too deep errors
38
+ $do_tracing = false
39
+
40
+ # set this to true to save the call traces to a file
41
+ $save_trace = false
42
+
43
+ # the file to hold the traces
44
+ $trace_out = open('/tmp/ruby-jss-tests-trace.txt', 'w')
45
+
46
+ # the max call-stack depth - adjust this to help catch and
47
+ # debug SystemStackError exceptions
48
+ $trace_max_call_stack_depth = 1000
49
+
50
+ # the tracing proc
51
+ set_trace_func proc { |event, file, line, id, _binding, classname|
52
+ if $do_tracing
53
+ begin
54
+ if event == 'call'
55
+ $trace_out.puts "#{file}:#{line} #{classname}##{id}" if $save_trace
56
+ raise 'MaxCallStackReached' if caller_locations.length > $trace_max_call_stack_depth
57
+ end
58
+ rescue => e
59
+ warn "ERROR: #{e.class}: #{e}"
60
+ e.backtrace.each { |l| warn "..#{l}" }
61
+ exit 1
62
+ end
63
+ end # if
64
+ }
65
+
32
66
  # app
33
67
  class App
34
68
 
@@ -62,8 +96,8 @@ class App
62
96
  @testsdir = @appdir + 'tests'
63
97
 
64
98
  @tests_to_run = ARGV.dup
65
- @tests_to_run = @testsdir.children.map { |c| c.basename.to_s }.sort if @tests_to_run .empty?
66
- @tests_to_run.delete_if { |t| t.start_with? '.'}
99
+ @tests_to_run = @testsdir.children.map { |c| c.basename.to_s }.sort if @tests_to_run.empty?
100
+ @tests_to_run.delete_if { |t| t.start_with? '.' }
67
101
 
68
102
  @minitest_opts = ['--verbose']
69
103
 
@@ -126,6 +160,7 @@ class App
126
160
 
127
161
  ###################################
128
162
  def run_tests
163
+ puts
129
164
  JamfTest.say "Starting tests of ruby-jss v#{Jamf::VERSION}, using ruby version #{RUBY_VERSION}"
130
165
  JamfTest.say "API Connection: #{Jamf.cnx}; Server running Jamf Pro #{Jamf.cnx.jamf_version}"
131
166
 
@@ -158,6 +193,7 @@ class App
158
193
  ###################################
159
194
  def show_help
160
195
  return false unless @show_help
196
+
161
197
  puts <<-USAGEBLURB
162
198
  Usage: #{File.basename __FILE__} [options] [spec [spec ...]]
163
199
 
@@ -209,6 +245,10 @@ if $PROGRAM_NAME == __FILE__
209
245
  app = App.new
210
246
  app.run
211
247
  exit 0
248
+ rescue SystemStackError
249
+ puts $!
250
+ puts caller[0..100]
251
+ exit 1
212
252
  rescue => e
213
253
  puts "ERROR #{e.class}: #{e}"
214
254
  puts e.backtrace
@@ -176,11 +176,11 @@ module JamfTest
176
176
  say "Ran #{collection_class}.all_ids"
177
177
  validate_array ids, item_class: id_class
178
178
 
179
-
180
179
  identifiers.each do |ident|
181
180
  next if ident == :id
182
181
 
183
182
  mth = ident.to_s.end_with?('s') ? "all_#{ident}es" : "all_#{ident}s"
183
+ say "Testing #{collection_class}.#{mth}"
184
184
  collection_class.send mth
185
185
  say "Ran #{collection_class}.#{mth}"
186
186
  end
@@ -196,7 +196,6 @@ module JamfTest
196
196
  cached_ids = collection_class.all_ids cached_list: @cached_all
197
197
  say "Ran #{collection_class}.all_ids cached_list: @cached_all"
198
198
  validate_array cached_ids, item_class: id_class
199
-
200
199
  end
201
200
 
202
201
  #################
@@ -223,7 +222,6 @@ module JamfTest
223
222
 
224
223
  validate_hash ids_to_other
225
224
  validate_array ids_to_other.keys, item_class: id_class
226
-
227
225
  end
228
226
 
229
227
  ################
@@ -250,7 +248,6 @@ module JamfTest
250
248
 
251
249
  validate_hash ids_to_other
252
250
  validate_array ids_to_other.keys, item_class: id_class
253
-
254
251
  end
255
252
 
256
253
  ################
@@ -265,7 +262,9 @@ module JamfTest
265
262
  id, other = ids_to_other_ident.to_a.sample
266
263
 
267
264
  valid_id = collection_class.valid_id other
268
- raise "#{collection_class} id #{id}, has #{other_ident} '#{other}', but calling .valid_id('#{other}') returned id: #{valid_id}" unless id.to_s == valid_id.to_s
265
+ unless id.to_s == valid_id.to_s
266
+ raise "#{collection_class} id #{id}, has #{other_ident} '#{other}', but calling .valid_id('#{other}') returned id: #{valid_id}"
267
+ end
269
268
 
270
269
  say "#{collection_class}.valid_id for #{other_ident} '#{other}' returned the correct id"
271
270
  end
@@ -284,13 +283,11 @@ module JamfTest
284
283
  ########### Object Tests
285
284
  ####################################
286
285
 
287
-
288
286
  # override this if the class requires more than 'name' with .create
289
287
  ################
290
288
  def create_new
291
289
  @unsaved_new_object = collection_class.create name: test_object_name
292
290
  say "Created new #{collection_class}, to be saved in Jamf."
293
-
294
291
  end
295
292
 
296
293
  # override this if your class can take more than 'name'
@@ -0,0 +1,41 @@
1
+ ### Copyright 2022 Pixar
2
+
3
+ ###
4
+ ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ ### with the following modification; you may not use this file except in
6
+ ### compliance with the Apache License and the following modification to it:
7
+ ### Section 6. Trademarks. is deleted and replaced with:
8
+ ###
9
+ ### 6. Trademarks. This License does not grant permission to use the trade
10
+ ### names, trademarks, service marks, or product names of the Licensor
11
+ ### and its affiliates, except as required to comply with Section 4(c) of
12
+ ### the License and to reproduce the content of the NOTICE file.
13
+ ###
14
+ ### You may obtain a copy of the Apache License at
15
+ ###
16
+ ### http://www.apache.org/licenses/LICENSE-2.0
17
+ ###
18
+ ### Unless required by applicable law or agreed to in writing, software
19
+ ### distributed under the Apache License with the above modification is
20
+ ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ ### KIND, either express or implied. See the Apache License for the specific
22
+ ### language governing permissions and limitations under the Apache License.
23
+ ###
24
+ ###
25
+
26
+ module JamfTest
27
+
28
+ class Building < JamfTest::APITest
29
+
30
+ include JamfTest::CollectionTests
31
+
32
+ COLLECTION_CLASS = Jamf::Building
33
+
34
+ # run the tests
35
+ def run_class_tests
36
+ run_collection_tests
37
+ end
38
+
39
+ end # class
40
+
41
+ end # module JamfTest
@@ -0,0 +1,41 @@
1
+ ### Copyright 2022 Pixar
2
+
3
+ ###
4
+ ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ ### with the following modification; you may not use this file except in
6
+ ### compliance with the Apache License and the following modification to it:
7
+ ### Section 6. Trademarks. is deleted and replaced with:
8
+ ###
9
+ ### 6. Trademarks. This License does not grant permission to use the trade
10
+ ### names, trademarks, service marks, or product names of the Licensor
11
+ ### and its affiliates, except as required to comply with Section 4(c) of
12
+ ### the License and to reproduce the content of the NOTICE file.
13
+ ###
14
+ ### You may obtain a copy of the Apache License at
15
+ ###
16
+ ### http://www.apache.org/licenses/LICENSE-2.0
17
+ ###
18
+ ### Unless required by applicable law or agreed to in writing, software
19
+ ### distributed under the Apache License with the above modification is
20
+ ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ ### KIND, either express or implied. See the Apache License for the specific
22
+ ### language governing permissions and limitations under the Apache License.
23
+ ###
24
+ ###
25
+
26
+ module JamfTest
27
+
28
+ class Computer < JamfTest::APITest
29
+
30
+ include JamfTest::CollectionTests
31
+
32
+ COLLECTION_CLASS = Jamf::Computer
33
+
34
+ # run the tests
35
+ def run_class_tests
36
+ run_collection_tests do_object_tests: false
37
+ end
38
+
39
+ end # class
40
+
41
+ end # module JamfTest
@@ -0,0 +1,132 @@
1
+ ### Copyright 2022 Pixar
2
+
3
+ ###
4
+ ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ ### with the following modification; you may not use this file except in
6
+ ### compliance with the Apache License and the following modification to it:
7
+ ### Section 6. Trademarks. is deleted and replaced with:
8
+ ###
9
+ ### 6. Trademarks. This License does not grant permission to use the trade
10
+ ### names, trademarks, service marks, or product names of the Licensor
11
+ ### and its affiliates, except as required to comply with Section 4(c) of
12
+ ### the License and to reproduce the content of the NOTICE file.
13
+ ###
14
+ ### You may obtain a copy of the Apache License at
15
+ ###
16
+ ### http://www.apache.org/licenses/LICENSE-2.0
17
+ ###
18
+ ### Unless required by applicable law or agreed to in writing, software
19
+ ### distributed under the Apache License with the above modification is
20
+ ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ ### KIND, either express or implied. See the Apache License for the specific
22
+ ### language governing permissions and limitations under the Apache License.
23
+ ###
24
+ ###
25
+
26
+ module JamfTest
27
+
28
+ class ComputerGroup < JamfTest::APITest
29
+
30
+ include JamfTest::CollectionTests
31
+
32
+ COLLECTION_CLASS = Jamf::ComputerGroup
33
+
34
+ # run the tests
35
+ def run_class_tests
36
+ run_collection_tests
37
+ end
38
+
39
+ #### Collection Test Overrides
40
+
41
+ ################
42
+ def create_new
43
+ @unsaved_new_object = collection_class.create name: test_object_name, type: :static
44
+ say "Created new Static #{collection_class}, to be saved in Jamf."
45
+ end
46
+
47
+ ################
48
+ def add_data_to_new
49
+ @all_comps_shuffled = Jamf::Computer.all.dup.shuffle
50
+ @comps_added_to_static_group = []
51
+
52
+ comp_1 = @all_comps_shuffled.shift
53
+ @unsaved_new_object.add_member comp_1[:id]
54
+ @comps_added_to_static_group << comp_1[:id]
55
+ say "Added computer id #{comp_1[:id]} to unsaved Static Group"
56
+
57
+ comp_2 = @all_comps_shuffled.shift
58
+ @unsaved_new_object.add_member comp_2[:name]
59
+ @comps_added_to_static_group << comp_2[:name]
60
+ say "Added computer name #{comp_2[:name]} to unsaved Static Group"
61
+
62
+ comp_3 = @all_comps_shuffled.shift
63
+ @unsaved_new_object.add_member comp_3[:serial_number]
64
+ @comps_added_to_static_group << comp_3[:serial_number]
65
+ say "Added computer serial_number #{comp_3[:serial_number]} to unsaved Static Group"
66
+
67
+ comp_4 = @all_comps_shuffled.shift
68
+ @unsaved_new_object.add_member comp_4[:udid]
69
+ @comps_added_to_static_group << comp_4[:udid]
70
+ say "Added computer udid #{comp_4[:udid]} to unsaved Static Group"
71
+
72
+ comp_5 = @all_comps_shuffled.shift
73
+ @unsaved_new_object.add_member comp_5[:mac_address]
74
+ @comps_added_to_static_group << comp_5[:mac_address]
75
+ say "Added computer mac_address #{comp_5[:mac_address]} to unsaved Static Group"
76
+ end
77
+
78
+ ################
79
+ def validate_fetched
80
+ super
81
+
82
+ unless @fetched_new_object.member_ids.sort == @unsaved_new_object.member_ids.sort
83
+ raise 'Original ruby object created with .create does not have the same member ids as the one re-fetched after saving!'
84
+ end
85
+
86
+ say "Fetched instance of #{collection_class} has the same members as the one we made with .create"
87
+ end
88
+
89
+ ################
90
+ def modify_fetched
91
+ super
92
+
93
+ @comps_added_to_static_group.shuffle!
94
+ 3.times do
95
+ comp_to_remove = @comps_added_to_static_group.shift
96
+ @fetched_new_object.remove_member comp_to_remove
97
+ say "Removed member with identifier '#{comp_to_remove}'"
98
+ end
99
+
100
+ @modified_member_ids = @fetched_new_object.member_ids
101
+ end
102
+
103
+ ################
104
+ def validate_changes
105
+
106
+ unless @fetched_new_object.member_ids.sort == @fetched_edited_object.member_ids.sort
107
+ raise 'Modified ruby object saved after editing does not have the same member ids as the one originally saved!'
108
+ end
109
+
110
+ say "Modified/saved/refetched instance of #{collection_class} has correct membership."
111
+
112
+ # Test the class method for changing membership without instantiating/saving
113
+ adds = []
114
+ adds << @all_comps_shuffled.shift[:id]
115
+ adds << @all_comps_shuffled.shift[:serial_number]
116
+ adds << @all_comps_shuffled.shift[:udid]
117
+ removes = @fetched_edited_object.member_ids.sample
118
+
119
+ collection_class.change_membership @fetched_edited_object.id, add_members: adds, remove_members: removes
120
+ say "Successfully used #{collection_class}.change_membership to immediately add and remove members."
121
+ end
122
+
123
+ ################
124
+ def confirm_deleted
125
+ say 'Pausing 15 secs for group deletion to complete...'
126
+ sleep 15
127
+ super
128
+ end
129
+
130
+ end # class ComputerGroup
131
+
132
+ end # module JamfTest
@@ -0,0 +1,41 @@
1
+ ### Copyright 2022 Pixar
2
+
3
+ ###
4
+ ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ ### with the following modification; you may not use this file except in
6
+ ### compliance with the Apache License and the following modification to it:
7
+ ### Section 6. Trademarks. is deleted and replaced with:
8
+ ###
9
+ ### 6. Trademarks. This License does not grant permission to use the trade
10
+ ### names, trademarks, service marks, or product names of the Licensor
11
+ ### and its affiliates, except as required to comply with Section 4(c) of
12
+ ### the License and to reproduce the content of the NOTICE file.
13
+ ###
14
+ ### You may obtain a copy of the Apache License at
15
+ ###
16
+ ### http://www.apache.org/licenses/LICENSE-2.0
17
+ ###
18
+ ### Unless required by applicable law or agreed to in writing, software
19
+ ### distributed under the Apache License with the above modification is
20
+ ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ ### KIND, either express or implied. See the Apache License for the specific
22
+ ### language governing permissions and limitations under the Apache License.
23
+ ###
24
+ ###
25
+
26
+ module JamfTest
27
+
28
+ class Department < JamfTest::APITest
29
+
30
+ include JamfTest::CollectionTests
31
+
32
+ COLLECTION_CLASS = Jamf::Department
33
+
34
+ # run the tests
35
+ def run_class_tests
36
+ run_collection_tests
37
+ end
38
+
39
+ end # class
40
+
41
+ end # module JamfTest
@@ -0,0 +1,41 @@
1
+ ### Copyright 2022 Pixar
2
+
3
+ ###
4
+ ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ ### with the following modification; you may not use this file except in
6
+ ### compliance with the Apache License and the following modification to it:
7
+ ### Section 6. Trademarks. is deleted and replaced with:
8
+ ###
9
+ ### 6. Trademarks. This License does not grant permission to use the trade
10
+ ### names, trademarks, service marks, or product names of the Licensor
11
+ ### and its affiliates, except as required to comply with Section 4(c) of
12
+ ### the License and to reproduce the content of the NOTICE file.
13
+ ###
14
+ ### You may obtain a copy of the Apache License at
15
+ ###
16
+ ### http://www.apache.org/licenses/LICENSE-2.0
17
+ ###
18
+ ### Unless required by applicable law or agreed to in writing, software
19
+ ### distributed under the Apache License with the above modification is
20
+ ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ ### KIND, either express or implied. See the Apache License for the specific
22
+ ### language governing permissions and limitations under the Apache License.
23
+ ###
24
+ ###
25
+
26
+ module JamfTest
27
+
28
+ class MobileDevice < JamfTest::APITest
29
+
30
+ include JamfTest::CollectionTests
31
+
32
+ COLLECTION_CLASS = Jamf::MobileDevice
33
+
34
+ # run the tests
35
+ def run_class_tests
36
+ run_collection_tests do_object_tests: false
37
+ end
38
+
39
+ end # class
40
+
41
+ end # module JamfTest