ruby-jss 1.6.4 → 2.0.0a10

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 (705) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/CHANGES.md +40 -4
  4. data/README-2.0.0.md +316 -0
  5. data/README.md +48 -34
  6. data/bin/cgrouper +3 -3
  7. data/bin/jamfHelperBackgrounder +2 -2
  8. data/bin/netseg-update +3 -3
  9. data/data/ruby-jss.conf.example +1 -1
  10. data/lib/{jss/api_object → jamf/api/classic/api_objects}/account.rb +29 -22
  11. data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_computer_search.rb +6 -6
  12. data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_mobile_device_search.rb +6 -6
  13. data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_user_search.rb +6 -6
  14. data/lib/{jss/api_object → jamf/api/classic/api_objects}/building.rb +6 -6
  15. data/lib/{jss/api_object → jamf/api/classic/api_objects}/categorizable.rb +10 -10
  16. data/lib/{jss/api_object → jamf/api/classic/api_objects}/category.rb +17 -15
  17. data/lib/{jss/api_object → jamf/api/classic/api_objects}/computer.rb +210 -111
  18. data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/computer_extension_attribute.rb +19 -19
  19. data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/computer_group.rb +8 -8
  20. data/lib/{jss/api_object → jamf/api/classic/api_objects}/computer_invitation.rb +8 -8
  21. data/lib/{jss/api_object → jamf/api/classic/api_objects}/creatable.rb +22 -24
  22. data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable/criteria.rb +24 -24
  23. data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable/criterion.rb +15 -15
  24. data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable.rb +25 -28
  25. data/lib/{jss/api_object → jamf/api/classic/api_objects}/department.rb +7 -7
  26. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding.rb +40 -40
  27. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/active_directory.rb +47 -47
  28. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/admitmac.rb +56 -56
  29. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/centrify.rb +15 -15
  30. data/lib/{jss/api_object → jamf/api/classic/api_objects/directory_binding_type}/directory_binding_type.rb +2 -25
  31. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/open_directory.rb +19 -19
  32. data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/powerbroker_identity_services.rb +1 -1
  33. data/lib/jamf/api/classic/api_objects/directory_binding_type.rb +47 -0
  34. data/lib/{jss/api_object/disk_encryption_configurations.rb → jamf/api/classic/api_objects/disk_encryption_configuration.rb} +14 -14
  35. data/lib/{jss/api_object → jamf/api/classic/api_objects}/distribution_point.rb +41 -35
  36. data/lib/{jss/api_object → jamf/api/classic/api_objects}/dock_item.rb +12 -12
  37. data/lib/{jss/api_object → jamf/api/classic/api_objects}/ebook.rb +3 -3
  38. data/lib/{jss/api_object → jamf/api/classic/api_objects}/extendable.rb +23 -23
  39. data/lib/{jss/api_object → jamf/api/classic/api_objects}/ibeacon.rb +15 -15
  40. data/lib/{jss/api_object/self_servable → jamf/api/classic/api_objects}/icon.rb +8 -8
  41. data/lib/{jss/api_object → jamf/api/classic/api_objects}/ldap_server.rb +45 -34
  42. data/lib/{jss/api_object → jamf/api/classic/api_objects}/locatable.rb +6 -6
  43. data/lib/{jss/api_object → jamf/api/classic/api_objects}/mac_application.rb +18 -18
  44. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/audit_event.rb +4 -4
  45. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/casper_imaging_log.rb +4 -5
  46. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/casper_remote_log.rb +4 -4
  47. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/computer_usage_log.rb +4 -4
  48. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/ebook.rb +7 -7
  49. data/lib/{jss/api_object/management_history/hashlike.rb → jamf/api/classic/api_objects/management_history/hash_like.rb} +3 -3
  50. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mac_app_store_app.rb +4 -4
  51. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mdm_command.rb +9 -9
  52. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mobile_device_app.rb +4 -4
  53. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/policy_log.rb +5 -5
  54. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/screen_sharing_log.rb +4 -4
  55. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/user_location_change.rb +4 -4
  56. data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history.rb +226 -189
  57. data/lib/{jss/api_object → jamf/api/classic/api_objects}/matchable.rb +9 -6
  58. data/lib/{jss/api_object → jamf/api/classic/api_objects}/mdm.rb +256 -151
  59. data/lib/{jss/api_object → jamf/api/classic/api_objects}/mobile_device.rb +55 -39
  60. data/lib/{jss/api_object → jamf/api/classic/api_objects}/mobile_device_application.rb +77 -35
  61. data/lib/{jss/api_object/configuration_profile → jamf/api/classic/api_objects}/mobile_device_configuration_profile.rb +7 -10
  62. data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/mobile_device_extension_attribute.rb +19 -19
  63. data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/mobile_device_group.rb +8 -8
  64. data/lib/{jss/api_object → jamf/api/classic/api_objects}/netboot_server.rb +6 -6
  65. data/lib/{jss/api_object → jamf/api/classic/api_objects}/network_segment.rb +75 -61
  66. data/lib/{jss/api_object/configuration_profile → jamf/api/classic/api_objects}/osx_configuration_profile.rb +7 -7
  67. data/lib/{jss/api_object → jamf/api/classic/api_objects}/package.rb +83 -74
  68. data/lib/{jss/api_object/patch_source → jamf/api/classic/api_objects}/patch_external_source.rb +9 -9
  69. data/lib/{jss/api_object/patch_source → jamf/api/classic/api_objects}/patch_internal_source.rb +5 -5
  70. data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_policy.rb +70 -68
  71. data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_title/version.rb +15 -15
  72. data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_title.rb +76 -64
  73. data/lib/{jss/api_object → jamf/api/classic/api_objects}/peripheral.rb +24 -24
  74. data/lib/{jss/api_object → jamf/api/classic/api_objects}/peripheral_type.rb +20 -20
  75. data/lib/{jss/api_object → jamf/api/classic/api_objects}/policy.rb +113 -112
  76. data/lib/{jss/api_object → jamf/api/classic/api_objects}/printer.rb +52 -52
  77. data/lib/{jss/api_object → jamf/api/classic/api_objects}/purchasable.rb +6 -6
  78. data/lib/{jss/api_object → jamf/api/classic/api_objects}/removable_macaddr.rb +7 -7
  79. data/lib/{jss/api_object → jamf/api/classic/api_objects}/restricted_software.rb +21 -21
  80. data/lib/{jss/api_object → jamf/api/classic/api_objects}/scopable/scope.rb +69 -64
  81. data/lib/{jss/api_object → jamf/api/classic/api_objects}/scopable.rb +11 -13
  82. data/lib/{jss/api_object → jamf/api/classic/api_objects}/script.rb +22 -22
  83. data/lib/{jss/api_object → jamf/api/classic/api_objects}/self_servable.rb +49 -47
  84. data/lib/{jss/api_object → jamf/api/classic/api_objects}/sitable.rb +8 -8
  85. data/lib/{jss/api_object → jamf/api/classic/api_objects}/site.rb +6 -6
  86. data/lib/{jss/api_object → jamf/api/classic/api_objects}/software_update_server.rb +5 -5
  87. data/lib/{jss/api_object → jamf/api/classic/api_objects}/updatable.rb +13 -13
  88. data/lib/{jss/api_object → jamf/api/classic/api_objects}/uploadable.rb +71 -29
  89. data/lib/{jss/api_object → jamf/api/classic/api_objects}/user.rb +18 -18
  90. data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/user_extension_attribute.rb +12 -12
  91. data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/user_group.rb +7 -7
  92. data/lib/{jss/api_object → jamf/api/classic/api_objects}/vpp_account.rb +15 -15
  93. data/lib/{jss/api_object → jamf/api/classic/api_objects}/vppable.rb +5 -5
  94. data/lib/{jss/api_object/webhook.rb → jamf/api/classic/api_objects/web_hook.rb} +15 -15
  95. data/lib/{jss/api_object → jamf/api/classic/base_classes}/advanced_search.rb +36 -40
  96. data/lib/{jss → jamf/api/classic/base_classes}/api_object.rb +314 -274
  97. data/lib/{jss/api_object → jamf/api/classic/base_classes}/configuration_profile.rb +13 -16
  98. data/lib/{jss/api_object → jamf/api/classic/base_classes}/extension_attribute.rb +55 -59
  99. data/lib/{jss/api_object → jamf/api/classic/base_classes}/group.rb +45 -43
  100. data/lib/{jss/api_object → jamf/api/classic/base_classes}/patch_source.rb +107 -87
  101. data/lib/{jss → jamf/api/classic}/xml_workaround.rb +12 -12
  102. data/lib/jamf/api/connection/attributes.rb +177 -0
  103. data/lib/jamf/api/connection/cache.rb +148 -0
  104. data/lib/jamf/api/connection/classic_api.rb +287 -0
  105. data/lib/jamf/api/connection/connect.rb +491 -0
  106. data/lib/jamf/api/connection/constants.rb +106 -0
  107. data/lib/jamf/api/connection/default_connection.rb +103 -0
  108. data/lib/jamf/api/connection/jamf_pro_api.rb +170 -0
  109. data/lib/jamf/api/connection/jamf_pro_api_error.rb +109 -0
  110. data/lib/jamf/api/connection/token.rb +289 -99
  111. data/lib/jamf/api/connection.rb +186 -819
  112. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +82 -0
  113. data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +358 -0
  114. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +163 -0
  115. data/lib/jamf/api/jamf_pro/api_objects/jp_building.rb +116 -0
  116. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +87 -0
  117. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +602 -0
  118. data/lib/jamf/api/{mixins → jamf_pro/mixins}/bulk_deletable.rb +2 -1
  119. data/lib/jamf/api/jamf_pro/mixins/change_log.rb +246 -0
  120. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +762 -0
  121. data/lib/jamf/api/{mixins → jamf_pro/mixins}/filterable.rb +21 -14
  122. data/lib/jamf/api/{mixins → jamf_pro/mixins}/immutable.rb +6 -8
  123. data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +167 -0
  124. data/lib/jamf/api/{mixins → jamf_pro/mixins}/lockable.rb +29 -3
  125. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +346 -0
  126. data/lib/jamf/api/{mixins → jamf_pro/mixins}/sortable.rb +7 -17
  127. data/lib/jamf/api/{mixins → jamf_pro/mixins}/uncreatable.rb +2 -2
  128. data/lib/jamf/api/{mixins → jamf_pro/mixins}/undeletable.rb +2 -2
  129. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +90 -0
  130. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_search_results.rb +90 -0
  131. data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +90 -0
  132. data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +160 -0
  133. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +124 -0
  134. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +108 -0
  135. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +106 -0
  136. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +118 -0
  137. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +161 -0
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +90 -0
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +132 -0
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +83 -0
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +117 -0
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +84 -0
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +90 -0
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +117 -0
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +90 -0
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +163 -0
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +90 -0
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +107 -0
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +88 -0
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +134 -0
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +91 -0
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +115 -0
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +90 -0
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +105 -0
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +133 -0
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +88 -0
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +88 -0
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +113 -0
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +101 -0
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +159 -0
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +159 -0
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +91 -0
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +91 -0
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +117 -0
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +117 -0
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +116 -0
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +103 -0
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +95 -0
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +93 -0
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +93 -0
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +158 -0
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +147 -0
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +146 -0
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +132 -0
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +87 -0
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +138 -0
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +90 -0
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +150 -0
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +90 -0
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +104 -0
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +91 -0
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v1.rb +102 -0
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +108 -0
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +90 -0
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +147 -0
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +169 -0
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +165 -0
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +135 -0
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +109 -0
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +98 -0
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +109 -0
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +175 -0
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +84 -0
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +104 -0
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +106 -0
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +106 -0
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +109 -0
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +152 -0
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +149 -0
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +149 -0
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +125 -0
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +103 -0
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +128 -0
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +119 -0
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +373 -0
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +121 -0
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +98 -0
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +99 -0
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +90 -0
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +132 -0
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +106 -0
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +125 -0
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +119 -0
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +98 -0
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +144 -0
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +121 -0
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +176 -0
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +94 -0
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +231 -0
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +113 -0
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +265 -0
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +107 -0
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +82 -0
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +166 -0
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +109 -0
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +84 -0
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_response.rb +276 -0
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +90 -0
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +125 -0
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +89 -0
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +190 -0
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +94 -0
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +89 -0
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +133 -0
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +83 -0
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +180 -0
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +98 -0
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +146 -0
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +94 -0
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +98 -0
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +94 -0
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +107 -0
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +90 -0
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +90 -0
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +130 -0
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +100 -0
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +159 -0
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +95 -0
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +110 -0
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +180 -0
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +82 -0
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +94 -0
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +91 -0
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +132 -0
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +90 -0
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +103 -0
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +91 -0
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +124 -0
  259. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +123 -0
  260. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +86 -0
  261. data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +110 -0
  262. data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +88 -0
  263. data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +84 -0
  264. data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +98 -0
  265. data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +94 -0
  266. data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +160 -0
  267. data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +109 -0
  268. data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +88 -0
  269. data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +89 -0
  270. data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +93 -0
  271. data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +94 -0
  272. data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +98 -0
  273. data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +90 -0
  274. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +130 -0
  275. data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +92 -0
  276. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_request.rb +92 -0
  277. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_response.rb +105 -0
  278. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_search_results.rb +91 -0
  279. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_update.rb +92 -0
  280. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_request.rb +166 -0
  281. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_response.rb +163 -0
  282. data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_update.rb +171 -0
  283. data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +129 -0
  284. data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +118 -0
  285. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +163 -0
  286. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +90 -0
  287. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +84 -0
  288. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +83 -0
  289. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +164 -0
  290. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +90 -0
  291. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +99 -0
  292. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +216 -0
  293. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +235 -0
  294. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +95 -0
  295. data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +88 -0
  296. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +153 -0
  297. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +138 -0
  298. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +98 -0
  299. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +171 -0
  300. data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +90 -0
  301. data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +94 -0
  302. data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +85 -0
  303. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group.rb +123 -0
  304. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +135 -0
  305. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +133 -0
  306. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +107 -0
  307. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +112 -0
  308. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +84 -0
  309. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +94 -0
  310. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +88 -0
  311. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +90 -0
  312. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +122 -0
  313. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +84 -0
  314. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +114 -0
  315. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +113 -0
  316. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +90 -0
  317. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +90 -0
  318. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +116 -0
  319. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +98 -0
  320. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +347 -0
  321. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings.rb +264 -0
  322. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +274 -0
  323. data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +92 -0
  324. data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +118 -0
  325. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +116 -0
  326. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +117 -0
  327. data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +92 -0
  328. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +90 -0
  329. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +84 -0
  330. data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +90 -0
  331. data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +105 -0
  332. data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +91 -0
  333. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +106 -0
  334. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +105 -0
  335. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +88 -0
  336. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +90 -0
  337. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +94 -0
  338. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +94 -0
  339. data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +94 -0
  340. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +106 -0
  341. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +104 -0
  342. data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +139 -0
  343. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +95 -0
  344. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +107 -0
  345. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +86 -0
  346. data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +92 -0
  347. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +142 -0
  348. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +92 -0
  349. data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +169 -0
  350. data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +92 -0
  351. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +93 -0
  352. data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +89 -0
  353. data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +96 -0
  354. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +134 -0
  355. data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +134 -0
  356. data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +104 -0
  357. data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +85 -0
  358. data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +95 -0
  359. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +114 -0
  360. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +124 -0
  361. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +90 -0
  362. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +106 -0
  363. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +87 -0
  364. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +90 -0
  365. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +88 -0
  366. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +90 -0
  367. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +89 -0
  368. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +249 -0
  369. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +92 -0
  370. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +90 -0
  371. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +264 -0
  372. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +130 -0
  373. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +90 -0
  374. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +256 -0
  375. data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +256 -0
  376. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +96 -0
  377. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +91 -0
  378. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +108 -0
  379. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +125 -0
  380. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +93 -0
  381. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +83 -0
  382. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +126 -0
  383. data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +95 -0
  384. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +100 -0
  385. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +102 -0
  386. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +100 -0
  387. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +108 -0
  388. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +92 -0
  389. data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +95 -0
  390. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +127 -0
  391. data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +90 -0
  392. data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +89 -0
  393. data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +126 -0
  394. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +147 -0
  395. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +147 -0
  396. data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +125 -0
  397. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +119 -0
  398. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +90 -0
  399. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +113 -0
  400. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +92 -0
  401. data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +85 -0
  402. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +91 -0
  403. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +110 -0
  404. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +89 -0
  405. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +90 -0
  406. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +90 -0
  407. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +173 -0
  408. data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_signing_certificate.rb +102 -0
  409. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +85 -0
  410. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +93 -0
  411. data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +91 -0
  412. data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +114 -0
  413. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +154 -0
  414. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +101 -0
  415. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +90 -0
  416. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +90 -0
  417. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +88 -0
  418. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +88 -0
  419. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +236 -0
  420. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +84 -0
  421. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +254 -0
  422. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +95 -0
  423. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +84 -0
  424. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +97 -0
  425. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +137 -0
  426. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +95 -0
  427. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +95 -0
  428. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +119 -0
  429. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +119 -0
  430. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +90 -0
  431. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +90 -0
  432. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +176 -0
  433. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +145 -0
  434. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +90 -0
  435. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +90 -0
  436. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +159 -0
  437. data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +172 -0
  438. data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +180 -0
  439. data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +97 -0
  440. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +141 -0
  441. data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +97 -0
  442. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +138 -0
  443. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +138 -0
  444. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +107 -0
  445. data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +96 -0
  446. data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +149 -0
  447. data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +131 -0
  448. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +84 -0
  449. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +103 -0
  450. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +95 -0
  451. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +125 -0
  452. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +90 -0
  453. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +83 -0
  454. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +147 -0
  455. data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +97 -0
  456. data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +88 -0
  457. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +90 -0
  458. data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +91 -0
  459. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +92 -0
  460. data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +92 -0
  461. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +86 -0
  462. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +86 -0
  463. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +94 -0
  464. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +96 -0
  465. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +96 -0
  466. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +175 -0
  467. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +175 -0
  468. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +85 -0
  469. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +94 -0
  470. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +95 -0
  471. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +110 -0
  472. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +110 -0
  473. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +114 -0
  474. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +85 -0
  475. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +99 -0
  476. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +99 -0
  477. data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +92 -0
  478. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +99 -0
  479. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +142 -0
  480. data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +84 -0
  481. data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +96 -0
  482. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +154 -0
  483. data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +154 -0
  484. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +83 -0
  485. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +92 -0
  486. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +83 -0
  487. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +83 -0
  488. data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +93 -0
  489. data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +95 -0
  490. data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +83 -0
  491. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +89 -0
  492. data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +118 -0
  493. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +108 -0
  494. data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +91 -0
  495. data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +83 -0
  496. data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +96 -0
  497. data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +98 -0
  498. data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_apps.rb +85 -0
  499. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +193 -0
  500. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +90 -0
  501. data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +122 -0
  502. data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +122 -0
  503. data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +131 -0
  504. data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +130 -0
  505. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +93 -0
  506. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +123 -0
  507. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +114 -0
  508. data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +101 -0
  509. data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +83 -0
  510. data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +109 -0
  511. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +176 -0
  512. data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +91 -0
  513. data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +99 -0
  514. data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +83 -0
  515. data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +168 -0
  516. data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +88 -0
  517. data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +94 -0
  518. data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +92 -0
  519. data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +119 -0
  520. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +90 -0
  521. data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +90 -0
  522. data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +89 -0
  523. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +129 -0
  524. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +131 -0
  525. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +108 -0
  526. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +104 -0
  527. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +121 -0
  528. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +94 -0
  529. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +94 -0
  530. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +84 -0
  531. data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +241 -0
  532. data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +186 -0
  533. data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +92 -0
  534. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +108 -0
  535. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +100 -0
  536. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +91 -0
  537. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +90 -0
  538. data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +84 -0
  539. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +106 -0
  540. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +108 -0
  541. data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +122 -0
  542. data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +88 -0
  543. data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +108 -0
  544. data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +133 -0
  545. data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +84 -0
  546. data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +88 -0
  547. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +82 -0
  548. data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +82 -0
  549. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +123 -0
  550. data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +138 -0
  551. data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +88 -0
  552. data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +118 -0
  553. data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +194 -0
  554. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +113 -0
  555. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +86 -0
  556. data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +92 -0
  557. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +91 -0
  558. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +148 -0
  559. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +88 -0
  560. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +90 -0
  561. data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +84 -0
  562. data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +91 -0
  563. data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +88 -0
  564. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +154 -0
  565. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +87 -0
  566. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +172 -0
  567. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +112 -0
  568. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +115 -0
  569. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +90 -0
  570. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +87 -0
  571. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +128 -0
  572. data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +90 -0
  573. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +120 -0
  574. data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +124 -0
  575. data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +88 -0
  576. data/lib/jamf/api/jamf_pro/oapi_schemas.rb +35 -0
  577. data/lib/{jss/ruby_extensions/string.rb → jamf/api/jamf_pro/other_classes/change_log_entry.rb} +12 -10
  578. data/lib/jamf/api/{attribute_classes → jamf_pro/other_classes}/ip_address.rb +2 -8
  579. data/lib/jamf/api/jamf_pro/other_classes/pager.rb +257 -0
  580. data/lib/jamf/api/{attribute_classes → jamf_pro/other_classes}/timestamp.rb +18 -14
  581. data/lib/jamf/{api/mixins/base_class.rb → base_class.rb} +8 -8
  582. data/lib/jamf/client/jamf_binary.rb +104 -98
  583. data/lib/jamf/client/jamf_helper.rb +263 -255
  584. data/lib/jamf/client/management_action.rb +71 -72
  585. data/lib/jamf/client.rb +15 -86
  586. data/lib/jamf/composer.rb +5 -5
  587. data/lib/jamf/configuration.rb +219 -196
  588. data/lib/jamf/{api/json_objects/prestage_sync_status.rb → constants.rb} +15 -32
  589. data/lib/{jss → jamf}/db_connection.rb +23 -31
  590. data/lib/{jpapi.rb → jamf/deprecations/deprecated_api_constant.rb} +3 -4
  591. data/lib/jamf/deprecations/deprecated_config_constant.rb +25 -0
  592. data/lib/jamf/exceptions.rb +14 -15
  593. data/lib/jamf/oapi_validate.rb +502 -0
  594. data/lib/jamf/ruby_extensions/array/predicates.rb +3 -1
  595. data/lib/jamf/ruby_extensions/array/utils.rb +2 -11
  596. data/lib/jamf/ruby_extensions/array.rb +1 -1
  597. data/lib/jamf/ruby_extensions/filetest/predicates.rb +2 -1
  598. data/lib/jamf/ruby_extensions/filetest.rb +1 -1
  599. data/lib/jamf/ruby_extensions/hash/{backports.rb → utils.rb} +53 -34
  600. data/lib/jamf/ruby_extensions/hash.rb +3 -3
  601. data/lib/jamf/ruby_extensions/ipaddr/utils.rb +7 -4
  602. data/lib/jamf/ruby_extensions/ipaddr.rb +2 -2
  603. data/lib/jamf/ruby_extensions/object/predicates.rb +3 -1
  604. data/lib/jamf/ruby_extensions/object.rb +1 -1
  605. data/lib/jamf/ruby_extensions/pathname/predicates.rb +3 -1
  606. data/lib/jamf/ruby_extensions/pathname/utils.rb +11 -5
  607. data/lib/jamf/ruby_extensions/pathname.rb +1 -1
  608. data/lib/jamf/ruby_extensions/string/conversions.rb +16 -1
  609. data/lib/jamf/ruby_extensions/string/predicates.rb +3 -1
  610. data/lib/jamf/ruby_extensions/string.rb +1 -3
  611. data/lib/{jss/ruby_extensions/time.rb → jamf/ruby_extensions/time/utils.rb} +40 -25
  612. data/lib/{jss/version.rb → jamf/ruby_extensions/time.rb} +7 -6
  613. data/lib/jamf/ruby_extensions.rb +9 -9
  614. data/lib/jamf/utility.rb +626 -410
  615. data/lib/jamf/validate.rb +86 -125
  616. data/lib/jamf/version.rb +3 -3
  617. data/lib/jamf.rb +76 -131
  618. data/lib/jss-api.rb +2 -2
  619. data/lib/jss.rb +3 -215
  620. data/lib/ruby-jss.rb +2 -2
  621. data/lib/zeitwerk_config.rb +162 -0
  622. data/test/README.md +27 -112
  623. data/test/bin/runtests +57 -130
  624. data/test/lib/jamf_test/APITest.rb +80 -0
  625. data/test/lib/jamf_test/auth.rb +267 -0
  626. data/test/lib/jamf_test/collection_tests.rb +393 -0
  627. data/test/lib/{testhelper.rb → jamf_test.rb} +8 -11
  628. data/{lib/jss/ruby_extensions/filetest.rb → test/tests/category.rb} +17 -20
  629. data/test/tests/device_enrollment.rb +101 -0
  630. data/test/tests/inventory_preload_record.rb +131 -0
  631. data/{lib/jss/ruby_extensions.rb → test/tests/jp_building.rb} +16 -12
  632. data/test/tests/policy.rb +163 -0
  633. metadata +646 -204
  634. data/lib/jamf/api/base_classes/collection_resource.rb +0 -612
  635. data/lib/jamf/api/base_classes/json_object.rb +0 -1103
  636. data/lib/jamf/api/base_classes/prestage.rb +0 -503
  637. data/lib/jamf/api/base_classes/resource.rb +0 -259
  638. data/lib/jamf/api/base_classes/singleton_resource.rb +0 -88
  639. data/lib/jamf/api/connection/api_error.rb +0 -111
  640. data/lib/jamf/api/connection/api_error_styleguide.rb +0 -96
  641. data/lib/jamf/api/json_objects/change_log_entry.rb +0 -77
  642. data/lib/jamf/api/json_objects/country.rb +0 -51
  643. data/lib/jamf/api/json_objects/device_enrollment_device.rb +0 -165
  644. data/lib/jamf/api/json_objects/device_enrollment_device_sync_state.rb +0 -81
  645. data/lib/jamf/api/json_objects/device_enrollment_sync_status.rb +0 -71
  646. data/lib/jamf/api/json_objects/inventory_preload_extension_attribute.rb +0 -57
  647. data/lib/jamf/api/json_objects/locale.rb +0 -59
  648. data/lib/jamf/api/json_objects/md_prestage_name.rb +0 -57
  649. data/lib/jamf/api/json_objects/md_prestage_names.rb +0 -82
  650. data/lib/jamf/api/json_objects/md_prestage_skip_setup_items.rb +0 -214
  651. data/lib/jamf/api/json_objects/prestage_assignment.rb +0 -76
  652. data/lib/jamf/api/json_objects/prestage_location.rb +0 -104
  653. data/lib/jamf/api/json_objects/prestage_purchasing_data.rb +0 -132
  654. data/lib/jamf/api/json_objects/prestage_scope.rb +0 -57
  655. data/lib/jamf/api/json_objects/time_zone.rb +0 -105
  656. data/lib/jamf/api/mixins/change_log.rb +0 -288
  657. data/lib/jamf/api/mixins/extendable.rb +0 -75
  658. data/lib/jamf/api/mixins/pageable.rb +0 -208
  659. data/lib/jamf/api/mixins/searchable.rb +0 -202
  660. data/lib/jamf/api/resources/collection_resources/building.rb +0 -121
  661. data/lib/jamf/api/resources/collection_resources/category.rb +0 -83
  662. data/lib/jamf/api/resources/collection_resources/computer_prestage.rb +0 -89
  663. data/lib/jamf/api/resources/collection_resources/department.rb +0 -78
  664. data/lib/jamf/api/resources/collection_resources/device_enrollment.rb +0 -384
  665. data/lib/jamf/api/resources/collection_resources/inventory_preload_record.rb +0 -289
  666. data/lib/jamf/api/resources/collection_resources/mobile_device_prestage.rb +0 -143
  667. data/lib/jamf/api/resources/collection_resources/script.rb +0 -226
  668. data/lib/jamf/api/resources/singleton_resources/app_store_country_codes.rb +0 -141
  669. data/lib/jamf/api/resources/singleton_resources/locales.rb +0 -155
  670. data/lib/jamf/api/resources/singleton_resources/time_zones.rb +0 -213
  671. data/lib/jamf/compatibility.rb +0 -88
  672. data/lib/jamf/ruby_extensions/dig.rb +0 -52
  673. data/lib/jamf/ruby_extensions/string/backports.rb +0 -66
  674. data/lib/jss/api_connection.rb +0 -1029
  675. data/lib/jss/api_object/app_store_country_codes.rb +0 -298
  676. data/lib/jss/api_object/computer/application_installs.rb +0 -118
  677. data/lib/jss/client/jamf_binary.rb +0 -132
  678. data/lib/jss/client/jamf_helper.rb +0 -298
  679. data/lib/jss/client/management_action.rb +0 -113
  680. data/lib/jss/client.rb +0 -301
  681. data/lib/jss/compatibility.rb +0 -88
  682. data/lib/jss/composer.rb +0 -190
  683. data/lib/jss/configuration.rb +0 -319
  684. data/lib/jss/exceptions.rb +0 -115
  685. data/lib/jss/ruby_extensions/array.rb +0 -52
  686. data/lib/jss/ruby_extensions/hash.rb +0 -140
  687. data/lib/jss/ruby_extensions/ipaddr.rb +0 -92
  688. data/lib/jss/ruby_extensions/object.rb +0 -19
  689. data/lib/jss/ruby_extensions/pathname.rb +0 -78
  690. data/lib/jss/ruby_extensions/string/backports.rb +0 -68
  691. data/lib/jss/ruby_extensions/string/conversions.rb +0 -69
  692. data/lib/jss/ruby_extensions/string/predicates.rb +0 -57
  693. data/lib/jss/server.rb +0 -146
  694. data/lib/jss/utility.rb +0 -672
  695. data/lib/jss/validate.rb +0 -248
  696. data/test/lib/testhelper/auth.rb +0 -275
  697. data/test/lib/testhelper/patch_mgmt.rb +0 -123
  698. data/test/specs/api_connection_spec.rb +0 -57
  699. data/test/specs/patch01_source_spec.rb +0 -54
  700. data/test/specs/patch02_internal_source_spec.rb +0 -88
  701. data/test/specs/patch03_external_source_spec.rb +0 -120
  702. data/test/specs/patch04_titles_spec.rb +0 -207
  703. data/test/specs/patch05_policies_spec.rb +0 -119
  704. data/test/specs/patch06_cleanup_spec.rb +0 -52
  705. data/test/specs/policy_spec.rb +0 -112
