ruby-jss 3.2.1 → 4.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 (567) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +34 -1
  3. data/README-2.0.0.md +3 -1
  4. data/README.md +2 -2
  5. data/lib/jamf/api/classic/api_objects/computer.rb +8 -5
  6. data/lib/jamf/api/connection/cache.rb +9 -8
  7. data/lib/jamf/api/connection/connect.rb +33 -2
  8. data/lib/jamf/api/connection/constants.rb +5 -0
  9. data/lib/jamf/api/connection/token.rb +70 -1
  10. data/lib/jamf/api/connection.rb +5 -4
  11. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +173 -0
  12. data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +38 -0
  13. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +134 -0
  14. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +14 -5
  15. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +2 -1
  16. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +1 -1
  17. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +46 -94
  18. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +1 -1
  19. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -1
  20. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -1
  21. data/lib/jamf/api/jamf_pro/oapi_schemas/account_driven_user_enrollment_session_token_settings.rb +1 -1
  22. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -1
  23. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -1
  24. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -1
  25. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -1
  26. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +174 -0
  27. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +167 -0
  28. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -1
  29. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -1
  30. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -1
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -1
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -1
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -1
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -1
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -1
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -1
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +106 -0
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +143 -0
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +94 -0
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +105 -0
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_privileges.rb +87 -0
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +94 -0
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +94 -0
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -1
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_on_dashboard.rb → app_config_reinstall_code.rb} +10 -10
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -1
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -1
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -1
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -1
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -1
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -1
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -1
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -1
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/assignment.rb +1 -1
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -1
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -1
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -1
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -1
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -1
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +1 -1
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -1
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -1
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/available_os_updates.rb +1 -1
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +1 -1
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -1
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -1
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -1
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -1
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -1
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -1
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -1
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -1
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -1
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -1
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -1
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -1
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +3 -1
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +3 -1
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -1
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -1
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -1
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -1
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -1
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -1
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -1
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -1
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -1
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -1
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -1
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -1
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -1
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -1
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -1
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -1
  96. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -1
  97. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_response.rb +1 -1
  98. data/lib/jamf/api/jamf_pro/oapi_schemas/compliance_vendor_device_information.rb +1 -1
  99. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +1 -1
  100. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +1 -1
  101. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +1 -1
  102. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +1 -1
  103. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +1 -1
  104. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -1
  105. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -1
  106. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -1
  107. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -1
  108. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -1
  109. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -1
  110. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -1
  111. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -1
  112. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -1
  113. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -1
  114. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +1 -1
  115. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +1 -1
  116. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +1 -1
  117. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +1 -1
  118. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -1
  119. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_group.rb +1 -1
  120. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +1 -1
  121. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -1
  122. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +1 -1
  123. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +1 -1
  124. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -1
  125. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -1
  126. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +1 -1
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault_search_results.rb +1 -1
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -1
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +1 -1
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -1
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +1 -1
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +1 -1
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -1
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -1
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +1 -1
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -1
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -1
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +1 -1
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -1
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -1
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -1
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +1 -1
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -1
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_prestage_search_results.rb → computer_prestage_search_results_v3.rb} +8 -8
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -1
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_prestage.rb → computer_prestage_v3.rb} +39 -16
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +1 -1
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +1 -1
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -1
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -1
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +1 -1
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +1 -1
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +1 -1
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +1 -1
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +1 -1
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -1
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -1
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -1
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -1
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -1
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -1
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -1
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -1
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -1
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -1
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -1
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -1
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -1
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_attempt_action.rb → dashboard_api_error.rb} +15 -14
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_item.rb +131 -0
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup.rb +89 -0
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/{put_computer_prestage.rb → dashboard_setup_task.rb} +17 -12
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -1
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -1
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -1
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/declarative_management_command.rb +1 -1
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -1
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -1
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -1
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -1
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -1
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -1
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -1
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -1
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -1
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -1
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -1
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -1
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -1
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -1
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -1
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -1
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -1
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -1
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -1
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -1
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -1
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -1
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -1
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -1
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -1
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +1 -1
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -1
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -1
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -1
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -1
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -1
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -1
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -1
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -1
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -1
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -1
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -1
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -1
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -1
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +1 -1
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -1
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_ids_on_dashboard.rb → enrollment_method_prestage.rb} +17 -13
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +1 -1
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +5 -1
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v3.rb +240 -0
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_sso_config.rb +90 -0
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/erase_device_command.rb +120 -0
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -1
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +1 -1
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -1
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -1
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -1
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -1
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -1
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -1
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -1
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -1
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/{get_computer_prestage.rb → get_computer_prestage_v3.rb} +24 -18
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -1
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -1
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -1
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -1
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -1
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -1
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -1
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -1
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +1 -1
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -1
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -1
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -1
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -1
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -1
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -3
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -1
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -1
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -1
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +1 -1
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -1
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -1
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -1
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -1
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -1
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device.rb +1 -1
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device_search_results.rb +1 -1
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -1
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -1
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -1
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -1
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -1
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -1
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -1
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -1
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -1
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -1
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -1
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -1
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -1
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -1
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +4 -4
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +7 -7
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -1
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -1
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -1
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -1
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information_v2.rb +1 -1
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -1
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -1
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -1
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +1 -1
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit.rb +1 -1
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit_v2.rb +1 -1
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history.rb +113 -0
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history_response.rb +90 -0
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits.rb +1 -1
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits_v2.rb +1 -1
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results.rb +1 -1
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results_v2.rb +1 -1
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response.rb +1 -1
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response_v2.rb +1 -1
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation.rb +88 -0
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation_response.rb +90 -0
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request.rb +1 -1
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request_v2.rb +1 -1
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response.rb +1 -1
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response_v2.rb +1 -1
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user.rb +20 -2
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password.rb +1 -1
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request.rb +1 -1
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request_v2.rb +2 -2
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response.rb +1 -1
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response_v2.rb +2 -2
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_v2.rb +1 -1
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results.rb +1 -1
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results_v2.rb +1 -1
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_v2.rb +21 -2
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -1
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -1
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -1
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -1
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -1
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -1
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -1
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -1
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -1
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -1
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -1
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -1
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -1
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -1
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -1
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +1 -1
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -1
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +163 -0
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +99 -0
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +98 -0
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +100 -0
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +101 -0
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +102 -0
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +1 -1
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +1 -1
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -1
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -1
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -1
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -1
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client_request.rb +1 -1
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -1
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_results.rb +1 -1
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -1
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -1
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -1
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -1
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -1
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -1
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -1
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -1
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application_inventory_detail.rb +123 -0
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -1
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -1
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate.rb +94 -0
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -1
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +1 -1
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -1
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -1
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +1 -1
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -1
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook_inventory_detail.rb +105 -0
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/{azure_ad_migration_report_process_status.rb → mobile_device_extension_attribute.rb} +45 -35
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -1
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_general.rb +215 -0
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -1
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_hardware.rb +160 -0
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory.rb +151 -0
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory_search_results.rb +89 -0
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_general.rb +191 -0
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/{azure_ad_migration_report_request.rb → mobile_device_ios_inventory.rb} +45 -34
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_lost_mode_location.rb +118 -0
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_network.rb +180 -0
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -1
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -1
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -1
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -1
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -1
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -1
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -1
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -1
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_profile.rb +112 -0
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/{provisioning_profile.rb → mobile_device_provisioning_profiles.rb} +4 -4
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_purchasing.rb +157 -0
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -1
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -1
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -1
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_section.rb +100 -0
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_security.rb +178 -0
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/{mobile_device_service_subscription.rb → mobile_device_service_subscriptions.rb} +4 -4
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_shared_user.rb +93 -0
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_general.rb +93 -0
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/{integer_wrapper.rb → mobile_device_tv_os_inventory.rb} +10 -11
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_and_location.rb +142 -0
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/{active_patch_summary.rb → mobile_device_user_profile.rb} +31 -38
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -1
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -1
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -1
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -1
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +1 -1
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -1
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/{extension_attribute_migration_mapping_change.rb → o_auth_client_credentials.rb} +12 -19
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -1
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -1
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -1
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -1
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -1
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +1 -1
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policies.rb +1 -1
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_detail.rb +190 -0
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_details.rb +89 -0
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_list_view.rb +1 -1
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail.rb +1 -1
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail_action.rb +1 -1
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_eligible_retry_count.rb +1 -1
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_retry.rb +1 -1
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_v2.rb +1 -1
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_logs.rb +1 -1
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_v2_on_dashboard.rb +1 -1
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration.rb +1 -1
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_base.rb +1 -1
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_definition_kill_app.rb +1 -1
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependencies.rb +89 -0
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependency.rb +87 -0
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_extension_attributes.rb +1 -1
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_patch.rb +1 -1
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definition.rb +1 -1
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definitions.rb +1 -1
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_extension_attributes.rb +1 -1
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_packages.rb +1 -1
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report.rb +1 -1
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report_search_result.rb +1 -1
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary.rb +1 -1
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary_version.rb +1 -1
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -1
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +133 -0
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_attempt.rb → plan_device.rb} +32 -29
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +97 -0
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +96 -0
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +96 -0
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -1
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +126 -0
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -1
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -1
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -1
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -1
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +91 -0
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -1
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -1
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -1
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -1
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -1
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -1
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -1
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -1
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -1
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -1
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -1
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -1
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -1
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -1
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -1
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +1 -1
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -1
  465. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -1
  466. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -1
  467. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -1
  468. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -1
  469. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -1
  470. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +98 -0
  471. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -1
  472. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -1
  473. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -1
  474. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -1
  475. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -1
  476. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -1
  477. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -1
  478. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -1
  479. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -1
  480. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -1
  481. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -1
  482. data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_app.rb +1 -1
  483. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -1
  484. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -1
  485. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -1
  486. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -1
  487. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -1
  488. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -1
  489. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -1
  490. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -1
  491. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -1
  492. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -1
  493. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -1
  494. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -1
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -1
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/set_auto_admin_password_command.rb +1 -1
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -1
  498. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -1
  499. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -1
  500. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -1
  501. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -1
  502. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -1
  503. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration_on_dashboard.rb +1 -1
  504. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -1
  505. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_failover_data.rb +1 -1
  506. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -1
  507. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -1
  508. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -1
  509. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -1
  510. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -1
  511. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -1
  512. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -1
  513. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -1
  514. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +15 -2
  515. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -1
  516. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group.rb +1 -1
  517. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_assignment.rb +1 -1
  518. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_search_results.rb +1 -1
  519. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_summary.rb +1 -1
  520. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -1
  521. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -1
  522. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -1
  523. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -1
  524. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -1
  525. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -1
  526. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -1
  527. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +1 -1
  528. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +1 -1
  529. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -1
  530. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -1
  531. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +1 -1
  532. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -1
  533. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -1
  534. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -1
  535. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -1
  536. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -1
  537. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -1
  538. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -1
  539. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -1
  540. data/lib/jamf/api/jamf_pro/oapi_schemas/user_preferences_settings.rb +1 -1
  541. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_attributes.rb +1 -1
  542. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -1
  543. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -1
  544. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -1
  545. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +1 -1
  546. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -1
  547. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -1
  548. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -1
  549. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -1
  550. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -1
  551. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -1
  552. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -1
  553. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content_list.rb +1 -1
  554. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -1
  555. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -1
  556. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -1
  557. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -1
  558. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -1
  559. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -1
  560. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -1
  561. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -1
  562. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -1
  563. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -1
  564. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -1
  565. data/lib/jamf/version.rb +1 -1
  566. data/lib/jamf/zeitwerk_config.rb +8 -0
  567. metadata +74 -19
