ruby-jss 4.2.2 → 4.2.4b1

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 (330) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +18 -1
  3. data/LICENSE.txt +5 -3
  4. data/README.md +3 -1
  5. data/bin/cgrouper +4 -22
  6. data/bin/jamfHelperBackgrounder +4 -22
  7. data/bin/netseg-update +4 -22
  8. data/data/ruby-jss.conf.example +4 -22
  9. data/lib/jamf/api/classic/api_objects/account.rb +4 -22
  10. data/lib/jamf/api/classic/api_objects/advanced_computer_search.rb +4 -22
  11. data/lib/jamf/api/classic/api_objects/advanced_mobile_device_search.rb +4 -22
  12. data/lib/jamf/api/classic/api_objects/advanced_user_search.rb +4 -22
  13. data/lib/jamf/api/classic/api_objects/building.rb +4 -22
  14. data/lib/jamf/api/classic/api_objects/categorizable.rb +4 -22
  15. data/lib/jamf/api/classic/api_objects/category.rb +7 -24
  16. data/lib/jamf/api/classic/api_objects/computer.rb +6 -23
  17. data/lib/jamf/api/classic/api_objects/computer_extension_attribute.rb +2 -20
  18. data/lib/jamf/api/classic/api_objects/computer_group.rb +2 -20
  19. data/lib/jamf/api/classic/api_objects/computer_invitation.rb +6 -23
  20. data/lib/jamf/api/classic/api_objects/creatable.rb +4 -22
  21. data/lib/jamf/api/classic/api_objects/criteriable/criteria.rb +4 -22
  22. data/lib/jamf/api/classic/api_objects/criteriable/criterion.rb +2 -20
  23. data/lib/jamf/api/classic/api_objects/criteriable.rb +2 -20
  24. data/lib/jamf/api/classic/api_objects/department.rb +4 -22
  25. data/lib/jamf/api/classic/api_objects/directory_binding.rb +221 -247
  26. data/lib/jamf/api/classic/api_objects/directory_binding_type/active_directory.rb +492 -526
  27. data/lib/jamf/api/classic/api_objects/directory_binding_type/admitmac.rb +27 -55
  28. data/lib/jamf/api/classic/api_objects/directory_binding_type/centrify.rb +191 -220
  29. data/lib/jamf/api/classic/api_objects/directory_binding_type/directory_binding_type.rb +4 -22
  30. data/lib/jamf/api/classic/api_objects/directory_binding_type/open_directory.rb +142 -169
  31. data/lib/jamf/api/classic/api_objects/directory_binding_type/powerbroker_identity_services.rb +37 -57
  32. data/lib/jamf/api/classic/api_objects/directory_binding_type.rb +4 -22
  33. data/lib/jamf/api/classic/api_objects/disk_encryption_configuration.rb +90 -84
  34. data/lib/jamf/api/classic/api_objects/distribution_point.rb +6 -24
  35. data/lib/jamf/api/classic/api_objects/dock_item.rb +11 -34
  36. data/lib/jamf/api/classic/api_objects/ebook.rb +4 -22
  37. data/lib/jamf/api/classic/api_objects/extendable.rb +2 -20
  38. data/lib/jamf/api/classic/api_objects/ibeacon.rb +6 -23
  39. data/lib/jamf/api/classic/api_objects/icon.rb +5 -23
  40. data/lib/jamf/api/classic/api_objects/ldap_server.rb +2 -20
  41. data/lib/jamf/api/classic/api_objects/locatable.rb +4 -22
  42. data/lib/jamf/api/classic/api_objects/mac_application.rb +6 -23
  43. data/lib/jamf/api/classic/api_objects/management_history/audit_event.rb +4 -25
  44. data/lib/jamf/api/classic/api_objects/management_history/casper_imaging_log.rb +5 -24
  45. data/lib/jamf/api/classic/api_objects/management_history/casper_remote_log.rb +4 -25
  46. data/lib/jamf/api/classic/api_objects/management_history/computer_usage_log.rb +4 -25
  47. data/lib/jamf/api/classic/api_objects/management_history/ebook.rb +4 -26
  48. data/lib/jamf/api/classic/api_objects/management_history/hash_like.rb +4 -22
  49. data/lib/jamf/api/classic/api_objects/management_history/mac_app_store_app.rb +4 -26
  50. data/lib/jamf/api/classic/api_objects/management_history/mdm_command.rb +4 -25
  51. data/lib/jamf/api/classic/api_objects/management_history/mobile_device_app.rb +4 -25
  52. data/lib/jamf/api/classic/api_objects/management_history/policy_log.rb +4 -25
  53. data/lib/jamf/api/classic/api_objects/management_history/screen_sharing_log.rb +4 -25
  54. data/lib/jamf/api/classic/api_objects/management_history/user_location_change.rb +4 -25
  55. data/lib/jamf/api/classic/api_objects/management_history.rb +4 -22
  56. data/lib/jamf/api/classic/api_objects/matchable.rb +4 -22
  57. data/lib/jamf/api/classic/api_objects/mdm.rb +6 -23
  58. data/lib/jamf/api/classic/api_objects/mobile_device.rb +7 -23
  59. data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +7 -23
  60. data/lib/jamf/api/classic/api_objects/mobile_device_configuration_profile.rb +4 -22
  61. data/lib/jamf/api/classic/api_objects/mobile_device_extension_attribute.rb +3 -20
  62. data/lib/jamf/api/classic/api_objects/mobile_device_group.rb +4 -22
  63. data/lib/jamf/api/classic/api_objects/netboot_server.rb +4 -22
  64. data/lib/jamf/api/classic/api_objects/network_segment.rb +7 -23
  65. data/lib/jamf/api/classic/api_objects/osx_configuration_profile.rb +2 -20
  66. data/lib/jamf/api/classic/api_objects/package.rb +6 -23
  67. data/lib/jamf/api/classic/api_objects/patch_external_source.rb +7 -24
  68. data/lib/jamf/api/classic/api_objects/patch_internal_source.rb +4 -22
  69. data/lib/jamf/api/classic/api_objects/patch_policy.rb +6 -23
  70. data/lib/jamf/api/classic/api_objects/patch_title/version.rb +4 -22
  71. data/lib/jamf/api/classic/api_objects/patch_title.rb +8 -24
  72. data/lib/jamf/api/classic/api_objects/peripheral.rb +7 -24
  73. data/lib/jamf/api/classic/api_objects/peripheral_type.rb +7 -26
  74. data/lib/jamf/api/classic/api_objects/policy.rb +8 -24
  75. data/lib/jamf/api/classic/api_objects/printer.rb +384 -388
  76. data/lib/jamf/api/classic/api_objects/purchasable.rb +4 -22
  77. data/lib/jamf/api/classic/api_objects/removable_macaddr.rb +4 -22
  78. data/lib/jamf/api/classic/api_objects/restricted_software.rb +7 -24
  79. data/lib/jamf/api/classic/api_objects/scopable/scope.rb +2 -19
  80. data/lib/jamf/api/classic/api_objects/scopable.rb +6 -23
  81. data/lib/jamf/api/classic/api_objects/script.rb +5 -23
  82. data/lib/jamf/api/classic/api_objects/self_servable.rb +4 -22
  83. data/lib/jamf/api/classic/api_objects/sitable.rb +4 -22
  84. data/lib/jamf/api/classic/api_objects/site.rb +2 -20
  85. data/lib/jamf/api/classic/api_objects/software_update_server.rb +4 -22
  86. data/lib/jamf/api/classic/api_objects/updatable.rb +4 -22
  87. data/lib/jamf/api/classic/api_objects/uploadable.rb +4 -22
  88. data/lib/jamf/api/classic/api_objects/user.rb +6 -24
  89. data/lib/jamf/api/classic/api_objects/user_extension_attribute.rb +2 -19
  90. data/lib/jamf/api/classic/api_objects/user_group.rb +4 -22
  91. data/lib/jamf/api/classic/api_objects/vpp_account.rb +6 -23
  92. data/lib/jamf/api/classic/api_objects/vppable.rb +4 -22
  93. data/lib/jamf/api/classic/api_objects/web_hook.rb +4 -20
  94. data/lib/jamf/api/classic/base_classes/advanced_search.rb +9 -25
  95. data/lib/jamf/api/classic/base_classes/api_object.rb +7 -24
  96. data/lib/jamf/api/classic/base_classes/configuration_profile.rb +5 -22
  97. data/lib/jamf/api/classic/base_classes/extension_attribute.rb +8 -25
  98. data/lib/jamf/api/classic/base_classes/group.rb +6 -22
  99. data/lib/jamf/api/classic/base_classes/patch_source.rb +4 -22
  100. data/lib/jamf/api/classic/xml_workaround.rb +4 -22
  101. data/lib/jamf/api/connection/attributes.rb +4 -21
  102. data/lib/jamf/api/connection/cache.rb +4 -21
  103. data/lib/jamf/api/connection/classic_api.rb +4 -21
  104. data/lib/jamf/api/connection/connect.rb +4 -21
  105. data/lib/jamf/api/connection/constants.rb +7 -23
  106. data/lib/jamf/api/connection/default_connection.rb +4 -21
  107. data/lib/jamf/api/connection/jamf_pro_api.rb +4 -21
  108. data/lib/jamf/api/connection/jamf_pro_api_error.rb +2 -20
  109. data/lib/jamf/api/connection/token.rb +2 -20
  110. data/lib/jamf/api/connection.rb +4 -21
  111. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +2 -20
  112. data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +2 -20
  113. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +2 -20
  114. data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +2 -23
  115. data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +2 -20
  116. data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +2 -20
  117. data/lib/jamf/api/jamf_pro/api_objects/j_building.rb +2 -20
  118. data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +2 -20
  119. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates/plan.rb +2 -19
  120. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates.rb +2 -19
  121. data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +2 -20
  122. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +2 -19
  123. data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +2 -19
  124. data/lib/jamf/api/jamf_pro/mixins/change_log.rb +2 -20
  125. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +2 -20
  126. data/lib/jamf/api/jamf_pro/mixins/computer_recovery_lock.rb +2 -19
  127. data/lib/jamf/api/jamf_pro/mixins/filevault.rb +2 -19
  128. data/lib/jamf/api/jamf_pro/mixins/filterable.rb +2 -19
  129. data/lib/jamf/api/jamf_pro/mixins/immutable.rb +2 -19
  130. data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +2 -20
  131. data/lib/jamf/api/jamf_pro/mixins/lockable.rb +2 -19
  132. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +2 -19
  133. data/lib/jamf/api/jamf_pro/mixins/macos_redeploy_mgmt_framework.rb +2 -19
  134. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +2 -20
  135. data/lib/jamf/api/jamf_pro/mixins/sortable.rb +2 -19
  136. data/lib/jamf/api/jamf_pro/mixins/uncreatable.rb +2 -19
  137. data/lib/jamf/api/jamf_pro/mixins/undeletable.rb +2 -19
  138. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +12 -31
  139. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +3 -24
  140. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +2 -19
  141. data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +2 -19
  142. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +3 -24
  143. data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +2 -19
  144. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +2 -19
  145. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +2 -19
  146. data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +2 -19
  147. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +2 -19
  148. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +2 -19
  149. data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +2 -19
  150. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +3 -24
  151. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +11 -30
  152. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +13 -32
  153. data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +2 -19
  154. data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +4 -25
  155. data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +2 -19
  156. data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +2 -19
  157. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +3 -24
  158. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +3 -24
  159. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +12 -31
  160. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +3 -24
  161. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +10 -29
  162. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +3 -24
  163. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +3 -24
  164. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +2 -23
  165. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +3 -24
  166. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +2 -23
  167. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +3 -24
  168. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +3 -24
  169. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +2 -23
  170. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +3 -24
  171. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +2 -23
  172. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +7 -26
  173. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +12 -31
  174. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +3 -24
  175. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -23
  176. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -23
  177. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +3 -24
  178. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +2 -23
  179. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +7 -26
  180. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +3 -24
  181. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +12 -31
  182. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +3 -24
  183. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +8 -27
  184. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +3 -24
  185. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +6 -25
  186. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +2 -23
  187. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +14 -33
  188. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +3 -24
  189. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v3.rb +2 -19
  190. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +6 -26
  191. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +3 -24
  192. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -23
  193. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +3 -24
  194. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +28 -47
  195. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +28 -47
  196. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +3 -24
  197. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +3 -24
  198. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -23
  199. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -23
  200. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +2 -19
  201. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +2 -19
  202. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +2 -19
  203. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +2 -19
  204. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +2 -19
  205. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +2 -19
  206. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +2 -19
  207. data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +2 -19
  208. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +8 -27
  209. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +3 -24
  210. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +3 -24
  211. data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v3.rb +2 -19
  212. data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +2 -19
  213. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +3 -24
  214. data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +2 -19
  215. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +3 -24
  216. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +2 -19
  217. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +2 -19
  218. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +3 -24
  219. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +3 -24
  220. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +2 -19
  221. data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +2 -19
  222. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +2 -19
  223. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_event_store.rb +4 -25
  224. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +3 -24
  225. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +3 -24
  226. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +3 -24
  227. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +4 -25
  228. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +14 -33
  229. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +3 -24
  230. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +3 -24
  231. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +2 -19
  232. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +3 -24
  233. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +3 -24
  234. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +3 -24
  235. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +2 -19
  236. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +2 -19
  237. data/lib/jamf/api/jamf_pro/oapi_schemas/o_auth_client_credentials.rb +2 -19
  238. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +2 -19
  239. data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +2 -19
  240. data/lib/jamf/api/jamf_pro/oapi_schemas/package.rb +3 -24
  241. data/lib/jamf/api/jamf_pro/oapi_schemas/packages_search_results.rb +3 -24
  242. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +17 -36
  243. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +7 -26
  244. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +7 -26
  245. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +2 -23
  246. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +6 -25
  247. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +3 -24
  248. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +36 -55
  249. data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +2 -19
  250. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +3 -24
  251. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +3 -24
  252. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +3 -24
  253. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +2 -19
  254. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +2 -19
  255. data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +2 -19
  256. data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +2 -19
  257. data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +2 -19
  258. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -24
  259. data/lib/jamf/api/jamf_pro/oapi_schemas.rb +2 -19
  260. data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +2 -20
  261. data/lib/jamf/api/jamf_pro/other_classes/ip_address.rb +2 -20
  262. data/lib/jamf/api/jamf_pro/other_classes/pager.rb +2 -19
  263. data/lib/jamf/api/jamf_pro/other_classes/timestamp.rb +2 -20
  264. data/lib/jamf/base_class.rb +2 -19
  265. data/lib/jamf/client/jamf_binary.rb +4 -22
  266. data/lib/jamf/client/jamf_helper.rb +4 -22
  267. data/lib/jamf/client/management_action.rb +4 -22
  268. data/lib/jamf/client.rb +4 -22
  269. data/lib/jamf/composer.rb +2 -20
  270. data/lib/jamf/configuration.rb +2 -20
  271. data/lib/jamf/constants.rb +2 -20
  272. data/lib/jamf/db_connection.rb +5 -23
  273. data/lib/jamf/deprecations/deprecated_api_connection_class.rb +2 -20
  274. data/lib/jamf/deprecations/deprecated_api_constant.rb +2 -20
  275. data/lib/jamf/deprecations/deprecated_config_constant.rb +2 -20
  276. data/lib/jamf/deprecations.rb +4 -22
  277. data/lib/jamf/exceptions.rb +2 -20
  278. data/lib/jamf/oapi_validate.rb +2 -19
  279. data/lib/jamf/ruby_extensions/array/predicates.rb +2 -20
  280. data/lib/jamf/ruby_extensions/array/utils.rb +2 -20
  281. data/lib/jamf/ruby_extensions/array.rb +2 -20
  282. data/lib/jamf/ruby_extensions/filetest/predicates.rb +2 -20
  283. data/lib/jamf/ruby_extensions/filetest.rb +2 -20
  284. data/lib/jamf/ruby_extensions/hash/utils.rb +2 -44
  285. data/lib/jamf/ruby_extensions/hash.rb +2 -20
  286. data/lib/jamf/ruby_extensions/ipaddr/utils.rb +2 -20
  287. data/lib/jamf/ruby_extensions/ipaddr.rb +4 -22
  288. data/lib/jamf/ruby_extensions/object/predicates.rb +2 -20
  289. data/lib/jamf/ruby_extensions/object.rb +2 -20
  290. data/lib/jamf/ruby_extensions/pathname/predicates.rb +2 -20
  291. data/lib/jamf/ruby_extensions/pathname/utils.rb +2 -20
  292. data/lib/jamf/ruby_extensions/pathname.rb +2 -20
  293. data/lib/jamf/ruby_extensions/string/conversions.rb +2 -20
  294. data/lib/jamf/ruby_extensions/string/predicates.rb +2 -20
  295. data/lib/jamf/ruby_extensions/string.rb +2 -20
  296. data/lib/jamf/ruby_extensions/time/utils.rb +4 -22
  297. data/lib/jamf/ruby_extensions/time.rb +4 -22
  298. data/lib/jamf/ruby_extensions.rb +4 -22
  299. data/lib/jamf/utility.rb +2 -20
  300. data/lib/jamf/validate.rb +2 -19
  301. data/lib/jamf/version.rb +5 -23
  302. data/lib/jamf/zeitwerk_config.rb +2 -20
  303. data/lib/jamf.rb +2 -20
  304. data/lib/jss-api.rb +4 -22
  305. data/lib/jss.rb +4 -22
  306. data/lib/ruby-jss.rb +4 -22
  307. data/test/bin/runtests +4 -22
  308. data/test/lib/jamf_test/APITest.rb +4 -22
  309. data/test/lib/jamf_test/advanced_search.rb +4 -22
  310. data/test/lib/jamf_test/auth.rb +4 -22
  311. data/test/lib/jamf_test/collection_tests.rb +4 -22
  312. data/test/lib/jamf_test/prestage_tests.rb +4 -22
  313. data/test/lib/jamf_test.rb +4 -22
  314. data/test/tests/advanced_computer_search.rb +4 -22
  315. data/test/tests/advanced_mobile_device_search.rb +4 -22
  316. data/test/tests/advanced_user_search.rb +4 -22
  317. data/test/tests/building.rb +4 -22
  318. data/test/tests/category.rb +4 -22
  319. data/test/tests/computer.rb +4 -22
  320. data/test/tests/computer_group.rb +4 -22
  321. data/test/tests/computer_prestage.rb +4 -22
  322. data/test/tests/department.rb +4 -22
  323. data/test/tests/device_enrollment.rb +4 -22
  324. data/test/tests/inventory_preload_record.rb +4 -22
  325. data/test/tests/j_building.rb +4 -22
  326. data/test/tests/j_package.rb +4 -22
  327. data/test/tests/mobile_device.rb +4 -22
  328. data/test/tests/mobile_device_prestage.rb +4 -22
  329. data/test/tests/policy.rb +4 -22
  330. metadata +4 -4