@@ -1,4 +1,4 @@
1
- ### Copyright 2020 Pixar
1
+ ### Copyright 2022 Pixar
2
2
 
3
3
  ###
4
4
  ### Licensed under the Apache License, Version 2.0 (the "Apache License")
@@ -24,7 +24,7 @@
24
24
  ###
25
25
 
26
26
  ###
27
- module JSS
27
+ module Jamf
28
28
 
29
29
  # Mixin Modules
30
30
  #####################################
@@ -76,6 +76,8 @@ module JSS
76
76
 
77
77
  DELETE_USER = 'DeleteUser'.freeze
78
78
  UNLOCK_USER_ACCOUNT = 'UnlockUserAccount'.freeze
79
+ ENABLE_REMOTE_DESKTOP = 'EnableRemoteDesktop'.freeze
80
+ DISABLE_REMOTE_DESKTOP = 'DisableRemoteDesktop'.freeze
79
81
 
80
82
  # devices
81
83
 
@@ -116,7 +118,9 @@ module JSS
116
118
  ERASE_DEVICE,
117
119
  UNMANGE_DEVICE,
118
120
  DELETE_USER,
119
- UNLOCK_USER_ACCOUNT
121
+ UNLOCK_USER_ACCOUNT,
122
+ ENABLE_REMOTE_DESKTOP,
123
+ DISABLE_REMOTE_DESKTOP
120
124
  ].freeze