@@ -0,0 +1,134 @@
1
+ # Copyright 2023 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
+ # Manually require our OAPISchema....
27
+ ######################################
28
+ # because this file defining Jamf::APIRole is at
29
+ # lib/jamf/api/jamf_pro/api_objects/api_role.rb
30
+ # has the same filename as the file defining Jamf::OAPISchemas::ApiRole
31
+ # lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb
32
+ # telling zeitwerk to use the file 'api_role.rb' to load Jamf::APIRole
33
+ # confuses it because it also finds the other one.
34
+ #
35
+ # So instead we'll tell it to ignore lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb
36
+ # and we'll load that manually here
37
+ #
38
+ require 'jamf/api/jamf_pro/oapi_schemas/api_role'
39
+
40
+ # The Module
41
+ module Jamf
42
+
43
+ # Classes
44
+ #####################################
45
+
46
+ # An API Role in the Jamf Pro API
47
+ #
48
+ # API Roles are predefined sets of privileges that can be assigned to API Clients, aka API Integrations.
49
+ #
50
+ class APIRole < Jamf::OAPISchemas::ApiRole
51
+
52
+ include Jamf::CollectionResource
53
+ extend Jamf::Filterable
54
+
55
+ ########### RELATED OAPI OBJECTS
56
+ # These objects should be OAPIObjects, NOT subclasses of them and
57
+ # not Collection or Singleton resources.
58
+ #
59
+ # TODO: See if these constants can be auto-generated from the
60
+ # OAPI schema and baked into the parent class
61
+
62
+ # The OAPI object class we get back from a 'list' query to get the
63
+ # whole collection, or a subset of it. It contains a :results key
64
+ # which is an array of data for objects of the parent class.
65
+ SEARCH_RESULT_OBJECT = Jamf::OAPISchemas::ApiRoleResult
66
+
67
+ # The OAPI object class we send with a POST request to make a new member of
68
+ # the collection in Jamf. This is usually the same as the parent class.
69
+ POST_OBJECT = Jamf::OAPISchemas::ApiRoleRequest
70
+
71
+ # The OAPI object class we send with a PUT request to change an object in
72
+ # Jamf by specifying all its values. Most updates happen this way,
73
+ # and this is usually the same as the parent class
74
+ PUT_OBJECT = Jamf::OAPISchemas::ApiRoleRequest
75
+
76
+ # The OAPI object we send with a PATCH request to change an object in
77
+ # Jamf by replacing only some of its values. This is never the same as the
78
+ # parent class, and is usually used when many or most of the data about an
79
+ # object cannot be changed via the API.
80
+ # PATCH_OBJECT = Jamf::OAPISchemas::Building
81
+
82
+ ############# API PATHS
83
+
84
+ # The path for GETting the list of all objects in the collection, possibly
85
+ # filtered, sorted, and/or paged
86
+ # REQUIRED for all collection resources
87
+ #
88
+ # GET_PATH, POST_PATH, PUT_PATH, PATCH_PATH, and DELETE_PATH are automatically
89
+ # assumed from the LIST_PATH if they follow the standards:
90
+ # - GET_PATH = "#{LIST_PATH}/id"
91
+ # - fetch an object from the collection
92
+ # - POST_PATH = LIST_PATH
93
+ # - create a new object in the collection
94
+ # - PUT_PATH = "#{LIST_PATH}/id"
95
+ # - update an object passing all its values back.
96
+ # Most objects use this or PATCH but not both
97
+ # - PATCH_PATH = "#{LIST_PATH}/id"
98
+ # - update an object passing some of its values back
99
+ # Most objects use this or PUT but not both
100
+ # - DELETE_PATH = "#{LIST_PATH}/id"
101
+ # - delete an object from the collection
102
+ #
103
+ # If those paths differ from the standards, the constants must be defined
104
+ # here
105
+ #
106
+ LIST_PATH = 'v1/api-roles'.freeze
107
+
108
+ # The path that returns a list of all available privs
109
+ AVAILABLE_PRIVS_PATH = 'v1/api-role-privileges'
110
+
111
+ # Identifiers not marked in the superclass's OAPI_PROPERTIES constant
112
+ # which usually only identifies ':id'
113
+ ALT_IDENTIFIERS = %i[displayName].freeze
114
+
115
+ # Must define this when extending Filterable
116
+ FILTER_KEYS = %i[
117
+ id displayName
118
+ ].freeze
119
+
120
+ # Class Methods
121
+ ###############################
122
+
123
+ # @return [Array<String>] All available privileges that can be granted via an API Role
124
+ #
125
+ def self.available_privs(cnx: Jamf.cnx)
126
+ cnx.jp_get(AVAILABLE_PRIVS_PATH)[:privileges]
127
+ end
128
+
129
+ # Instance Attributes and Methods
130
+ ###########################
131
+
132
+ end # class
133
+
134
+ end # module
@@ -1,5 +1,8 @@
1
1
  # Copyright 2023 Pixar