@@ -1,178 +1,151 @@
1
- ### Copyright 2019 Rixar
2
-
3
- ###
4
- ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
- ### with the following modification; you may not use this file except in
6
- ### compliance with the Apache License and the following modification to it:
7
- ### Section 6. Trademarks. is deleted and replaced with:
8
- ###
9
- ### 6. Trademarks. This License does not grant permission to use the trade
10
- ### names, trademarks, service marks, or product names of the Licensor
11
- ### and its affiliates, except as required to comply with Section 4(c) of
12
- ### the License and to reproduce the content of the NOTICE file.
13
- ###
14
- ### You may obtain a copy of the Apache License at
15
- ###
16
- ### http://www.apache.org/licenses/LICENSE-2.0
17
- ###
18
- ### Unless required by applicable law or agreed to in writing, software
19
- ### distributed under the Apache License with the above modification is
20
- ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
- ### KIND, either express or implied. See the Apache License for the specific
22
- ### language governing permissions and limitations under the Apache License.
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the terms set forth in the LICENSE.txt file available at
4
+ # at the root of this project.
23
5
  ###
24
6
  ###
25
7
 
26
8
  module Jamf
27
9
 
28
- # Module for containing the different types of DirectoryBindings stored within the JSS
29
-
30
- module DirectoryBindingType
31
-
32
- # Module Variables
33
- #####################################
34
-
35
- # Module Methods
36
- #####################################
37
-
38
- # Classes
39
- #####################################
40
-
41
- # Class for the specific OpenDirectory DirectoryBinding type stored within the JSS
42
- #
43
- # @author Tyler Morgan
44
- #
45
- # Attributes
46
- # @!attribute [rw] require_confirmation
47
-
48
- class OpenDirectory < DirectoryBindingType
49
- # Mix-Ins
50
- #####################################
51
-
52
- # Class Methods
53
- #####################################
54
-
55
- # Class Constants
56
- #####################################
57
-
58
- # Attributes
59
- #####################################
60
- attr_reader :encrypt_using_ssl
61
- attr_reader :perform_secure_bind
62
- attr_reader :use_for_authentication
63
- attr_reader :use_for_contacts
64
-
65
- # Constructor
66
- #####################################
67
- def initialize(init_data)
68
-
69
- # Return without processing anything since there is
70
- # nothing to process.
71
- return if init_data.nil?
72
-
73
- # Process the provided information
74
- @encrypt_using_ssl = init_data[:encrypt_using_ssl]
75
- @perform_secure_bind = init_data[:perform_secure_bind]
76
- @use_for_authentication = init_data[:use_for_authentication]
77
- @use_for_contacts = init_data[:use_for_contacts]
78
- end
79
-
80
-
81
-
82
- # Public Instance Methods
83
- #####################################
84
-
85
- # Encrypt the connection using SSL
86
- #
87
- # @author Tyler Morgan
88
- #
89
- # @param newvalue [Bool]
90
- #
91
- # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
92
- #
93
- # @return [void]
94
- def encrypt_using_ssl=(newvalue)
95
-
96
- raise Jamf::InvalidDataError, "encrypt_using_ssl must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
97
-
98
- @encrypt_using_ssl = newvalue
99
-
100
- self.container&.should_update
101
- end
102
-
103
-
104
- # Attempt to perform a secure bind to the domain server
105
- #
106
- # @author Tyler Morgan
107
- #
108
- # @param newvalue [Bool]
109
- #
110
- # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
111
- #
112
- # @return [void]
113
- def perform_secure_bind=(newvalue)
114
-
115
- raise Jamf::InvalidDataError, "perform_secure_bind must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
116
-
117
- @perform_secure_bind = newvalue
118
-
119
- self.container&.should_update
120
- end
10
+ # Module for containing the different types of DirectoryBindings stored within the JSS
11
+
12
+ module DirectoryBindingType
13
+
14
+ # Module Variables
15
+ #####################################
16
+
17
+ # Module Methods
18
+ #####################################
19
+
20
+ # Classes
21
+ #####################################
22
+
23
+ # Class for the specific OpenDirectory DirectoryBinding type stored within the JSS
24
+ #
25
+ # @author Tyler Morgan
26
+ #
27
+ # Attributes
28
+ # @!attribute [rw] require_confirmation
29
+
30
+ class OpenDirectory < DirectoryBindingType
31
+
32
+ # Mix-Ins
33
+ #####################################
34
+
35
+ # Class Methods
36
+ #####################################
37
+
38
+ # Class Constants
39
+ #####################################
40
+
41
+ # Attributes
42
+ #####################################
43
+ attr_reader :encrypt_using_ssl
44
+ attr_reader :perform_secure_bind, :use_for_authentication, :use_for_contacts
45
+
46
+ # Constructor
47
+ #####################################
48
+ def initialize(init_data)
49
+ # Return without processing anything since there is
50
+ # nothing to process.
51
+ return if init_data.nil?
52
+
53
+ # Process the provided information
54
+ @encrypt_using_ssl = init_data[:encrypt_using_ssl]
55
+ @perform_secure_bind = init_data[:perform_secure_bind]
56
+ @use_for_authentication = init_data[:use_for_authentication]
57
+ @use_for_contacts = init_data[:use_for_contacts]
58
+ end
59
+
60
+ # Public Instance Methods
61
+ #####################################
62
+
63
+ # Encrypt the connection using SSL
64
+ #
65
+ # @author Tyler Morgan
66
+ #
67
+ # @param newvalue [Bool]
68
+ #
69
+ # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
70
+ #
71
+ # @return [void]
72
+ def encrypt_using_ssl=(newvalue)
73
+ raise Jamf::InvalidDataError, 'encrypt_using_ssl must be true or false.' unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
74
+
75
+ @encrypt_using_ssl = newvalue
76
+
77
+ container&.should_update
78
+ end
79
+
80
+ # Attempt to perform a secure bind to the domain server
81
+ #
82
+ # @author Tyler Morgan
83
+ #
84
+ # @param newvalue [Bool]
85
+ #
86
+ # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
87
+ #
88
+ # @return [void]
89
+ def perform_secure_bind=(newvalue)
90
+ raise Jamf::InvalidDataError, 'perform_secure_bind must be true or false.' unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
91
+
92
+ @perform_secure_bind = newvalue
93
+
94
+ container&.should_update
95
+ end
96
+
97
+ # Use this binding for authentication
98
+ #
99
+ # @author Tyler Morgan
100
+ #
101
+ # @param newvalue [Bool]
102
+ #
103
+ # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
104
+ #
105
+ # @return [void]
106
+ def use_for_authentication=(newvalue)
107
+ raise Jamf::InvalidDataError, 'use_for_authentication must be true or false.' unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
108
+
109
+ @use_for_authentication = newvalue
110
+
111
+ container&.should_update
112
+ end
113
+
114
+ # Use this binding for contact population
115
+ #
116
+ # @author Tyler Morgan
117
+ #
118
+ # @param newvalue [Bool]
119
+ #
120
+ # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
121
+ #
122
+ # @return [void]
123
+ def use_for_contacts=(newvalue)
124
+ raise Jamf::InvalidDataError, 'use_for_contacts must be true or false.' unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
125
+
126
+ @use_for_contacts = newvalue
127
+
128
+ container&.should_update
129
+ end
130
+
131
+ # Return a REXML Element containing the current state of the DirectoryBindingType
132
+ # object for adding into the XML of the container.
133
+ #
134
+ # @author Tyler Morgan
135
+ #
136
+ # @return [REXML::Element]
137
+ def type_setting_xml
138
+ type_setting = REXML::Element.new 'admitmac'
139
+ type_setting.add_element('encrypt_using_ssl').text = @encrypt_using_ssl
140
+ type_setting.add_element('perform_secure_bind').text = @perform_secure_bind
141
+ type_setting.add_element('use_for_authentication').text = @use_for_authentication
142
+ type_setting.add_element('use_for_contacts').text = @use_for_contacts
143
+
144
+ type_setting
145
+ end
121
146
 