121
125
 
122
126
  # The MDM commands applicable to all mobile devices
@@ -188,6 +192,9 @@ module JSS
188
192
 
189
193
  delete_user: DELETE_USER,
190
194
 
195
+ enable_remote_desktop: ENABLE_REMOTE_DESKTOP,
196
+ disable_remote_desktop: DISABLE_REMOTE_DESKTOP,
197
+
191
198
  # mobile devices only
192
199
  settings: SETTINGS, # not yet implemented as its own method
193
200
 
@@ -240,8 +247,7 @@ module JSS
240
247
  DEVICE_LOCK => :passcode, # 6 char passcode
241
248
  ERASE_DEVICE => String, # 6 char passcode
242
249
  DELETE_USER => String, # username
243
- UNLOCK_USER_ACCOUNT => String, # username
244
-
250
+ UNLOCK_USER_ACCOUNT => String # username
245
251
  }.freeze
246
252
 
247
253
  WALLPAPER_LOCATIONS = {
@@ -305,17 +311,17 @@ module JSS
305
311
  #
306
312
  # @example send a blank push to mobiledevice id 12 without instantiating:
307
313
  #
308
- # JSS::MobileDevice.send_blank_push 12
314
+ # Jamf::MobileDevice.send_blank_push 12
309
315
  #
310
316
  # @example send a blank push to mobiledevice id 12 with instantiating:
311
317
  #
312
- # device = JSS::MobileDevice.fetch id: 12
318
+ # device = Jamf::MobileDevice.fetch id: 12
313
319
  # device.send_blank_push
314
320
  #
315
321
  # @example send a blank push to computers in computer groups
316
322
  # 'SpecialMacs' and 'FooBarGroup'
317
323
  #
318
- # JSS::ComputerGroup.send_blank_push ['SpecialMacs', 'FooBarGroup']
324
+ # Jamf::ComputerGroup.send_blank_push ['SpecialMacs', 'FooBarGroup']
319
325
  #
320
326
  # @param targets[String,Integer,Array<String,Integer>]
321
327
  # the name or id of the device(s), or devicegroup(s) to receive the
@@ -329,8 +335,8 @@ module JSS
329
335
  # @param opts[Hash] Some commands require extra data, e.g. a device name.
330
336
  # Put it here
331
337
  #
332
- # @param api[JSS::APIConnection] the API connection to use. Defaults to the
333
- # currently active API, see {JSS::APIConnection}
338
+ # @param cnx [Jamf::Connection] the API connection to use. Defaults to the
339
+ # currently active API, see {Jamf::Connection}
334
340
  #
335
341
  # @return [Hash{Integer=>String}] Keys are the target device ids.
336
342
  # Values depend on the kind of target:
@@ -344,12 +350,14 @@ module JSS
344
350
  # always 'Command sent' (an error will be raised if there are problems
345
351
  # sending)
346
352
  #
347
- def send_mdm_command(targets, command, opts: {}, api: JSS.api)
353
+ def send_mdm_command(targets, command, opts: {}, api: nil, cnx: Jamf.cnx)
354
+ cnx = api if api
355
+
348
356
  command = validate_command(command)
349
357
 
350
358
  rsrc = "#{send_command_rsrc}/command/#{command}"
351
359
 
352
- targets = raw_targets_to_ids targets, api: api
360
+ targets = raw_targets_to_ids targets, cnx: cnx
353
361
 
354
362
  cmd_xml = mdm_command_xml(command, opts, targets)
355
363
 
@@ -359,7 +367,7 @@ module JSS
359
367
  puts "\n\nTo rsrc: #{rsrc}"
360
368
  end
361
369
 
362
- result = api.post_rsrc rsrc, cmd_xml
370
+ result = cnx.c_post rsrc, cmd_xml
363
371
 
364
372
  if command == BLANK_PUSH
365
373
  hash = {}
@@ -419,7 +427,7 @@ module JSS
419
427
  when *DEVICE_TARGETS
420
428
  DEVICE_RSRC
421
429
  else
422
- raise JSS::InvalidDataError, "Unknown MDM command target: #{self::MDM_COMMAND_TARGET}"
430
+ raise Jamf::InvalidDataError, "Unknown MDM command target: #{self::MDM_COMMAND_TARGET}"
423
431
  end
424
432
  end
425
433
 
@@ -430,20 +438,22 @@ module JSS
430
438
  #
431
439
  # @param expand_groups[Boolean] Should groups be expanded into member ids?
432
440
  #
433
- # @param api[JSS::APIConnection] an API connection to use.
441
+ # @param cnx [Jamf::Connection] an API connection to use.
434
442
  #
435
443
  # @return [Array<Integer>] The ids of the target devices for a command
436
444
  #
437
- def raw_targets_to_ids(targets, api: JSS.api, expand_groups: true)
445
+ def raw_targets_to_ids(targets, expand_groups: true, api: nil, cnx: Jamf.cnx)
446
+ cnx = api if api
447
+
438
448
  targets = targets.is_a?(Array) ? targets : [targets]
439
449
 
440
450
  # flush caches before checking ids and managment
441
- api.flushcache self::RSRC_LIST_KEY
451
+ cnx.flushcache self::RSRC_LIST_KEY
442
452
 
443
453
  # make sure its an array of ids
444
454
  targets.map! do |md|
445
- id = valid_id md, api: api
446
- raise JSS::NoSuchItemError, "No #{self} matches identifier: #{md}" unless id
455
+ id = valid_id md, cnx: cnx
456
+ raise Jamf::NoSuchItemError, "No #{self} matches identifier: #{md}" unless id
447
457
  id
448
458
  end # map!
449
459
 
@@ -456,10 +466,10 @@ module JSS
456
466
 
457
467
  # make sure all of them are managed, or else the API will raise a 400
458
468
  # 'Bad Request' when sending the command to an unmanaged target
459
- all_mgd = map_all_ids_to(:managed, api: api).select { |_id, mgd| mgd }.keys
469
+ all_mgd = map_all_ids_to(:managed, cnx: cnx).select { |_id, mgd| mgd }.keys
460
470
 
461
471
  targets.each do |target_id|
462
- raise JSS::UnmanagedError, "#{self} with id #{target_id} is not managed. Cannot send command." unless all_mgd.include? target_id
472
+ raise Jamf::UnmanagedError, "#{self} with id #{target_id} is not managed. Cannot send command." unless all_mgd.include? target_id
463
473
  end
464
474
 
465
475
  targets
@@ -477,22 +487,22 @@ module JSS
477
487
  # @return [String] The XML content to send to the API
478
488
  #
479
489
  def mdm_command_xml(command, options, targets)
480
- raise JSS::MissingDataError, 'Targets cannot be empty' if targets.empty?
490
+ raise Jamf::MissingDataError, 'Targets cannot be empty' if targets.empty?
481
491
 
482
492
  case self::MDM_COMMAND_TARGET
483
493
  when *COMPUTER_TARGETS
484
494
  command_elem = COMPUTER_COMMAND_ELEMENT
485
- target_list_elem = JSS::Computer::RSRC_LIST_KEY.to_s
486
- target_elem = JSS::Computer::RSRC_OBJECT_KEY.to_s
495
+ target_list_elem = Jamf::Computer::RSRC_LIST_KEY.to_s
496
+ target_elem = Jamf::Computer::RSRC_OBJECT_KEY.to_s
487
497
  when *DEVICE_TARGETS
488
498
  command_elem = DEVICE_COMMAND_ELEMENT
489
- target_list_elem = JSS::MobileDevice::RSRC_LIST_KEY.to_s
490
- target_elem = JSS::MobileDevice::RSRC_OBJECT_KEY.to_s
499
+ target_list_elem = Jamf::MobileDevice::RSRC_LIST_KEY.to_s
500
+ target_elem = Jamf::MobileDevice::RSRC_OBJECT_KEY.to_s
491
501
  else
492
- raise JSS::NoSuchItemError, "Unknonwn MDM command target: #{self::MDM_COMMAND_TARGET}"
502
+ raise Jamf::NoSuchItemError, "Unknonwn MDM command target: #{self::MDM_COMMAND_TARGET}"
493
503
  end # case
494
504
 
495
- xml = REXML::Document.new JSS::APIConnection::XML_HEADER
505
+ xml = REXML::Document.new Jamf::Connection::XML_HEADER
496
506
  cmd_xml = xml.add_element command_elem
497
507
 
498
508
  general = cmd_xml.add_element GENERAL_ELEMENT
@@ -518,20 +528,20 @@ module JSS
518
528
  # @return [String] the matching value for the command symbol given
519
529
  #
520
530
  def validate_command(command)
521
- raise JSS::NoSuchItemError, "Unknown command '#{command}'" unless COMMANDS.keys.include? command
531
+ raise Jamf::NoSuchItemError, "Unknown command '#{command}'" unless COMMANDS.keys.include? command
522
532
 
523
533
  command = COMMANDS[command]
524
534
 
525
535
  case self::MDM_COMMAND_TARGET
526
536
  when *COMPUTER_TARGETS
527
537
  return command if COMPUTER_COMMANDS.include? command
528
- raise JSS::UnsupportedError, "'#{command}' cannot be sent to computers or computer groups"
538
+ raise Jamf::UnsupportedError, "'#{command}' cannot be sent to computers or computer groups"
529
539
  when *DEVICE_TARGETS
530
540
  return command if DEVICE_COMMANDS.include? command
531
- raise JSS::UnsupportedError, "'#{command}' cannot be sent to mobile devices or mobile device groups"
541
+ raise Jamf::UnsupportedError, "'#{command}' cannot be sent to mobile devices or mobile device groups"
532
542
  end
533
543
 
534
- raise JSS::NoSuchItemError, "'#{command}' is known, but not available for computers or mobile devices. This is a bug. Please report it."
544
+ raise Jamf::NoSuchItemError, "'#{command}' is known, but not available for computers or mobile devices. This is a bug. Please report it."
535
545
  end
536
546
 
537
547
  ###### The individual commands
@@ -545,12 +555,14 @@ module JSS
545
555
  #
546
556
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
547
557
  #
548
- # @param api[JSS::APIConnection] the API thru which to send the command
558
+ # @param cnx [Jamf::Connection] the API thru which to send the command
549
559
  #
550
560
  # @return (see .send_mdm_command)]
551
561
  #
552
- def blank_push(targets, api: JSS.api)
553
- send_mdm_command targets, :blank_push, api: api
562
+ def blank_push(targets, api: nil, cnx: Jamf.cnx)
563
+ cnx = api if api
564
+
565
+ send_mdm_command targets, :blank_push, cnx: cnx
554
566
  end
555
567
  alias send_blank_push blank_push
556
568
  alias noop blank_push
@@ -563,20 +575,22 @@ module JSS
563
575
  #
564
576
  # @param message[String] An optional message to display on mobiledevices & mobiledevicegroups
565
577
  #
566
- # @param api[JSS::APIConnection] the API thru which to send the command
578
+ # @param cnx [Jamf::Connection] the API thru which to send the command
567
579
  #
568
580
  # @return (see .send_mdm_command)
569
581
  #
570
- def device_lock(targets, passcode: '', message: nil, api: JSS.api)
582
+ def device_lock(targets, passcode: '', message: nil, api: nil, cnx: Jamf.cnx)
583
+ cnx = api if api
584
+
571
585
  case self::MDM_COMMAND_TARGET
572
586
  when *COMPUTER_TARGETS
573
- raise JSS::InvalidDataError, 'Locking computers requires a 6-character String passcode' unless passcode.size == 6
587
+ raise Jamf::InvalidDataError, 'Locking computers requires a 6-character String passcode' unless passcode.size == 6
574
588
  opts = { passcode: passcode }
575
589
  when *DEVICE_TARGETS
576
590
  opts = {}
577
591
  opts[:lock_message] = message if message
578
592
  end # case
579
- send_mdm_command targets, :device_lock, opts: opts, api: api
593
+ send_mdm_command targets, :device_lock, opts: opts, cnx: cnx
580
594
  end
581
595
  alias lock_device device_lock
582
596
  alias lock device_lock
@@ -589,20 +603,22 @@ module JSS
589
603
  #
590
604
  # @param preserve_data_plan[Boolean] Should the data plan of the mobile device be preserved?
591
605
  #
592
- # @param api[JSS::APIConnection] the API thru which to send the command
606
+ # @param cnx [Jamf::Connection] the API thru which to send the command
593
607
  #
594
608
  # @return (see .send_mdm_command)
595
609
  #
596
- def erase_device(targets, passcode: '', preserve_data_plan: false, api: JSS.api)
610
+ def erase_device(targets, passcode: '', preserve_data_plan: false, api: nil, cnx: Jamf.cnx)
611
+ cnx = api if api
612
+
597
613
  case self::MDM_COMMAND_TARGET
598
614
  when *COMPUTER_TARGETS
599
- raise JSS::InvalidDataError, 'Erasing computers requires a 6-character String passcode' unless passcode.size == 6
615
+ raise Jamf::InvalidDataError, 'Erasing computers requires a 6-character String passcode' unless passcode.size == 6
600
616
  opts = { passcode: passcode }
601
617
  when *DEVICE_TARGETS
602
618
  opts = {}
603
619
  opts[:preserve_data_plan] = 'true' if preserve_data_plan
604
620
  end # case
605
- send_mdm_command targets, :erase_device, opts: opts, api: api
621
+ send_mdm_command targets, :erase_device, opts: opts, cnx: cnx
606
622
  end
607
623
  alias wipe erase_device
608
624
  alias wipe_device erase_device
@@ -614,16 +630,18 @@ module JSS
614
630
  # NOTE: when used with computers, the mdm profile will probably
615
631
  # be re-installed immediately unless the computer is also no longer
616
632
  # managed by Jamf Pro itself. To fully unmanage a computer, use
617
- # the {JSS::Computer#make_unmanaged} instance method.
633
+ # the {Jamf::Computer#make_unmanaged} instance method.
618
634
  #
619
635
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
620
636
  #
621
- # @param api[JSS::APIConnection] the API thru which to send the command
637
+ # @param cnx [Jamf::Connection] the API thru which to send the command
622
638
  #
623
639
  # @return (see .send_mdm_command)
624
640
  #
625
- def unmanage_device(targets, api: JSS.api)
626
- send_mdm_command targets, :unmanage_device, api: api
641
+ def unmanage_device(targets, api: nil, cnx: Jamf.cnx)
642
+ cnx = api if api
643
+
644
+ send_mdm_command targets, :unmanage_device, cnx: cnx
627
645
  end
628
646
  alias remove_mdm_profile unmanage_device
629
647
 
@@ -636,12 +654,14 @@ module JSS
636
654
  #
637
655
  # @param user[String] the username of the acct to unlock
638
656
  #
639
- # @param api[JSS::APIConnection] the API thru which to send the command
657
+ # @param cnx [Jamf::Connection] the API thru which to send the command
640
658
  #
641
659
  # @return (see .send_mdm_command)
642
660
  #
643
- def unlock_user_account(targets, user, api: JSS.api)
644
- send_mdm_command targets, :unlock_user_account, opts: { user_name: user }, api: api
661
+ def unlock_user_account(targets, user, api: nil, cnx: Jamf.cnx)
662
+ cnx = api if api
663
+
664
+ send_mdm_command targets, :unlock_user_account, opts: { user_name: user }, cnx: cnx
645
665
  end
646
666
 
647
667
  # Send a delete_user command to one or more targets
@@ -650,12 +670,42 @@ module JSS
650
670
  #
651
671
  # @param user[String] the username of the acct to delete
652
672
  #
653
- # @param api[JSS::APIConnection] the API thru which to send the command
673
+ # @param cnx [Jamf::Connection] the API thru which to send the command
674
+ #
675
+ # @return (see .send_mdm_command)
676
+ #
677
+ def delete_user(targets, user, api: nil, cnx: Jamf.cnx)
678
+ cnx = api if api
679
+
680
+ send_mdm_command targets, :delete_user, opts: { user_name: user }, cnx: cnx
681
+ end
682
+
683
+ # Send an enable_remote_desktop command to one or more targets
684
+ #
685
+ # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
686
+ #
687
+ # @param cnx [Jamf::Connection] the API thru which to send the command
654
688
  #
655
689
  # @return (see .send_mdm_command)
656
690
  #
657
- def delete_user(targets, user, api: JSS.api)
658
- send_mdm_command targets, :delete_user, opts: { user_name: user }, api: api
691
+ def enable_remote_desktop(targets, api: nil, cnx: Jamf.cnx)
692
+ cnx = api if api
693
+
694
+ send_mdm_command targets, :enable_remote_desktop, cnx: cnx
695
+ end
696
+
697
+ # Send a disable_remote_desktop command to one or more targets
698
+ #
699
+ # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
700
+ #
701
+ # @param cnx [Jamf::Connection] the API thru which to send the command
702
+ #
703
+ # @return (see .send_mdm_command)
704
+ #
705
+ def disable_remote_desktop(targets, api: nil, cnx: Jamf.cnx)
706
+ cnx = api if api
707
+
708
+ send_mdm_command targets, :disable_remote_desktop, cnx: cnx
659
709
  end
660
710
 
661
711
  # Commands for mobile devices only
@@ -665,12 +715,14 @@ module JSS
665
715
  #
666
716
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
667
717
  #
668
- # @param api[JSS::APIConnection] the API thru which to send the command
718
+ # @param cnx [Jamf::Connection] the API thru which to send the command
669
719
  #
670
720
  # @return (see .send_mdm_command)
671
721
  #
672
- def update_inventory(targets, api: JSS.api)
673
- send_mdm_command targets, :update_inventory, api: api
722
+ def update_inventory(targets, api: nil, cnx: Jamf.cnx)
723
+ cnx = api if api
724
+
725
+ send_mdm_command targets, :update_inventory, cnx: cnx
674
726
  end
675
727
  alias recon update_inventory
676
728
 
@@ -678,72 +730,84 @@ module JSS
678
730
  #
679
731
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
680
732
  #
681
- # @param api[JSS::APIConnection] the API thru which to send the command
733
+ # @param cnx [Jamf::Connection] the API thru which to send the command
682
734
  #
683
735
  # @return (see .send_mdm_command)
684
736
  #
685
- def clear_passcode(targets, api: JSS.api)
686
- send_mdm_command targets, :clear_passcode, api: api
737
+ def clear_passcode(targets, api: nil, cnx: Jamf.cnx)
738
+ cnx = api if api
739
+
740
+ send_mdm_command targets, :clear_passcode, cnx: cnx
687
741
  end
688
742
 
689
743
  # Send an clear_restrictions_password command to one or more targets
690
744
  #
691
745
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
692
746
  #
693
- # @param api[JSS::APIConnection] the API thru which to send the command
747
+ # @param cnx [Jamf::Connection] the API thru which to send the command
694
748
  #
695
749
  # @return (see .send_mdm_command)
696
750
  #
697
- def clear_restrictions_password(targets, api: JSS.api)
698
- send_mdm_command targets, :clear_restrictions_password, api: api
751
+ def clear_restrictions_password(targets, api: nil, cnx: Jamf.cnx)
752
+ cnx = api if api
753
+
754
+ send_mdm_command targets, :clear_restrictions_password, cnx: cnx
699
755
  end
700
756
 
701
757
  # Send an enable_data_roaming command to one or more targets
702
758
  #
703
759
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
704
760
  #
705
- # @param api[JSS::APIConnection] the API thru which to send the command
761
+ # @param cnx [Jamf::Connection] the API thru which to send the command
706
762
  #
707
763
  # @return (see .send_mdm_command)
708
764
  #
709
- def enable_data_roaming(targets, api: JSS.api)
710
- send_mdm_command targets, :enable_data_roaming, api: api
765
+ def enable_data_roaming(targets, api: nil, cnx: Jamf.cnx)
766
+ cnx = api if api
767
+
768
+ send_mdm_command targets, :enable_data_roaming, cnx: cnx
711
769
  end
712
770
 
713
771
  # Send andisable_data_roaming command to one or more targets
714
772
  #
715
773
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
716
774
  #
717
- # @param api[JSS::APIConnection] the API thru which to send the command
775
+ # @param cnx [Jamf::Connection] the API thru which to send the command
718
776
  #
719
777
  # @return (see .send_mdm_command)
720
778
  #
721
- def disable_data_roaming(targets, api: JSS.api)
722
- send_mdm_command targets, :disable_data_roaming, api: api
779
+ def disable_data_roaming(targets, api: nil, cnx: Jamf.cnx)
780
+ cnx = api if api
781
+
782
+ send_mdm_command targets, :disable_data_roaming, cnx: cnx
723
783
  end
724
784
 
725
785
  # Send an enable_voice_roaming command to one or more targets
726
786
  #
727
787
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
728
788
  #
729
- # @param api[JSS::APIConnection] the API thru which to send the command
789
+ # @param cnx [Jamf::Connection] the API thru which to send the command
730
790
  #
731
791
  # @return (see .send_mdm_command)
732
792
  #
733
- def enable_voice_roaming(targets, api: JSS.api)
734
- send_mdm_command targets, :enable_voice_roaming, api: api
793
+ def enable_voice_roaming(targets, api: nil, cnx: Jamf.cnx)
794
+ cnx = api if api
795
+
796
+ send_mdm_command targets, :enable_voice_roaming, cnx: cnx
735
797
  end
736
798
 
737
799
  # Send a disable_voice_roaming command to one or more targets
738
800
  #
739
801
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
740
802
  #
741
- # @param api[JSS::APIConnection] the API thru which to send the command
803
+ # @param cnx [Jamf::Connection] the API thru which to send the command
742
804
  #
743
805
  # @return (see .send_mdm_command)
744
806
  #
745
- def disable_voice_roaming(targets, api: JSS.api)
746
- send_mdm_command targets, :disable_voice_roaming, api: api
807
+ def disable_voice_roaming(targets, api: nil, cnx: Jamf.cnx)
808
+ cnx = api if api
809
+
810
+ send_mdm_command targets, :disable_voice_roaming, cnx: cnx
747
811
  end
748
812
 
749
813
  # Commands for supervized mobile devices only
@@ -755,12 +819,14 @@ module JSS
755
819
  #
756
820
  # @param name[String] The new name
757
821
  #
758
- # @param api[JSS::APIConnection] the API thru which to send the command
822
+ # @param cnx [Jamf::Connection] the API thru which to send the command
759
823
  #
760
824
  # @return (see .send_mdm_command)
761
825
  #
762
- def device_name(targets, name, api: JSS.api)
763
- send_mdm_command targets, :device_name, opts: { device_name: name }, api: api
826
+ def device_name(targets, name, api: nil, cnx: Jamf.cnx)
827
+ cnx = api if api
828
+
829
+ send_mdm_command targets, :device_name, opts: { device_name: name }, cnx: cnx
764
830
  end
765
831
  alias set_name device_name
766
832
  alias set_device_name device_name
@@ -777,18 +843,20 @@ module JSS
777
843
  # @param wallpaper_id[Symbol] The id of an Icon in Jamf Pro to use as the wallpaper image,
778
844
  # required if no wallpaper_content
779
845
  #
780
- # @param api[JSS::APIConnection] the API thru which to send the command
846
+ # @param cnx [Jamf::Connection] the API thru which to send the command
781
847
  #
782
848
  # @return (see .send_mdm_command)
783
849
  #
784
- def wallpaper(targets, wallpaper_setting: nil, wallpaper_content: nil, wallpaper_id: nil, api: JSS.api)
850
+ def wallpaper(targets, wallpaper_setting: nil, wallpaper_content: nil, wallpaper_id: nil, api: nil, cnx: Jamf.cnx)
851
+ cnx = api if api
852
+
785
853
  raise ArgumentError, "wallpaper_setting must be one of: :#{WALLPAPER_LOCATIONS.keys.join ', :'}" unless WALLPAPER_LOCATIONS.keys.include? wallpaper_setting
786
854
 
787
855
  opts = { wallpaper_setting: WALLPAPER_LOCATIONS[wallpaper_setting] }
788
856
 
789
857
  if wallpaper_content
790
858
  file = Pathname.new wallpaper_content
791
- raise JSS::NoSuchItemError, "Not a file: #{file}" unless file.file?
859
+ raise Jamf::NoSuchItemError, "Not a file: #{file}" unless file.file?
792
860
  opts[:wallpaper_content] = Base64.encode64 file.read
793
861
  elsif wallpaper_id
794
862
  opts[:wallpaper_id] = wallpaper_id
@@ -796,7 +864,7 @@ module JSS
796
864
  raise ArgumentError, 'Either wallpaper_id: or wallpaper_content must be provided'
797
865
  end
798
866
 
799
- send_mdm_command targets, :wallpaper, opts: opts, api: api
867
+ send_mdm_command targets, :wallpaper, opts: opts, cnx: cnx
800
868
  end
801
869
  alias set_wallpaper wallpaper
802
870
 
@@ -806,24 +874,28 @@ module JSS
806
874
  #
807
875
  # @param secs[Integer] The numer of seconds for the grace period
808
876
  #
809
- # @param api[JSS::APIConnection] the API thru which to send the command
877
+ # @param cnx [Jamf::Connection] the API thru which to send the command
810
878
  #
811
879
  # @return (see .send_mdm_command)
812
880
  #
813
- def passcode_lock_grace_period(targets, secs, api: JSS.api)
814
- send_mdm_command targets, :passcode_lock_grace_period, opts: { passcode_lock_grace_period: secs }, api: api
881
+ def passcode_lock_grace_period(targets, secs, api: nil, cnx: Jamf.cnx)
882
+ cnx = api if api
883
+
884
+ send_mdm_command targets, :passcode_lock_grace_period, opts: { passcode_lock_grace_period: secs }, cnx: cnx
815
885
  end
816
886
 
817
887
  # Send a shut_down_device command to one or more targets
818
888
  #
819
889
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
820
890
  #
821
- # @param api[JSS::APIConnection] the API thru which to send the command
891
+ # @param cnx [Jamf::Connection] the API thru which to send the command
822
892
  #
823
893
  # @return (see .send_mdm_command)
824
894
  #
825
- def shut_down_device(targets, api: JSS.api)
826
- send_mdm_command targets, :shut_down_device, api: api
895
+ def shut_down_device(targets, api: nil, cnx: Jamf.cnx)
896
+ cnx = api if api
897
+
898
+ send_mdm_command targets, :shut_down_device, cnx: cnx
827
899
  end
828
900
  alias shutdown_device shut_down_device
829
901
  alias shut_down shut_down_device
@@ -833,12 +905,14 @@ module JSS
833
905
  #
834
906
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
835
907
  #
836
- # @param api[JSS::APIConnection] the API thru which to send the command
908
+ # @param cnx [Jamf::Connection] the API thru which to send the command
837
909
  #
838
910
  # @return (see .send_mdm_command)
839
911
  #
840
- def restart_device(targets, api: JSS.api)
841
- send_mdm_command targets, :restart_device, api: api
912
+ def restart_device(targets, api: nil, cnx: Jamf.cnx)
913
+ cnx = api if api
914
+
915
+ send_mdm_command targets, :restart_device, cnx: cnx
842
916
  end
843
917
  alias restart restart_device
844
918
 
@@ -846,48 +920,56 @@ module JSS
846
920
  #
847
921
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
848
922
  #
849
- # @param api[JSS::APIConnection] the API thru which to send the command
923
+ # @param cnx [Jamf::Connection] the API thru which to send the command
850
924
  #
851
925
  # @return (see .send_mdm_command)
852
926
  #
853
- def enable_app_analytics(targets, api: JSS.api)
854
- send_mdm_command targets, :enable_app_analytics, api: api
927
+ def enable_app_analytics(targets, api: nil, cnx: Jamf.cnx)
928
+ cnx = api if api
929
+
930
+ send_mdm_command targets, :enable_app_analytics, cnx: cnx
855
931
  end
856
932
 
857
933
  # Send a disable_app_analytics command to one or more targets
858
934
  #
859
935
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
860
936
  #
861
- # @param api[JSS::APIConnection] the API thru which to send the command
937
+ # @param cnx [Jamf::Connection] the API thru which to send the command
862
938
  #
863
939
  # @return (see .send_mdm_command)
864
940
  #
865
- def disable_app_analytics(targets, api: JSS.api)
866
- send_mdm_command targets, :disable_app_analytics, api: api
941
+ def disable_app_analytics(targets, api: nil, cnx: Jamf.cnx)
942
+ cnx = api if api
943
+
944
+ send_mdm_command targets, :disable_app_analytics, cnx: cnx
867
945
  end
868
946
 
869
947
  # Send an enable_diagnostic_submission command to one or more targets
870
948
  #
871
949
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
872
950
  #
873
- # @param api[JSS::APIConnection] the API thru which to send the command
951
+ # @param cnx [Jamf::Connection] the API thru which to send the command
874
952
  #
875
953
  # @return (see .send_mdm_command)
876
954
  #
877
- def enable_diagnostic_submission(targets, api: JSS.api)
878
- send_mdm_command targets, :enable_diagnostic_submission, api: api
955
+ def enable_diagnostic_submission(targets, api: nil, cnx: Jamf.cnx)
956
+ cnx = api if api
957
+
958
+ send_mdm_command targets, :enable_diagnostic_submission, cnx: cnx
879
959
  end
880
960
 
881
961
  # Send a disable_diagnostic_submission command to one or more targets
882
962
  #
883
963
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
884
964
  #
885
- # @param api[JSS::APIConnection] the API thru which to send the command
965
+ # @param cnx [Jamf::Connection] the API thru which to send the command
886
966
  #
887
967
  # @return (see .send_mdm_command)
888
968
  #
889
- def disable_diagnostic_submission(targets, api: JSS.api)
890
- send_mdm_command targets, :disable_diagnostic_submission, api: api
969
+ def disable_diagnostic_submission(targets, api: nil, cnx: Jamf.cnx)
970
+ cnx = api if api
971
+
972
+ send_mdm_command targets, :disable_diagnostic_submission, cnx: cnx
891
973
  end
892
974
 
893
975
  # Send a enable_lost_mode command to one or more targets
@@ -906,7 +988,7 @@ module JSS
906
988
  #
907
989
  # @param enforce_lost_mode[Boolean] Re-enabled lost mode when re-enrolled after wipe.
908
990
  #
909
- # @param api[JSS::APIConnection] the API thru which to send the command
991
+ # @param cnx [Jamf::Connection] the API thru which to send the command
910
992
  #
911
993
  # @return (see .send_mdm_command)
912
994
  #
@@ -917,8 +999,11 @@ module JSS
917
999
  footnote: nil,
918
1000
  play_sound: false,
919
1001
  enforce_lost_mode: true,
920
- api: JSS.api
921
- )
1002
+ api: nil,
1003
+ cnx: Jamf.cnx
1004
+ )
1005
+ cnx = api if api
1006
+
922
1007
  raise ArgumentError, 'Either message: or phone_number: must be provided' unless message || phone