2
+ #
3
+ # frozen_string_literal: true
2
4
 
5
+ #
3
6
  #
4
7
  # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
8
  # with the following modification; you may not use this file except in
@@ -50,16 +53,16 @@ module Jamf
50
53
  # The OAPI object class we get back from a 'list' query to get the
51
54
  # whole collection, or a subset of it. It contains a :results key
52
55
  # which is an array of data for objects of the parent class.
53
- SEARCH_RESULT_OBJECT = Jamf::OAPISchemas::ComputerPrestageSearchResultsV2
56
+ SEARCH_RESULT_OBJECT = Jamf::OAPISchemas::ComputerPrestageSearchResultsV3
54
57
 
55
58
  # The OAPI object class we send with a POST request to make a new member of
56
59
  # the collection in Jamf. This is usually the same as the parent class.
57
- POST_OBJECT = Jamf::OAPISchemas::PostComputerPrestageV2
60
+ POST_OBJECT = Jamf::OAPISchemas::PostComputerPrestageV3
58
61
 
59
62
  # The OAPI object class we send with a PUT request to change an object in
60
63
  # Jamf by specifying all its values. Most updates happen this way,
61
64
  # and this is usually the same as the parent class
62
- PUT_OBJECT = Jamf::OAPISchemas::PutComputerPrestageV2
65
+ PUT_OBJECT = Jamf::OAPISchemas::PutComputerPrestageV3
63
66
 