147
+ end
122
148
 
123
- # Use this binding for authentication
124
- #
125
- # @author Tyler Morgan
126
- #
127
- # @param newvalue [Bool]
128
- #
129
- # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
130
- #
131
- # @return [void]
132
- def use_for_authentication=(newvalue)
133
-
134
- raise Jamf::InvalidDataError, "use_for_authentication must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
135
-
136
- @use_for_authentication = newvalue
137
-
138
- self.container&.should_update
139
- end
140
-
141
-
142
- # Use this binding for contact population
143
- #
144
- # @author Tyler Morgan
145
- #
146
- # @param newvalue [Bool]
147
- #
148
- # @raise [Jamf::InvalidDataError] If the new value doesn't match a Bool value
149
- #
150
- # @return [void]
151
- def use_for_contacts=(newvalue)
152
-
153
- raise Jamf::InvalidDataError, "use_for_contacts must be true or false." unless newvalue.is_a?(TrueClass) || newvalue.is_a(FalseClass)
149
+ end
154
150
 
155
- @use_for_contacts = newvalue
156
-
157
- self.container&.should_update
158
- end
159
-
160
-
161
- # Return a REXML Element containing the current state of the DirectoryBindingType
162
- # object for adding into the XML of the container.
163
- #
164
- # @author Tyler Morgan
165
- #
166
- # @return [REXML::Element]
167
- def type_setting_xml
168
- type_setting = REXML::Element.new "admitmac"
169
- type_setting.add_element("encrypt_using_ssl").text = @encrypt_using_ssl
170
- type_setting.add_element("perform_secure_bind").text = @perform_secure_bind
171
- type_setting.add_element("use_for_authentication").text = @use_for_authentication
172
- type_setting.add_element("use_for_contacts").text = @use_for_contacts
173
-
174
- return type_setting
175
- end
176
- end
177
- end
178
151
  end