923
1008
  opts = { always_enforce_lost_mode: enforce_lost_mode }
924
1009
  opts[:lost_mode_message] = message if message
@@ -926,31 +1011,35 @@ module JSS
926
1011
  opts[:lost_mode_footnote] = footnote if footnote
927
1012
  opts[:lost_mode_with_sound] = 'true' if play_sound
928
1013
 
929
- send_mdm_command targets, :enable_lost_mode, opts: opts, api: api
1014
+ send_mdm_command targets, :enable_lost_mode, opts: opts, cnx: cnx
930
1015
  end
931
1016
 
932
1017
  # Send a play_lost_mode_sound command to one or more targets
933
1018
  #
934
1019
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
935
1020
  #
936
- # @param api[JSS::APIConnection] the API thru which to send the command
1021
+ # @param cnx [Jamf::Connection] the API thru which to send the command
937
1022
  #
938
1023
  # @return (see .send_mdm_command)
939
1024
  #
940
- def play_lost_mode_sound(targets, api: JSS.api)
941
- send_mdm_command targets, :play_lost_mode_sound, api: api
1025
+ def play_lost_mode_sound(targets, api: nil, cnx: Jamf.cnx)
1026
+ cnx = api if api
1027
+
1028
+ send_mdm_command targets, :play_lost_mode_sound, cnx: cnx
942
1029
  end