64
67
  ############# API PATHS
65
68
  # TODO: See if these paths can be auto-generated from the
@@ -70,10 +73,16 @@ module Jamf
70
73
  #
71
74
  # REQUIRED for all collection resources
72
75
  #
73
- # GET_, PUT_, PATCH_, POST_, and DELETE_ paths don't need to be
76
+ # GET_, PUT_, PATCH_, POST_, and DELETE_ paths for instances don't need to be
74
77
  # defined if they are the same as LIST_PATH (followed by an id if needed)
75
78
  #
76
- LIST_PATH = 'v2/computer-prestages'.freeze
79
+ # See the methods get_path, put_path, etc, in Jamf::CollectionResource::ClassMethods
80
+ #
81
+ LIST_PATH = 'v3/computer-prestages'
82
+
83
+ # As of Jamf Pro 10.50, the scope-related endpoints for computer prestages
84
+ # are still in v2
85
+ SCOPE_PATH_PREFIX = 'v2/computer-prestages'
77
86
 
78
87
  # alt and non-unique idents are defined in the prestage module
79
88
 
@@ -75,11 +75,12 @@ module Jamf
75
75
  # GET_, PUT_, PATCH_, POST_, and DELETE_ paths don't need to be
76
76
  # defined if they are the same as LIST_PATH (followed by an id if needed)