@@ -1,73 +1,53 @@
1
- ### Copyright 2019 Rixar
2
-
3
- ###
4
- ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
- ### with the following modification; you may not use this file except in
6
- ### compliance with the Apache License and the following modification to it:
7
- ### Section 6. Trademarks. is deleted and replaced with:
8
- ###
9
- ### 6. Trademarks. This License does not grant permission to use the trade
10
- ### names, trademarks, service marks, or product names of the Licensor
11
- ### and its affiliates, except as required to comply with Section 4(c) of
12
- ### the License and to reproduce the content of the NOTICE file.
13
- ###
14
- ### You may obtain a copy of the Apache License at
15
- ###
16
- ### http://www.apache.org/licenses/LICENSE-2.0
17
- ###
18
- ### Unless required by applicable law or agreed to in writing, software
19
- ### distributed under the Apache License with the above modification is
20
- ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
- ### KIND, either express or implied. See the Apache License for the specific
22
- ### language governing permissions and limitations under the Apache License.
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the terms set forth in the LICENSE.txt file available at
4
+ # at the root of this project.
23
5
  ###
24
6
  ###
25
7
 
26
8
  module Jamf
27
9
 
28
- # Module for containing the different types of DirectoryBindings stored within the JSS
29
-
30
- module DirectoryBindingType
10
+ # Module for containing the different types of DirectoryBindings stored within the JSS
11
+
12
+ module DirectoryBindingType
13
+
14
+ # Module Variables
15
+ #####################################
31
16
 
