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.
- checksums.yaml +4 -4
- data/CHANGES.md +18 -1
- data/LICENSE.txt +5 -3
- data/README.md +3 -1
- data/bin/cgrouper +4 -22
- data/bin/jamfHelperBackgrounder +4 -22
- data/bin/netseg-update +4 -22
- data/data/ruby-jss.conf.example +4 -22
- data/lib/jamf/api/classic/api_objects/account.rb +4 -22
- data/lib/jamf/api/classic/api_objects/advanced_computer_search.rb +4 -22
- data/lib/jamf/api/classic/api_objects/advanced_mobile_device_search.rb +4 -22
- data/lib/jamf/api/classic/api_objects/advanced_user_search.rb +4 -22
- data/lib/jamf/api/classic/api_objects/building.rb +4 -22
- data/lib/jamf/api/classic/api_objects/categorizable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/category.rb +7 -24
- data/lib/jamf/api/classic/api_objects/computer.rb +6 -23
- data/lib/jamf/api/classic/api_objects/computer_extension_attribute.rb +2 -20
- data/lib/jamf/api/classic/api_objects/computer_group.rb +2 -20
- data/lib/jamf/api/classic/api_objects/computer_invitation.rb +6 -23
- data/lib/jamf/api/classic/api_objects/creatable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/criteriable/criteria.rb +4 -22
- data/lib/jamf/api/classic/api_objects/criteriable/criterion.rb +2 -20
- data/lib/jamf/api/classic/api_objects/criteriable.rb +2 -20
- data/lib/jamf/api/classic/api_objects/department.rb +4 -22
- data/lib/jamf/api/classic/api_objects/directory_binding.rb +221 -247
- data/lib/jamf/api/classic/api_objects/directory_binding_type/active_directory.rb +492 -526
- data/lib/jamf/api/classic/api_objects/directory_binding_type/admitmac.rb +27 -55
- data/lib/jamf/api/classic/api_objects/directory_binding_type/centrify.rb +191 -220
- data/lib/jamf/api/classic/api_objects/directory_binding_type/directory_binding_type.rb +4 -22
- data/lib/jamf/api/classic/api_objects/directory_binding_type/open_directory.rb +142 -169
- data/lib/jamf/api/classic/api_objects/directory_binding_type/powerbroker_identity_services.rb +37 -57
- data/lib/jamf/api/classic/api_objects/directory_binding_type.rb +4 -22
- data/lib/jamf/api/classic/api_objects/disk_encryption_configuration.rb +90 -84
- data/lib/jamf/api/classic/api_objects/distribution_point.rb +6 -24
- data/lib/jamf/api/classic/api_objects/dock_item.rb +11 -34
- data/lib/jamf/api/classic/api_objects/ebook.rb +4 -22
- data/lib/jamf/api/classic/api_objects/extendable.rb +2 -20
- data/lib/jamf/api/classic/api_objects/ibeacon.rb +6 -23
- data/lib/jamf/api/classic/api_objects/icon.rb +5 -23
- data/lib/jamf/api/classic/api_objects/ldap_server.rb +2 -20
- data/lib/jamf/api/classic/api_objects/locatable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/mac_application.rb +6 -23
- data/lib/jamf/api/classic/api_objects/management_history/audit_event.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/casper_imaging_log.rb +5 -24
- data/lib/jamf/api/classic/api_objects/management_history/casper_remote_log.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/computer_usage_log.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/ebook.rb +4 -26
- data/lib/jamf/api/classic/api_objects/management_history/hash_like.rb +4 -22
- data/lib/jamf/api/classic/api_objects/management_history/mac_app_store_app.rb +4 -26
- data/lib/jamf/api/classic/api_objects/management_history/mdm_command.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/mobile_device_app.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/policy_log.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/screen_sharing_log.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history/user_location_change.rb +4 -25
- data/lib/jamf/api/classic/api_objects/management_history.rb +4 -22
- data/lib/jamf/api/classic/api_objects/matchable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/mdm.rb +6 -23
- data/lib/jamf/api/classic/api_objects/mobile_device.rb +7 -23
- data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +7 -23
- data/lib/jamf/api/classic/api_objects/mobile_device_configuration_profile.rb +4 -22
- data/lib/jamf/api/classic/api_objects/mobile_device_extension_attribute.rb +3 -20
- data/lib/jamf/api/classic/api_objects/mobile_device_group.rb +4 -22
- data/lib/jamf/api/classic/api_objects/netboot_server.rb +4 -22
- data/lib/jamf/api/classic/api_objects/network_segment.rb +7 -23
- data/lib/jamf/api/classic/api_objects/osx_configuration_profile.rb +2 -20
- data/lib/jamf/api/classic/api_objects/package.rb +6 -23
- data/lib/jamf/api/classic/api_objects/patch_external_source.rb +7 -24
- data/lib/jamf/api/classic/api_objects/patch_internal_source.rb +4 -22
- data/lib/jamf/api/classic/api_objects/patch_policy.rb +6 -23
- data/lib/jamf/api/classic/api_objects/patch_title/version.rb +4 -22
- data/lib/jamf/api/classic/api_objects/patch_title.rb +8 -24
- data/lib/jamf/api/classic/api_objects/peripheral.rb +7 -24
- data/lib/jamf/api/classic/api_objects/peripheral_type.rb +7 -26
- data/lib/jamf/api/classic/api_objects/policy.rb +8 -24
- data/lib/jamf/api/classic/api_objects/printer.rb +384 -388
- data/lib/jamf/api/classic/api_objects/purchasable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/removable_macaddr.rb +4 -22
- data/lib/jamf/api/classic/api_objects/restricted_software.rb +7 -24
- data/lib/jamf/api/classic/api_objects/scopable/scope.rb +2 -19
- data/lib/jamf/api/classic/api_objects/scopable.rb +6 -23
- data/lib/jamf/api/classic/api_objects/script.rb +5 -23
- data/lib/jamf/api/classic/api_objects/self_servable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/sitable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/site.rb +2 -20
- data/lib/jamf/api/classic/api_objects/software_update_server.rb +4 -22
- data/lib/jamf/api/classic/api_objects/updatable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/uploadable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/user.rb +6 -24
- data/lib/jamf/api/classic/api_objects/user_extension_attribute.rb +2 -19
- data/lib/jamf/api/classic/api_objects/user_group.rb +4 -22
- data/lib/jamf/api/classic/api_objects/vpp_account.rb +6 -23
- data/lib/jamf/api/classic/api_objects/vppable.rb +4 -22
- data/lib/jamf/api/classic/api_objects/web_hook.rb +4 -20
- data/lib/jamf/api/classic/base_classes/advanced_search.rb +9 -25
- data/lib/jamf/api/classic/base_classes/api_object.rb +7 -24
- data/lib/jamf/api/classic/base_classes/configuration_profile.rb +5 -22
- data/lib/jamf/api/classic/base_classes/extension_attribute.rb +8 -25
- data/lib/jamf/api/classic/base_classes/group.rb +6 -22
- data/lib/jamf/api/classic/base_classes/patch_source.rb +4 -22
- data/lib/jamf/api/classic/xml_workaround.rb +4 -22
- data/lib/jamf/api/connection/attributes.rb +4 -21
- data/lib/jamf/api/connection/cache.rb +4 -21
- data/lib/jamf/api/connection/classic_api.rb +4 -21
- data/lib/jamf/api/connection/connect.rb +4 -21
- data/lib/jamf/api/connection/constants.rb +7 -23
- data/lib/jamf/api/connection/default_connection.rb +4 -21
- data/lib/jamf/api/connection/jamf_pro_api.rb +4 -21
- data/lib/jamf/api/connection/jamf_pro_api_error.rb +2 -20
- data/lib/jamf/api/connection/token.rb +2 -20
- data/lib/jamf/api/connection.rb +4 -21
- data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +2 -23
- data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/j_building.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +2 -20
- data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates/plan.rb +2 -19
- data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates.rb +2 -19
- data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +2 -20
- data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/change_log.rb +2 -20
- data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +2 -20
- data/lib/jamf/api/jamf_pro/mixins/computer_recovery_lock.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/filevault.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/filterable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/immutable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +2 -20
- data/lib/jamf/api/jamf_pro/mixins/lockable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/macos_redeploy_mgmt_framework.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/prestage.rb +2 -20
- data/lib/jamf/api/jamf_pro/mixins/sortable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/uncreatable.rb +2 -19
- data/lib/jamf/api/jamf_pro/mixins/undeletable.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +12 -31
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +11 -30
- data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +13 -32
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +4 -25
- data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +12 -31
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +10 -29
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +7 -26
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +12 -31
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +7 -26
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +12 -31
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +8 -27
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +6 -25
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +14 -33
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v3.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +6 -26
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +28 -47
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +28 -47
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +8 -27
- data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v3.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_event_store.rb +4 -25
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +4 -25
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +14 -33
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/o_auth_client_credentials.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/package.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/packages_search_results.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +17 -36
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +7 -26
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +7 -26
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +2 -23
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +6 -25
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +36 -55
- data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +2 -19
- data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas.rb +2 -19
- data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +2 -20
- data/lib/jamf/api/jamf_pro/other_classes/ip_address.rb +2 -20
- data/lib/jamf/api/jamf_pro/other_classes/pager.rb +2 -19
- data/lib/jamf/api/jamf_pro/other_classes/timestamp.rb +2 -20
- data/lib/jamf/base_class.rb +2 -19
- data/lib/jamf/client/jamf_binary.rb +4 -22
- data/lib/jamf/client/jamf_helper.rb +4 -22
- data/lib/jamf/client/management_action.rb +4 -22
- data/lib/jamf/client.rb +4 -22
- data/lib/jamf/composer.rb +2 -20
- data/lib/jamf/configuration.rb +2 -20
- data/lib/jamf/constants.rb +2 -20
- data/lib/jamf/db_connection.rb +5 -23
- data/lib/jamf/deprecations/deprecated_api_connection_class.rb +2 -20
- data/lib/jamf/deprecations/deprecated_api_constant.rb +2 -20
- data/lib/jamf/deprecations/deprecated_config_constant.rb +2 -20
- data/lib/jamf/deprecations.rb +4 -22
- data/lib/jamf/exceptions.rb +2 -20
- data/lib/jamf/oapi_validate.rb +2 -19
- data/lib/jamf/ruby_extensions/array/predicates.rb +2 -20
- data/lib/jamf/ruby_extensions/array/utils.rb +2 -20
- data/lib/jamf/ruby_extensions/array.rb +2 -20
- data/lib/jamf/ruby_extensions/filetest/predicates.rb +2 -20
- data/lib/jamf/ruby_extensions/filetest.rb +2 -20
- data/lib/jamf/ruby_extensions/hash/utils.rb +2 -44
- data/lib/jamf/ruby_extensions/hash.rb +2 -20
- data/lib/jamf/ruby_extensions/ipaddr/utils.rb +2 -20
- data/lib/jamf/ruby_extensions/ipaddr.rb +4 -22
- data/lib/jamf/ruby_extensions/object/predicates.rb +2 -20
- data/lib/jamf/ruby_extensions/object.rb +2 -20
- data/lib/jamf/ruby_extensions/pathname/predicates.rb +2 -20
- data/lib/jamf/ruby_extensions/pathname/utils.rb +2 -20
- data/lib/jamf/ruby_extensions/pathname.rb +2 -20
- data/lib/jamf/ruby_extensions/string/conversions.rb +2 -20
- data/lib/jamf/ruby_extensions/string/predicates.rb +2 -20
- data/lib/jamf/ruby_extensions/string.rb +2 -20
- data/lib/jamf/ruby_extensions/time/utils.rb +4 -22
- data/lib/jamf/ruby_extensions/time.rb +4 -22
- data/lib/jamf/ruby_extensions.rb +4 -22
- data/lib/jamf/utility.rb +2 -20
- data/lib/jamf/validate.rb +2 -19
- data/lib/jamf/version.rb +5 -23
- data/lib/jamf/zeitwerk_config.rb +2 -20
- data/lib/jamf.rb +2 -20
- data/lib/jss-api.rb +4 -22
- data/lib/jss.rb +4 -22
- data/lib/ruby-jss.rb +4 -22
- data/test/bin/runtests +4 -22
- data/test/lib/jamf_test/APITest.rb +4 -22
- data/test/lib/jamf_test/advanced_search.rb +4 -22
- data/test/lib/jamf_test/auth.rb +4 -22
- data/test/lib/jamf_test/collection_tests.rb +4 -22
- data/test/lib/jamf_test/prestage_tests.rb +4 -22
- data/test/lib/jamf_test.rb +4 -22
- data/test/tests/advanced_computer_search.rb +4 -22
- data/test/tests/advanced_mobile_device_search.rb +4 -22
- data/test/tests/advanced_user_search.rb +4 -22
- data/test/tests/building.rb +4 -22
- data/test/tests/category.rb +4 -22
- data/test/tests/computer.rb +4 -22
- data/test/tests/computer_group.rb +4 -22
- data/test/tests/computer_prestage.rb +4 -22
- data/test/tests/department.rb +4 -22
- data/test/tests/device_enrollment.rb +4 -22
- data/test/tests/inventory_preload_record.rb +4 -22
- data/test/tests/j_building.rb +4 -22
- data/test/tests/j_package.rb +4 -22
- data/test/tests/mobile_device.rb +4 -22
- data/test/tests/mobile_device_prestage.rb +4 -22
- data/test/tests/policy.rb +4 -22
- metadata +4 -4
|
@@ -1,178 +1,151 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
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
|
data/lib/jamf/api/classic/api_objects/directory_binding_type/powerbroker_identity_services.rb
CHANGED
|
@@ -1,73 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
33
|
-
|
|
17
|
+
# Module Methods
|
|
18
|
+
#####################################
|
|
34
19
|
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
# Classes
|
|
21
|
+
#####################################
|
|
37
22
|
|
|
38
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
# @author Tyler Morgan
|
|
44
|
-
#
|
|
45
|
-
# Attributes
|
|
46
|
-
class PowerBroker < DirectoryBindingType
|
|
47
|
-
# Mix-Ins
|
|
48
|
-
#####################################
|
|
30
|
+
# Mix-Ins
|
|
31
|
+
#####################################
|
|
49
32
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
#####################################
|
|
33
|
+
# Class Methods
|
|
34
|
+
#####################################
|
|
53
35
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
#####################################
|
|
36
|
+
# Class Constants
|
|
37
|
+
#####################################
|
|
57
38
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
#####################################
|
|
39
|
+
# Attributes
|
|
40
|
+
#####################################
|
|
61
41
|
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
@@ -1,25 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
6
|
-
|
|
3
|
+
### Module Constants
|
|
4
|
+
#####################################
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
### Module Variables
|
|
7
|
+
#####################################
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
### Module Methods
|
|
10
|
+
#####################################
|
|
13
11
|
|
|
14
|
-
|
|
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
|
-
|
|
23
|
-
|
|
15
|
+
### Disk Encryption Configuration object inside JSS
|
|
16
|
+
###
|
|
17
|
+
### More Detailed Description if needed
|
|
18
|
+
class DiskEncryptionConfiguration < Jamf::APIObject
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
42
|
-
|
|
24
|
+
## Class Constants
|
|
25
|
+
#####################################
|
|
43
26
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
55
|
-
|
|
40
|
+
### The base for REST resources of this class
|
|
41
|
+
RSRC_BASE = 'diskencryptionconfigurations'.freeze
|
|
56
42
|
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
58
|
+
###
|
|
59
|
+
def initialize(**args)
|
|
60
|
+
super
|
|
72
61
|
|
|
73
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
72
|
+
## Class Methods
|
|
73
|
+
#####################################
|
|
88
74
|
|
|
89
|
-
|
|
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
|
-
|
|
94
|
+
## Private Instance Methods
|
|
95
|
+
#####################################
|
|
92
96
|
|
|
93
|
-
|
|
94
|
-
#####################################
|
|
97
|
+
private
|
|
95
98
|
|
|
96
|
-
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|