77
77
  #
78
+ # See the methods get_path, put_path, etc, in Jamf::CollectionResource::ClassMethods
79
+ #
78
80
  LIST_PATH = 'v2/mobile-device-prestages'.freeze
79
81
 
80
82
  # alt and non-unique idents are defined in the prestage module
81
83
 
82
-
83
84
  # TODO: Implement the 'syncs' stuff
84
85
 
85
86
  end # class
@@ -744,7 +744,7 @@ module Jamf
744
744
  # make sure that required values are not nil
745
745
  ############################################
746
746
  def validate_for_create
747
- self.class::OAPI_PROPERTIES.each do |attr_name, attr_def|
747
+ self.class::POST_OBJECT::OAPI_PROPERTIES.each do |attr_name, attr_def|
748
748
  next unless attr_def[:required]
749
749
  next unless send(attr_name).nil?
750
750
 
@@ -85,18 +85,19 @@ module Jamf
85
85
  end
86
86
 
87
87
  # Return all scoped serial numbers and the id of the prestage
88
- # they are assigned to. Data is cached, use a truthy first param to refresh.
88
+ # they are assigned to.
89
89
  #
90
- # @param refresh[Boolean] re-read the list from the API?
90
+ # @param refresh[Boolean] re-read the list from the API? DEPRECATED:
91
+ # the data is always read from the API. If making many calls at once,
92
+ # consider capturing serials_by_prestage_id in your own variable
91
93
  #
92
94
  # @param cnx[Jamf::Connection] the API connection to use
93
95
  #
94
96
  # @return [Hash {String => Integer}] The Serials and prestage IDs
95
97
  ######################
96
- def serials_by_prestage_id(_refresh = nil, cnx: Jamf.cnx)
97
- scope_path ||= "#{self::LIST_PATH}/#{SCOPE_PATH}"
98
+ def serials_by_prestage_id(refresh = false, cnx: Jamf.cnx) # rubocop:disable Lint/UnusedMethodArgument
98
99
  api_reponse = ALL_SCOPES_OBJECT.new cnx.jp_get(scope_path)
99
- api_reponse.serialsByPrestageId.transform_keys!(&:to_s)
100
+ api_reponse.serialsByPrestageId.transform_keys(&:to_s)
100
101
  end
101
102
 
102
103
  # Get the assigned serialnumbers for a given prestage, without
