ruby-jss 3.2.2 → 4.0.0b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (565) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +28 -2
  3. data/README-2.0.0.md +3 -1
  4. data/lib/jamf/api/connection/cache.rb +9 -8
  5. data/lib/jamf/api/connection/connect.rb +33 -2
  6. data/lib/jamf/api/connection/constants.rb +5 -0
  7. data/lib/jamf/api/connection/token.rb +70 -1
  8. data/lib/jamf/api/connection.rb +5 -4
  9. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +173 -0
  10. data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +38 -0
  11. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +134 -0
  12. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +14 -5
  13. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +2 -1
  14. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +1 -1
  15. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +46 -94
  16. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +1 -1
  17. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -1
  18. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -1
  19. data/lib/jamf/api/jamf_pro/oapi_schemas/account_driven_user_enrollment_session_token_settings.rb +1 -1
  20. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -1
  21. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -1
  22. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -1
  23. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -1
  24. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +174 -0
  25. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +167 -0
  26. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -1
  27. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -1
  28. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -1
  29. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -1
  30. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -1
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -1
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -1
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -1
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -1
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +106 -0
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +143 -0
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +94 -0
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +105 -0
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_privileges.rb +87 -0
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +94 -0
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +94 -0
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -1
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_on_dashboard.rb → app_config_reinstall_code.rb} +10 -10
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -1
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -1
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -1
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -1
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -1
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -1
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -1
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -1
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/assignment.rb +1 -1
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -1
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -1
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -1
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -1
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -1
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +1 -1
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -1
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -1
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/available_os_updates.rb +1 -1
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +1 -1
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -1
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -1
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -1
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -1
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -1
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -1
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -1
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -1
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -1
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -1
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -1
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -1
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +3 -1
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +3 -1
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -1
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -1
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -1
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -1
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -1
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -1
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -1
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -1
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -1
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -1
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -1
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -1
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -1
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -1
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -1
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -1
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -1
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_response.rb +1 -1
  96. data/lib/jamf/api/jamf_pro/oapi_schemas/compliance_vendor_device_information.rb +1 -1
  97. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +1 -1
  98. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +1 -1
  99. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +1 -1
  100. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +1 -1
  101. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +1 -1
  102. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -1
  103. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -1
  104. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -1
  105. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -1
  106. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -1
  107. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -1
  108. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -1
  109. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -1
  110. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -1
  111. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -1
  112. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +1 -1
  113. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +1 -1
  114. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +1 -1
  115. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +1 -1
  116. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -1
  117. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_group.rb +1 -1
  118. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +1 -1
  119. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -1
  120. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +1 -1
  121. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +1 -1
  122. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -1
  123. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -1
  124. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +1 -1
  125. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault_search_results.rb +1 -1
  126. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -1
  127. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +1 -1
  128. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -1
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +1 -1
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +1 -1
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -1
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -1
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +1 -1
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -1
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -1
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +1 -1
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -1
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -1
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -1
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +1 -1
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -1
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_prestage_search_results.rb → computer_prestage_search_results_v3.rb} +8 -8
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -1
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_prestage.rb → computer_prestage_v3.rb} +39 -16
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +1 -1
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +1 -1
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -1
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -1
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +1 -1
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +1 -1
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +1 -1
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +1 -1
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +1 -1
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -1
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -1
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -1
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -1
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -1
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -1
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -1
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -1
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -1
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -1
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -1
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -1
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -1
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_attempt_action.rb → dashboard_api_error.rb} +15 -14
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_item.rb +131 -0
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup.rb +89 -0
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/{put_computer_prestage.rb → dashboard_setup_task.rb} +17 -12
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -1
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -1
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -1
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/declarative_management_command.rb +1 -1
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -1
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -1
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -1
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -1
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -1
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -1
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -1
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -1
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -1
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -1
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -1
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -1
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -1
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -1
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -1
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -1
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -1
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -1
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -1
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -1
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -1
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -1
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -1
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -1
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -1
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +1 -1
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -1
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -1
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -1
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -1
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -1
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -1
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -1
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -1
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -1
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -1
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -1
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -1
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -1
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +1 -1
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -1
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_ids_on_dashboard.rb → enrollment_method_prestage.rb} +17 -13
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +1 -1
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +5 -1
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v3.rb +240 -0
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_sso_config.rb +90 -0
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/erase_device_command.rb +120 -0
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -1
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +1 -1
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -1
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -1
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -1
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -1
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -1
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -1
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -1
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -1
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/{get_computer_prestage.rb → get_computer_prestage_v3.rb} +24 -18
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -1
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -1
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -1
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -1
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -1
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -1
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -1
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -1
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +1 -1
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -1
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -1
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -1
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -1
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -1
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -3
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -1
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -1
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -1
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +1 -1
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -1
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -1
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -1
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -1
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -1
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device.rb +1 -1
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device_search_results.rb +1 -1
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -1
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -1
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -1
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -1
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -1
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -1
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -1
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -1
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -1
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -1
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -1
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -1
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -1
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -1
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +4 -4
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +7 -7
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -1
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -1
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -1
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -1
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information_v2.rb +1 -1
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -1
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -1
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -1
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +1 -1
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit.rb +1 -1
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit_v2.rb +1 -1
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history.rb +113 -0
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history_response.rb +90 -0
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits.rb +1 -1
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits_v2.rb +1 -1
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results.rb +1 -1
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results_v2.rb +1 -1
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response.rb +1 -1
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response_v2.rb +1 -1
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation.rb +88 -0
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation_response.rb +90 -0
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request.rb +1 -1
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request_v2.rb +1 -1
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response.rb +1 -1
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response_v2.rb +1 -1
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user.rb +20 -2
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password.rb +1 -1
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request.rb +1 -1
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request_v2.rb +2 -2
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response.rb +1 -1
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response_v2.rb +2 -2
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_v2.rb +1 -1
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results.rb +1 -1
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results_v2.rb +1 -1
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_v2.rb +21 -2
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -1
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -1
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -1
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -1
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -1
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -1
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -1
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -1
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -1
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -1
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -1
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -1
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -1
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -1
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -1
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +1 -1
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -1
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +163 -0
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +99 -0
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +98 -0
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +100 -0
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +101 -0
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +102 -0
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +1 -1
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +1 -1
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -1
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -1
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -1
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -1
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client_request.rb +1 -1
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -1
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_results.rb +1 -1
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -1
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -1
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -1
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -1
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -1
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -1
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -1
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -1
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application_inventory_detail.rb +123 -0
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -1
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -1
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate.rb +94 -0
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -1
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +1 -1
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -1
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -1
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +1 -1
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -1
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook_inventory_detail.rb +105 -0
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/{azure_ad_migration_report_process_status.rb → mobile_device_extension_attribute.rb} +45 -35
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -1
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_general.rb +215 -0
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -1
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_hardware.rb +160 -0
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory.rb +151 -0
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory_search_results.rb +89 -0
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_general.rb +191 -0
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/{azure_ad_migration_report_request.rb → mobile_device_ios_inventory.rb} +45 -34
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_lost_mode_location.rb +118 -0
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_network.rb +180 -0
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -1
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -1
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -1
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -1
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -1
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -1
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -1
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -1
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_profile.rb +112 -0
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/{provisioning_profile.rb → mobile_device_provisioning_profiles.rb} +4 -4
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_purchasing.rb +157 -0
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -1
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -1
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -1
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_section.rb +100 -0
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_security.rb +178 -0
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/{mobile_device_service_subscription.rb → mobile_device_service_subscriptions.rb} +4 -4
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_shared_user.rb +93 -0
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_general.rb +93 -0
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/{integer_wrapper.rb → mobile_device_tv_os_inventory.rb} +10 -11
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_and_location.rb +142 -0
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/{active_patch_summary.rb → mobile_device_user_profile.rb} +31 -38
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -1
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -1
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -1
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -1
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +1 -1
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -1
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/{extension_attribute_migration_mapping_change.rb → o_auth_client_credentials.rb} +12 -19
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -1
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -1
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -1
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -1
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -1
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +1 -1
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policies.rb +1 -1
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_detail.rb +190 -0
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_details.rb +89 -0
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_list_view.rb +1 -1
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail.rb +1 -1
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail_action.rb +1 -1
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_eligible_retry_count.rb +1 -1
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_retry.rb +1 -1
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_v2.rb +1 -1
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_logs.rb +1 -1
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_v2_on_dashboard.rb +1 -1
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration.rb +1 -1
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_base.rb +1 -1
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_definition_kill_app.rb +1 -1
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependencies.rb +89 -0
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependency.rb +87 -0
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_extension_attributes.rb +1 -1
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_patch.rb +1 -1
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definition.rb +1 -1
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definitions.rb +1 -1
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_extension_attributes.rb +1 -1
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_packages.rb +1 -1
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report.rb +1 -1
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report_search_result.rb +1 -1
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary.rb +1 -1
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary_version.rb +1 -1
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -1
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +133 -0
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/{patch_policy_attempt.rb → plan_device.rb} +32 -29
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +97 -0
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +96 -0
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +96 -0
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -1
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +126 -0
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -1
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -1
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -1
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -1
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +91 -0
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -1
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -1
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -1
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -1
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -1
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -1
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -1
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -1
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -1
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -1
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -1
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -1
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -1
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -1
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -1
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +1 -1
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -1
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -1
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -1
  465. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -1
  466. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -1
  467. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -1
  468. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +98 -0
  469. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -1
  470. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -1
  471. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -1
  472. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -1
  473. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -1
  474. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -1
  475. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -1
  476. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -1
  477. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -1
  478. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -1
  479. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -1
  480. data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_app.rb +1 -1
  481. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -1
  482. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -1
  483. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -1
  484. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -1
  485. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -1
  486. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -1
  487. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -1
  488. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -1
  489. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -1
  490. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -1
  491. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -1
  492. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -1
  493. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -1
  494. data/lib/jamf/api/jamf_pro/oapi_schemas/set_auto_admin_password_command.rb +1 -1
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -1
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -1
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -1
  498. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -1
  499. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -1
  500. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -1
  501. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration_on_dashboard.rb +1 -1
  502. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -1
  503. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_failover_data.rb +1 -1
  504. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -1
  505. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -1
  506. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -1
  507. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -1
  508. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -1
  509. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -1
  510. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -1
  511. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -1
  512. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +15 -2
  513. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -1
  514. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group.rb +1 -1
  515. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_assignment.rb +1 -1
  516. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_search_results.rb +1 -1
  517. data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_summary.rb +1 -1
  518. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -1
  519. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -1
  520. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -1
  521. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -1
  522. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -1
  523. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -1
  524. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -1
  525. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +1 -1
  526. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +1 -1
  527. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -1
  528. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -1
  529. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +1 -1
  530. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -1
  531. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -1
  532. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -1
  533. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -1
  534. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -1
  535. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -1
  536. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -1
  537. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -1
  538. data/lib/jamf/api/jamf_pro/oapi_schemas/user_preferences_settings.rb +1 -1
  539. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_attributes.rb +1 -1
  540. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -1
  541. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -1
  542. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -1
  543. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +1 -1
  544. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -1
  545. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -1
  546. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -1
  547. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -1
  548. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -1
  549. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -1
  550. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -1
  551. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content_list.rb +1 -1
  552. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -1
  553. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -1
  554. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -1
  555. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -1
  556. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -1
  557. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -1
  558. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -1
  559. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -1
  560. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -1
  561. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -1
  562. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -1
  563. data/lib/jamf/version.rb +1 -1
  564. data/lib/jamf/zeitwerk_config.rb +8 -0
  565. 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.