32
- # Module Variables
33
- #####################################
17
+ # Module Methods
18
+ #####################################
34
19
 
35
- # Module Methods
36
- #####################################
20
+ # Classes
21
+ #####################################
37
22
 
38
- # Classes
39
- #####################################
23
+ # Class for the specific PowerBroker DirectoryBinding type stored within the JSS
24
+ #
25
+ # @author Tyler Morgan
26
+ #
27
+ # Attributes
28
+ class PowerBroker < DirectoryBindingType
40
29
 
41
- # Class for the specific PowerBroker DirectoryBinding type stored within the JSS
42
- #
43
- # @author Tyler Morgan
44
- #
45
- # Attributes
46
- class PowerBroker < DirectoryBindingType
47
- # Mix-Ins
48
- #####################################
30
+ # Mix-Ins
31
+ #####################################
49
32
 
50
-
51
- # Class Methods
52
- #####################################
33
+ # Class Methods
34
+ #####################################
53
35
 
54
-
55
- # Class Constants
56
- #####################################
36
+ # Class Constants
37
+ #####################################
57
38
 
58
-
59
- # Attributes
60
- #####################################
39
+ # Attributes
40
+ #####################################
61
41
 
62
-
63
- # Constructor
64
- #####################################
65
- def initialize(init_data)
66
- end
42
+ # Constructor
43
+ #####################################
44
+ def initialize(init_data); end
67
45
 