@@ -105,15 +106,17 @@ module Jamf
105
106
  # @paream prestage_ident [Integer, String] the id or name of
106
107
  # an existing prestage.
107
108
  #
108
- # @param refresh[Boolean] re-read the list from the API?
109
+ # @param refresh[Boolean] re-read the list from the API? DEPRECATED:
110
+ # the data is always read from the API. If making many calls at once,
111
+ # consisider capturing serials_by_prestage_id in your own variable and using
112
+ # it as this method does
109
113
  #
110
114
  # @param cnx[Jamf::Connection] the API connection to use
111
115
  #
112
116
  # @return [Array<String>] the SN's assigned to the prestage
113
117
  ######################
114
- def serials_for_prestage(prestage_ident, _refresh = nil, cnx: Jamf.cnx)
118
+ def serials_for_prestage(prestage_ident, refresh = false, cnx: Jamf.cnx) # rubocop:disable Lint/UnusedMethodArgument
115
119
  id = valid_id prestage_ident, cnx: cnx
116
-
117
120
  raise Jamf::NoSuchItemError, "No #{self} matching '#{prestage_ident}'" unless id
118
121
 
119
122
  serials_by_prestage_id(cnx: cnx).select { |_sn, psid| id == psid }.keys
@@ -127,12 +130,12 @@ module Jamf
127
130
  # of your Device Enrollment instances, use Jamf::DeviceEnrollment.include?
128
131
  #
129
132
  # @param sn [String] the serial number to look for
130
- # #
133
+ #
131
134
  # @param cnx[Jamf::Connection] the API connection to use
132
135
  #
133
- # @return [Integer, nil] The id of prestage to which the SN is assigned
136
+ # @return [String, nil] The id of prestage to which the SN is assigned
134
137
  #
135
- def assigned_prestage_id(sn, _refresh = nil, cnx: Jamf.cnx)
138
+ def assigned_prestage_id(sn, cnx: Jamf.cnx)
136
139
  serials_by_prestage_id(cnx: cnx)[sn]
137
140
  end
138
141
 
@@ -150,8 +153,6 @@ module Jamf
150
153
  #
151
154
  # @param sn [String] the serial number to look for
152
155
  #
153
- # @param refresh[Boolean] re-read the list from the API?
154
- #
155
156
  # @param prestage [Integer, String] If provided, the id or name of
156
157
  # an existing prestage in which to look for the sn. if omitted, all
157
158
  # prestages are searched.
@@ -160,8 +161,9 @@ module Jamf
160
161
  #
161
162
  # @return [Boolean] Is the sn assigned, at all or to the given prestage?
162
163
  #
163
- def assigned?(sn, prestage: nil, cnx: Jamf.cnx, refresh: nil)
164
+ def assigned?(sn, prestage: nil, cnx: Jamf.cnx)
164
165
  assigned_id = assigned_prestage_id(sn, cnx: cnx)
166
+
165
167
  # it isn't assigned at all
166
168
  return false unless assigned_id
167
169
 
@@ -175,47 +177,17 @@ module Jamf
175
177
  psid == assigned_id
176
178
  end
177
179
 
178
- # We subtract the serials_by_prestage_id.keys from all known ADE SNs
179
- # rather than just looking for Jamf::DeviceEnrollment.devices with status
180
- # REMOVED, because of the delay in updating the status for
181
- # Jamf::DeviceEnrollment::Devices, which must come from apple.
182
- #
183
- # @return [Array<String>] The serial numbers of devices that are in ADE but
184
- # not assigned to any prestage
185
- #
186
- def unassigned_sns(cnx: Jamf.cnx)
187
- type = self == Jamf::MobileDevicePrestage ? :mobiledevices : :computers
188
- Jamf::DeviceEnrollment.device_sns(type: type, cnx: cnx) - serials_by_prestage_id(:refresh, cnx: cnx).keys
189
- end
190
-
191
- # @return [Array<String>] The serial numbers of known hardware not in ADE
192
- # at all
193
- # TODO: move this to Jamf::DeviceEnrollment
194
- # def sns_not_in_device_enrollment
195
- # # type = self == Jamf::MobileDevicePrestage ? :mobiledevices : :computers
196
- # nil # TODO: this, once MobileDevice & Computer classes are implemented
197
- # end
198
-
199
180
  # Assign one or more serialNumbers to a prestage