943
1030
 
944
1031
  # Send a disable_lost_mode command to one or more targets
945
1032
  #
946
1033
  # @param targets[String,Integer,Array<String,Integer>] @see .send_mdm_command
947
1034
  #
948
- # @param api[JSS::APIConnection] the API thru which to send the command
1035
+ # @param cnx [Jamf::Connection] the API thru which to send the command
949
1036
  #
950
1037
  # @return (see .send_mdm_command)
951
1038
  #
952
- def disable_lost_mode(targets, api: JSS.api)
953
- send_mdm_command targets, :disable_lost_mode, api: api
1039
+ def disable_lost_mode(targets, api: nil, cnx: Jamf.cnx)
1040
+ cnx = api if api
1041
+
1042
+ send_mdm_command targets, :disable_lost_mode, cnx: cnx
954
1043
  end
955
1044
 
956
1045
  # Flushing Commands
@@ -964,19 +1053,21 @@ module JSS
964
1053
  # of them. NOTE: when calling this on a Group class, the targets
965
1054
  # are the groups themselves, not the individual members.
966
1055
  #
967
- # @param status[String] a key from {JSS::Commandable::FLUSHABLE_STATUSES}
1056
+ # @param status[String] a key from {Jamf::Commandable::FLUSHABLE_STATUSES}
968
1057
  #