46
+ # Public Instance Methods
47
+ #####################################
68
48
 
69
- # Public Instance Methods
70
- #####################################
71
- end
72
49
  end
73
- end
50
+
51
+ end
52
+
53
+ end
@@ -1,25 +1,7 @@
1
- ### Copyright 2019 Rixar
2
-
3
- ###
4
- ### Licensed under the Apache License, Version 2.0 (the "Apache License")
5
- ### with the following modification; you may not use this file except in
6
- ### compliance with the Apache License and the following modification to it:
7
- ### Section 6. Trademarks. is deleted and replaced with:
8
- ###
9
- ### 6. Trademarks. This License does not grant permission to use the trade
10
- ### names, trademarks, service marks, or product names of the Licensor
11
- ### and its affiliates, except as required to comply with Section 4(c) of
12
- ### the License and to reproduce the content of the NOTICE file.
13
- ###
14
- ### You may obtain a copy of the Apache License at
15
- ###
16
- ### http://www.apache.org/licenses/LICENSE-2.0
17
- ###
18
- ### Unless required by applicable law or agreed to in writing, software
19
- ### distributed under the Apache License with the above modification is
20
- ### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
- ### KIND, either express or implied. See the Apache License for the specific
22
- ### language governing permissions and limitations under the Apache License.
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the terms set forth in the LICENSE.txt file available at
4
+ # at the root of this project.
23
5
  ###