200
181
  # @return [Jamf::OAPISchemas::PrestageScopeResponseV2] the new scope for the prestage
201
182
  def assign(*sns_to_assign, to_prestage:, cnx: Jamf.cnx)
202
183
  prestage_id = valid_id to_prestage
203
184
  raise Jamf::NoSuchItemError, "No #{self} matching '#{to_prestage}'" unless prestage_id
204
185
 
205
- # all sns_to_assign must be in ADE
206
- not_in_dep = sns_to_assign - Jamf::DeviceEnrollment.device_sns
207
- raise Jamf::UnsupportedError, "These SNs are not in any Device Enrollment instance: #{not_in_dep.join ', '}" unless not_in_dep.empty?
208
-
209
- # all sns_to_assign must currently be unassigned.
210
- already_assigned = sns_to_assign - unassigned_sns
211
- raise Jamf::UnsupportedError, "These SNs are already assigned to a prestage: #{already_assigned.join ', '}" unless already_assigned.empty?
212
-
213
186
  # upcase all sns
214
187
  sns_to_assign.map!(&:to_s)
215
188
  sns_to_assign.map!(&:upcase)
216
189
 
217
- # get the prestage name
218
- prestage_name = map_all(:id, to: :displayName)[prestage_id]
190
+ # get the current scope of the prestage
219
191
  spath = scope_path(prestage_id)
220
192
  scope = INSTANCE_SCOPE_OBJECT.new cnx.get(spath)
221
193
 
@@ -224,7 +196,7 @@ module Jamf
224
196
  new_scope_sns += sns_to_assign
225
197
  new_scope_sns.uniq!
226
198
 
227
- update_scope(prestage_name, spath, new_scope_sns, scope.versionLock, cnx)
199
+ update_scope(spath, new_scope_sns, scope.versionLock, cnx)
228
200
  end # self.assign
229
201
 
230
202
  # Unassign one or more serialNumber from a prestage
@@ -237,28 +209,29 @@ module Jamf
237
209
  sns_to_unassign.map!(&:to_s)
238
210
  sns_to_unassign.map!(&:upcase)
239
211
 
240
- # get the prestage name
241
- prestage_name = map_all(:id, to: :displayName)[prestage_id]
212
+ # get the current scope of the prestage
242
213
  spath = scope_path(prestage_id)
243
214
  scope = INSTANCE_SCOPE_OBJECT.new cnx.get(spath)
244
215
 
245
216
  new_scope_sns = scope.assignments.map(&:serialNumber)
246
217
  new_scope_sns -= sns_to_unassign
247
218
 
248
- update_scope(prestage_name, spath, new_scope_sns, scope.versionLock, cnx)
219
+ update_scope(spath, new_scope_sns, scope.versionLock, cnx)
249
220
  end # self.unassign
250
221
 
251
- # Private Class Methods
252
- #####################################
222
+ # the endpoint path for the scope of a given prestage id
223
+ #
224
+ def scope_path(prestage_id = nil)
225
+ pfx = defined?(self::SCOPE_PATH_PREFIX) ? self::SCOPE_PATH_PREFIX : get_path
253
226
 
254
- # the class level scope path for a given prestage id
255
- def scope_path(prestage_id)
256
- "#{self::LIST_PATH}/#{prestage_id}/#{SCOPE_PATH}"
227
+ prestage_id ? "#{pfx}/#{prestage_id}/#{SCOPE_PATH}" : "#{pfx}/#{SCOPE_PATH}"
257
228
  end
258
- private :scope_path
229
+
230
+ # Private Class Methods
231
+ #####################################
259
232
 
260
233
  # used by assign and unassign