969
- # @param api[JSS::APIConnection] an API connection to use.
970
- # Defaults to the corrently active API. See {JSS::APIConnection}
1058
+ # @param cnx [Jamf::Connection] an API connection to use.
1059
+ # Defaults to the corrently active API. See {Jamf::Connection}
971
1060
  #
972
1061
  # @return [void]
973
1062
  #
974
- def flush_mdm_commands(targets, status: nil, api: JSS.api)
975
- raise JSS::InvalidDataError, "Status must be one of :#{FLUSHABLE_STATUSES.keys.join ', :'}" unless FLUSHABLE_STATUSES.keys.include? status
1063
+ def flush_mdm_commands(targets, status: nil, api: nil, cnx: Jamf.cnx)
1064
+ cnx = api if api
1065
+
1066
+ raise Jamf::InvalidDataError, "Status must be one of :#{FLUSHABLE_STATUSES.keys.join ', :'}" unless FLUSHABLE_STATUSES.keys.include? status
976
1067
 
977
1068
  status = FLUSHABLE_STATUSES[status]
978
1069
 
979
- target_ids = raw_targets_to_ids targets, api: api, expand_groups: false
1070
+ target_ids = raw_targets_to_ids targets, cnx: cnx, expand_groups: false
980
1071
 
981
1072
  command_flush_rsrc = "commandflush/#{self::MDM_COMMAND_TARGET}/id"