24
6
  ###
25
7
 
@@ -1,114 +1,120 @@
1
1
  module Jamf
2
- ### Module Constants
3
- #####################################
4
2
 
5
- ### Module Variables
6
- #####################################
3
+ ### Module Constants
4
+ #####################################
7
5
 
8
- ### Module Methods
9
- #####################################
6
+ ### Module Variables
7
+ #####################################
10
8
 
11
- ### Classes
12
- #####################################
9
+ ### Module Methods
10
+ #####################################
13
11
 
14
- ### Disk Encryption Configuration object inside JSS
15
- ###
16
- ### More Detailed Description if needed
17
- class DiskEncryptionConfiguration < Jamf::APIObject
18
- ## Mix-Ins
19
- #####################################
20
- include Jamf::Updatable
12
+ ### Classes
13
+ #####################################
21
14
 
22
- ## Class Constants
23
- #####################################
15
+ ### Disk Encryption Configuration object inside JSS
16
+ ###
17
+ ### More Detailed Description if needed
18
+ class DiskEncryptionConfiguration < Jamf::APIObject
24
19
 
25
- # @note Currently "Individual and Institutional" configuration type is unsupported through the API
26
- KEY_TYPE = {
27
- individual: 'Individual',
28
- institutional: 'Institutional',
29
- individual_and_institutional: 'Individual and Institutional'
30
- }.freeze
31
-
32
- # @note as of 10.13 Management Account cannot be used due to the lack of a secure token.
33
- ENABLED_USERS_TYPE = {
34
- management: "Management Account",
35
- current: "Current or Next User"
36
- }.freeze
37
-
38
- ### The base for REST resources of this class
39
- RSRC_BASE = 'diskencryptionconfigurations'.freeze
20
+ ## Mix-Ins
21
+ #####################################
22
+ include Jamf::Updatable
40
23
 
41
- ### the hash key used for the JSON list output of all objects in the JSS
42
- RSRC_LIST_KEY = :disk_encryption_configurations
24
+ ## Class Constants
25
+ #####################################
43
26
 
44
- ### The hash key used for the JSON object output
45
- ### It's also used in various error messages
46
- RSRC_OBJECT_KEY = :disk_encryption_configuration
27
+ # @note Currently "Individual and Institutional" configuration type is unsupported through the API
28
+ KEY_TYPE = {
29
+ individual: 'Individual',
30
+ institutional: 'Institutional',
31
+ individual_and_institutional: 'Individual and Institutional'
32
+ }.freeze
47
33
 
48
- ## Attributes
49
- #####################################
50
- attr_reader :key_type
51
- attr_reader :file_vault_enabled_users
52
- attr_reader :institutional_recovery_key
34
+ # @note as of 10.13 Management Account cannot be used due to the lack of a secure token.
35
+ ENABLED_USERS_TYPE = {
36
+ management: 'Management Account',
37
+ current: 'Current or Next User'
38
+ }.freeze
53
39
 