261
- def update_scope(prestage_name, spath, new_scope_sns, vlock, cnx)
234
+ def update_scope(spath, new_scope_sns, vlock, cnx)
262
235
  assignment_data = {
263
236
  serialNumbers: new_scope_sns,
264
237
  versionLock: vlock
@@ -272,34 +245,29 @@ module Jamf
272
245
  # Instance Methods
273
246
  #####################################
274
247
 
275
- # The scope data for this prestage
276
- #
277
- # TODO: retain this caching?
248
+ # The scope data for this prestage -
278
249
  #
279
- # @param refresh[Boolean] reload fromthe API?
250
+ # @param refresh[Boolean] reload from the API? DEPRECATED:
251
+ # the data is always read from the API. If making many calls at once,
252
+ # consisider capturing the data in your own variable
280
253
  #
281
254
  # @return [PrestageScope]
282
255
  #
283
- def scope(refresh: false)
284
- @scope = nil if refresh
285
- return @scope if @scope
256
+ def scope(refresh = false) # rubocop:disable Lint/UnusedMethodArgument
257
+ scope = INSTANCE_SCOPE_OBJECT.new @cnx.get(scope_path)
286
258
 
287
- @scope = INSTANCE_SCOPE_OBJECT.new @cnx.get(scope_path)
288
259
  # TODO: is this the best way to deal with fetching a scope that
289
260
  # is more updated than the rest of the object?
290
- unless @scope.versionLock == @versionLock
291
- raise Jamf::VersionLockError, "The #{self.class} '#{name}' has been modified since it was fetched. Please refetch and try again"
261
+ unless scope.versionLock == @versionLock
262
+ raise Jamf::VersionLockError, "The #{self.class} '#{displayName}' has been modified since it was fetched. Please refetch and try again"
292
263
  end
293
264
 
294
- @scope
265
+ scope
295
266
  end
296
267
 
297
268
  # @return [Array<String>] the serialnumbers assigned to this prestage
298
- def assigned_sns(refresh: false)
299
- return @assigned_sns if @assigned_sns
300
-
301
- @assigned_sns = nil if refresh
302
- @assigned_sns = scope.assignments.map(&:serialNumber)
269
+ def assigned_sns
270
+ scope.assignments.map(&:serialNumber)
303
271
  end
304
272
 
305
273
  # Is this SN assigned to this prestage?
@@ -315,40 +283,24 @@ module Jamf
315
283
  assigned_sns.include? sn
316
284
  end
317
285
  alias include? assigned?
286
+ alias scoped? assigned?
318
287
 
319
288
  # Assign
320
289
  def assign(*sns_to_assign)
321
- @scope = self.class.assign(sns_to_assign, to_prestage: @id, cnx: @cnx)
322
- @versionLock = @scope.versionLock
323
-
324
- # sns_to_assign.map!(&:to_s)
325
- # new_scope_sns = assigned_sns
326
- # new_scope_sns += sns_to_assign
327
- # new_scope_sns.uniq!
328
- # update_scope(new_scope_sns)
290
+ scope = self.class.assign(*sns_to_assign, to_prestage: @id, cnx: @cnx)
291
+ @versionLock = scope.versionLock
329
292
  end
330
293
  alias add assign
331
294
 
332
295
  def unassign(*sns_to_unassign)
333
- @scope = self.class.unassign(sns_to_unassign, from_prestage: @id, cnx: @cnx)
334
- @versionLock = @scope.versionLock
335
- # sns_to_unassign.map!(&:to_s)
336
- # new_scope_sns = assigned_sns
337
- # new_scope_sns -= sns_to_unassign
338
- # update_scope(new_scope_sns)
296
+ scope = self.class.unassign(*sns_to_unassign, from_prestage: @id, cnx: @cnx)
297
+ @versionLock = scope.versionLock
339
298
  end
340
299
  alias remove unassign
341
300
 
342
- def save
343
- super
344
- # the scope needs to be refreshed, since its versionLock will need to be
345
- # updated
346
- @scope = nil
347
- end
348
-
349
301
  # The scope endpoint for this instance
350
302
  def scope_path
351
- @scope_path ||= "#{get_path}/#{SCOPE_PATH}"
303
+ @scope_path ||= self.class.scope_path(id)
352
304
  end
353
305
 
354
306
  end # class
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -36,7 +36,7 @@ module Jamf
36
36
  # Settings for Account Driven User Enrollment. Only 1 of expirationIntervalDays or expirationIntervalSeconds can be supplied.
37
37
  #
38
38
  # This class was automatically genereated from the api/schema
39
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
39
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
40
40
  #
41
41
  # This class may be used directly, e.g instances of other classes may
42
42
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.
@@ -35,7 +35,7 @@ module Jamf
35
35
  #
36
36
  #
37
37
  # This class was automatically genereated from the api/schema
38
- # URL path on a Jamf Pro server version 10.46.0-t1681398190
38
+ # URL path on a Jamf Pro server version 10.50.0-t1693149930
39
39
  #
40
40
  # This class may be used directly, e.g instances of other classes may
41
41
  # use instances of this class as one of their own properties/attributes.