982
1073
 
@@ -984,15 +1075,15 @@ module JSS
984
1075
 
985
1076
  puts "Sending API DELETE: #{flush_rsrc}" if JSS.devmode?
986
1077
 
987
- api.delete_rsrc flush_rsrc
1078
+ cnx.c_delete flush_rsrc
988
1079
  end
989
1080
 
990
1081
  end # module ClassMethods
991
1082
 
992
1083
  # Extend ourself when included
993
- # @see {JSS::MDM::ClassMethods}
1084
+ # @see {Jamf::MDM::ClassMethods}
994
1085
  def self.included(klass)
995
- klass.extend JSS::MDM::ClassMethods
1086
+ klass.extend Jamf::MDM::ClassMethods
996
1087
  end
997
1088
 
998
1089
  # Mixin Instance Methods
@@ -1009,7 +1100,7 @@ module JSS
1009
1100
  # @return [void]
1010
1101
  #
1011
1102
  def blank_push
1012
- self.class.send_blank_push @id, api: @api
1103
+ self.class.send_blank_push @id, cnx: @cnx
1013
1104
  end
1014
1105
  alias send_blank_push blank_push
1015
1106
  alias noop blank_push
@@ -1022,7 +1113,7 @@ module JSS
1022
1113
  # @return (see .send_mdm_command)
1023
1114
  #
1024
1115
  def device_lock(passcode_or_message = '')
1025
- self.class.device_lock @id, passcode: passcode_or_message, message: passcode_or_message, api: @api
1116
+ self.class.device_lock @id, passcode: passcode_or_message, message: passcode_or_message, cnx: @cnx
1026
1117
  end
1027
1118
  alias lock device_lock
1028
1119
  alias lock_device device_lock
@@ -1034,7 +1125,7 @@ module JSS
1034
1125
  # @return (see .send_mdm_command)
1035
1126
  #
1036
1127
  def erase_device(passcode = '', preserve_data_plan: false)
1037
- self.class.erase_device @id, passcode: passcode, preserve_data_plan: preserve_data_plan, api: @api
1128
+ self.class.erase_device @id, passcode: passcode, preserve_data_plan: preserve_data_plan, cnx: @cnx
1038
1129
  end
1039
1130
  alias wipe_device erase_device
1040
1131
  alias wipe_computer erase_device
@@ -1046,12 +1137,12 @@ module JSS
1046
1137
  # NOTE: when used with computers, the mdm profile will probably
1047
1138
  # be re-installed immediately unless the computer is also no longer
1048
1139
  # managed by Jamf Pro itself. To fully unmanage a computer, use
1049
- # the {JSS::Computer#make_unmanaged} instance method.
1140
+ # the {Jamf::Computer#make_unmanaged} instance method.
1050
1141
  #
1051
1142
  # @return (see .send_mdm_command)
1052
1143
  #
1053
1144
  def unmanage_device