54
- ## Constructor
55
- #####################################
40
+ ### The base for REST resources of this class
41
+ RSRC_BASE = 'diskencryptionconfigurations'.freeze
56
42
 
57
- ###
58
- def initialize(**args)
59
- super
43
+ ### the hash key used for the JSON list output of all objects in the JSS
44
+ RSRC_LIST_KEY = :disk_encryption_configurations
60
45
 
61
- if self.in_jss?
62
- @key_type = @init_data[:key_type]
63
- @file_vault_enabled_users = @init_data[:file_vault_enabled_users]
64
- @institutional_recovery_key = @init_data[:institutional_recovery_key]
65
- else
66
- raise Jamf::InvalidDataError, "Currently the ability to create a Disk Encryption Configuration is not possible through ruby-jss."
67
- end
46
+ ### The hash key used for the JSON object output
47
+ ### It's also used in various error messages
48
+ RSRC_OBJECT_KEY = :disk_encryption_configuration
68
49
 
50
+ ## Attributes
51
+ #####################################
52
+ attr_reader :key_type
53
+ attr_reader :file_vault_enabled_users, :institutional_recovery_key
69
54
 
55
+ ## Constructor
56
+ #####################################
70
57
 
71
- end
58
+ ###
59
+ def initialize(**args)
60
+ super
72
61
 
73
- ## Class Methods
74
- #####################################
62
+ raise Jamf::InvalidDataError, 'Currently the ability to create a Disk Encryption Configuration is not possible through ruby-jss.' unless in_jss?
75
63
 
76
- # Sets what type of account is to be enabled using the new value
77
- #
78
- # @author Tyler Morgan
79
- #
80
- # @param newvalue[Symbol] One of ENABLED_USERS_TYPE
81
- #
82
- # @return [Void]
83
- #
84
- def file_vault_enabled_users=(newvalue)
85
- raise Jamf::InvalidDataError, "file_vault_enabled_users must be one of :#{ENABLED_USERS_TYPE.keys.join(',:')}." unless ENABLED_USERS_TYPE.keys.include? newvalue
64
+ @key_type = @init_data[:key_type]
65
+ @file_vault_enabled_users = @init_data[:file_vault_enabled_users]
66
+ @institutional_recovery_key = @init_data[:institutional_recovery_key]
67
+
68
+
69
+
70
+ end
86
71
 
87
- @file_vault_enabled_users = ENABLED_USERS_TYPE[newvalue]
72
+ ## Class Methods
73
+ #####################################
88
74
 
89
- @need_to_update = true
75
+ # Sets what type of account is to be enabled using the new value
76
+ #
77
+ # @author Tyler Morgan
78
+ #
79
+ # @param newvalue[Symbol] One of ENABLED_USERS_TYPE
80
+ #
81
+ # @return [Void]
82
+ #
83
+ def file_vault_enabled_users=(newvalue)
84
+ unless ENABLED_USERS_TYPE.keys.include? newvalue
85
+ raise Jamf::InvalidDataError,
86
+ "file_vault_enabled_users must be one of :#{ENABLED_USERS_TYPE.keys.join(',:')}."
87
+ end
88
+
89
+ @file_vault_enabled_users = ENABLED_USERS_TYPE[newvalue]
90
+
91
+ @need_to_update = true
92
+ end
90
93
 
91
- end
94
+ ## Private Instance Methods
95
+ #####################################
92
96
 
93
- ## Private Instance Methods
94
- #####################################
97
+ private
95
98
 
96
- private
99
+ def rest_xml
100
+ if @key_type == KEY_TYPE[:individual_and_institutional]
101
+ raise Jamf::UnsupportedError,
102
+ 'Key type of "Individual and Institutional" is currently unsupported via. API. So changes are unable to be saved.'
103
+ end
97
104
 
98
- def rest_xml
99
- raise Jamf::UnsupportedError, "Key type of \"Individual and Institutional\" is currently unsupported via. API. So changes are unable to be saved." if @key_type == KEY_TYPE[:individual_and_institutional]
100
- doc = REXML::Document.new
101
- disk_encryption_configuration = doc.add_element 'disk_encryption_configuration'
105
+ doc = REXML::Document.new Jamf::Connection::XML_HEADER
106
+ doc.root.name = 'disk_encryption_configuration'
102
107
 
103
- disk_encryption_configuration.add_element('id').text = @id
104
- disk_encryption_configuration.add_element('name').text = @name
105
- disk_encryption_configuration.add_element('key_type').text = @key_type
106
- disk_encryption_configuration.add_element('file_vault_enabled_users').text = @file_vault_enabled_users
108
+ disk_encryption_configuration = doc.root
107
109
 
108
- doc.to_s
110
+ disk_encryption_configuration.add_element('id').text = @id
111
+ disk_encryption_configuration.add_element('name').text = @name
112
+ disk_encryption_configuration.add_element('key_type').text = @key_type
113
+ disk_encryption_configuration.add_element('file_vault_enabled_users').text = @file_vault_enabled_users
109
114
 
115
+ doc.to_s
116
+ end
110
117
 
118
+ end
111
119
 
112
- end
113
- end
114
120
  end