1054
- self.class.unmanage_device @id, api: @api
1145
+ self.class.unmanage_device @id, cnx: @cnx
1055
1146
  end
1056
1147
  alias remove_mdm_profile unmanage_device
1057
1148
 
@@ -1065,7 +1156,7 @@ module JSS
1065
1156
  # @return (see .send_mdm_command)
1066
1157
  #
1067
1158
  def unlock_user_account(user)
1068
- self.class.unlock_user_account @id, user, api: @api
1159
+ self.class.unlock_user_account @id, user, cnx: @cnx
1069
1160
  end
1070
1161
 
1071
1162
  # Send a delete_user command to this computer or group
@@ -1075,7 +1166,23 @@ module JSS
1075
1166
  # @return (see .send_mdm_command)
1076
1167
  #
1077
1168
  def delete_user(user)
1078
- self.class.delete_user @id, user, api: @api
1169
+ self.class.delete_user @id, user, cnx: @cnx
1170
+ end
1171
+
1172
+ # Send an enable_remote_desktop command to this computer or group
1173
+ #
1174
+ # @return (see .send_mdm_command)
1175
+ #
1176
+ def enable_remote_desktop
1177
+ self.class.enable_remote_desktop @id, cnx: @cnx
1178
+ end
1179
+
1180
+ # Send a disable_remote_desktop command to this computer or group
1181
+ #
1182
+ # @return (see .send_mdm_command)
1183
+ #
1184
+ def disable_remote_desktop
1185
+ self.class.disable_remote_desktop @id, cnx: @cnx
1079
1186
  end
1080
1187
 
1081
1188
  # Commands for mobile devices only
@@ -1088,7 +1195,7 @@ module JSS
1088
1195
  # @return (see .send_mdm_command)
1089
1196
  #
1090
1197
  def update_inventory
1091
- self.class.update_inventory @id, api: @api
1198
+ self.class.update_inventory @id, cnx: @cnx
1092
1199
  end
1093
1200
  alias recon update_inventory
1094
1201
 
@@ -1097,7 +1204,7 @@ module JSS
1097
1204
  # @return (see .send_mdm_command)
1098
1205
  #
1099
1206
  def clear_passcode
1100
- self.class.clear_passcode @id, api: @api
1207
+ self.class.clear_passcode @id, cnx: @cnx
1101
1208
  end
1102
1209
 
1103
1210
  # Send an clear_restrictions_password command to this object
@@ -1105,7 +1212,7 @@ module JSS
1105
1212
  # @return (see .send_mdm_command)
1106
1213
  #
1107
1214
  def clear_restrictions_password
1108
- self.class.clear_restrictions_password @id, api: @api
1215
+ self.class.clear_restrictions_password @id, cnx: @cnx
1109
1216
  end
1110
1217
 
1111
1218
  # Send an enable_data_roaming command to this object
@@ -1113,7 +1220,7 @@ module JSS
1113
1220
  # @return (see .send_mdm_command)
1114
1221
  #
1115
1222
  def enable_data_roaming
1116
- self.class.enable_data_roaming @id, api: @api
1223
+ self.class.enable_data_roaming @id, cnx: @cnx
1117
1224
  end
1118
1225
 
1119
1226
  # Send a disable_data_roaming command to this object
@@ -1121,7 +1228,7 @@ module JSS
1121
1228
  # @return (see .send_mdm_command)
1122
1229
  #
1123
1230
  def disable_data_roaming
1124
- self.class.disable_data_roaming @id, api: @api
1231
+ self.class.disable_data_roaming @id, cnx: @cnx
1125
1232
  end
1126
1233
 
1127
1234
  # Send an enable_voice_roaming command to this object
@@ -1129,7 +1236,7 @@ module JSS
1129
1236
  # @return (see .send_mdm_command)
1130
1237
  #
1131
1238
  def enable_voice_roaming
1132
- self.class.enable_voice_roaming @id, api: @api
1239
+ self.class.enable_voice_roaming @id, cnx: @cnx
1133
1240
  end
1134
1241
 
1135
1242
  # Send a disable_voice_roaming command to this object
@@ -1137,7 +1244,7 @@ module JSS
1137
1244
  # @return (see .send_mdm_command)
1138
1245
  #
1139
1246
  def disable_voice_roaming
1140
- self.class.disable_voice_roaming @id, api: @api
1247
+ self.class.disable_voice_roaming @id, cnx: @cnx
1141
1248
  end
1142
1249
 
1143
1250
  # Commands for supervized mobile devices only
@@ -1154,7 +1261,7 @@ module JSS
1154
1261
  # @return (see .send_mdm_command)
1155
1262
  #
1156
1263
  def device_name(name)
1157
- self.class.device_name @id, name, api: @api
1264
+ self.class.device_name @id, name, cnx: @cnx
1158
1265
  end
1159
1266
  alias set_name device_name
1160
1267
  alias set_device_name device_name
@@ -1176,8 +1283,7 @@ module JSS
1176
1283
  @id,
1177
1284
  wallpaper_setting: wallpaper_setting,
1178
1285
  wallpaper_content: wallpaper_content,
1179
- wallpaper_id: wallpaper_id,
1180
- api: @api
1286
+ wallpaper_id: wallpaper_id, cnx: @cnx
1181
1287
  )
1182
1288
  end
1183
1289
  alias set_wallpaper wallpaper
@@ -1189,7 +1295,7 @@ module JSS
1189
1295
  # @return (see .send_mdm_command)
1190
1296
  #
1191
1297
  def passcode_lock_grace_period(secs)
1192
- self.class.passcode_lock_grace_period @id, secs, api: @api
1298
+ self.class.passcode_lock_grace_period @id, secs, cnx: @cnx
1193
1299
  end
1194
1300
 
1195
1301
  # Send a shut_down_device command to this object
@@ -1197,7 +1303,7 @@ module JSS
1197
1303
  # @return (see .send_mdm_command)
1198
1304
  #
1199
1305
  def shut_down_device
1200
- self.class.shut_down_device @id, api: @api
1306
+ self.class.shut_down_device @id, cnx: @cnx
1201
1307
  end
1202
1308
  alias shutdown_device shut_down_device
1203
1309
  alias shut_down shut_down_device
@@ -1208,7 +1314,7 @@ module JSS
1208
1314
  # @return (see .send_mdm_command)
1209
1315
  #
1210
1316
  def restart_device
1211
- self.class.restart_device @id, api: @api
1317
+ self.class.restart_device @id, cnx: @cnx
1212
1318
  end
1213
1319
  alias restart restart_device
1214
1320
 
@@ -1217,7 +1323,7 @@ module JSS
1217
1323
  # @return (see .send_mdm_command)
1218
1324
  #
1219
1325
  def enable_app_analytics
1220
- self.class.enable_app_analytics @id, api: @api
1326
+ self.class.enable_app_analytics @id, cnx: @cnx
1221
1327
  end
1222
1328
 
1223
1329
  # Send a disable_app_analytics command to this object
@@ -1225,7 +1331,7 @@ module JSS
1225
1331
  # @return (see .send_mdm_command)
1226
1332
  #
1227
1333
  def disable_app_analytics
1228
- self.class.disable_app_analytics @id, api: @api
1334
+ self.class.disable_app_analytics @id, cnx: @cnx
1229
1335
  end
1230
1336
 
1231
1337
  # Send an enable_diagnostic_submission command to this object
@@ -1233,7 +1339,7 @@ module JSS
1233
1339
  # @return (see .send_mdm_command)
1234
1340
  #
1235
1341
  def enable_diagnostic_submission
1236
- self.class.enable_diagnostic_submission @id, api: @api
1342
+ self.class.enable_diagnostic_submission @id, cnx: @cnx
1237
1343
  end
1238
1344
 
1239
1345
  # Send a disable_diagnostic_submission command to this object
@@ -1241,7 +1347,7 @@ module JSS
1241
1347
  # @return (see .send_mdm_command)
1242
1348
  #
1243
1349
  def disable_diagnostic_submission
1244
- self.class.disable_diagnostic_submission @id, api: @api
1350
+ self.class.disable_diagnostic_submission @id, cnx: @cnx
1245
1351
  end
1246
1352
 
1247
1353
  # Send a enable_lost_mode command to one or more targets
@@ -1273,8 +1379,7 @@ module JSS
1273
1379
  phone_number: phone_number,
1274
1380
  footnote: footnote,
1275
1381
  play_sound: play_sound,
1276
- enforce_lost_mode: enforce_lost_mode,
1277
- api: @api
1382
+ enforce_lost_mode: enforce_lost_mode, cnx: @cnx
1278
1383
  )
1279
1384
  end
1280
1385
 
@@ -1283,7 +1388,7 @@ module JSS
1283
1388
  # @return (see .send_mdm_command)
1284
1389
  #
1285
1390
  def play_lost_mode_sound
1286
- self.class.play_lost_mode_sound @id, api: @api
1391
+ self.class.play_lost_mode_sound @id, cnx: @cnx
1287
1392
  end
1288
1393
 
1289
1394
  # Send a disable_lost_mode command to this object
@@ -1291,7 +1396,7 @@ module JSS
1291
1396
  # @return (see .send_mdm_command)
1292
1397
  #
1293
1398
  def disable_lost_mode
1294
- self.class.disable_lost_mode @id, api: @api
1399
+ self.class.disable_lost_mode @id, cnx: @cnx
1295
1400
  end
1296
1401
 
1297
1402
  # Flushing Commands
@@ -1299,12 +1404,12 @@ module JSS
1299
1404
 
1300
1405
  # flush pending and/or failed MDM commands for this object
1301
1406
  #
1302
- # @param status[String] a key from {JSS::Commandable::FLUSHABLE_STATUSES}
1407
+ # @param status[String] a key from {Jamf::Commandable::FLUSHABLE_STATUSES}
1303
1408
  #
1304
1409
  # @return [void]
1305
1410
  #
1306
1411
  def flush_mdm_commands(status)
1307
- self.class.flush_mdm_commands @id, status: status, api: @api
1412
+ self.class.flush_mdm_commands @id, status: status, cnx: @cnx
1308
1413
  end
1309
1414
 
1310
1415
  end # module MDM