ruby-jss 2.0.0a10 → 2.0.0b3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README-2.0.0.md +53 -32
- data/lib/jamf/api/classic/api_objects/computer.rb +18 -15
- data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -0
- data/lib/jamf/api/classic/api_objects/criteriable.rb +1 -1
- data/lib/jamf/api/classic/api_objects/mdm.rb +40 -24
- data/lib/jamf/api/classic/api_objects/mobile_device.rb +8 -12
- data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +35 -6
- data/lib/jamf/api/classic/api_objects/policy.rb +8 -17
- data/lib/jamf/api/classic/api_objects/script.rb +1 -1
- data/lib/jamf/api/classic/base_classes/advanced_search.rb +5 -5
- data/lib/jamf/api/classic/base_classes/api_object.rb +26 -26
- data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -2
- data/lib/jamf/api/classic/base_classes/group.rb +57 -40
- data/lib/jamf/api/connection/attributes.rb +51 -4
- data/lib/jamf/api/connection/classic_api.rb +2 -1
- data/lib/jamf/api/connection/connect.rb +49 -2
- data/lib/jamf/api/connection/constants.rb +6 -0
- data/lib/jamf/api/connection/jamf_pro_api.rb +6 -2
- data/lib/jamf/api/connection/token.rb +10 -3
- data/lib/jamf/api/connection.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +9 -1
- data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +21 -9
- data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +178 -0
- data/lib/jamf/api/jamf_pro/mixins/prestage.rb +17 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/{access_groups_search_results.rb → account_driven_user_enrollment_session_token_settings.rb} +14 -14
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/{deprecated_configuration_search_results.rb → available_updates.rb} +12 -20
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +1 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +1 -9
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +26 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/{mdm_signing_certificate.rb → computer_group.rb} +18 -24
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/{computer_inventory_response.rb → computer_inventory.rb} +4 -5
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +4 -5
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +12 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +3 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +5 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +5 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +2 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +3 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +5 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/{enrollment_access_group.rb → jamf_pro_information_v2.rb} +35 -34
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +5 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +28 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +61 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +7 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +3 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +5 -5
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +3 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/{safelisted_apps.rb → safelisted_app.rb} +15 -11
- data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +5 -5
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +5 -5
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +9 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +1 -4
- data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +3 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +1 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +1 -2
- data/lib/jamf/client/jamf_binary.rb +76 -77
- data/lib/jamf/client/jamf_helper.rb +245 -235
- data/lib/jamf/client/management_action.rb +63 -53
- data/lib/jamf/client.rb +3 -3
- data/lib/jamf/constants.rb +1 -1
- data/lib/jamf/deprecations/deprecated_api_connection_class.rb +29 -0
- data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
- data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
- data/lib/jamf/version.rb +1 -1
- data/lib/zeitwerk_config.rb +23 -17
- data/test/{README.md → README-TEST.md} +3 -0
- data/test/bin/runtests +42 -2
- data/test/lib/jamf_test/APITest.rb +33 -7
- data/test/lib/jamf_test/advanced_search.rb +40 -0
- data/test/lib/jamf_test/collection_tests.rb +8 -13
- data/test/lib/jamf_test/prestage_tests.rb +135 -0
- data/test/lib/jamf_test.rb +7 -1
- data/test/tests/advanced_computer_search.rb +36 -0
- data/test/tests/advanced_mobile_device_search.rb +36 -0
- data/test/tests/advanced_user_search.rb +36 -0
- data/test/tests/building.rb +41 -0
- data/test/tests/computer.rb +41 -0
- data/test/tests/computer_group.rb +132 -0
- data/test/tests/computer_prestage.rb +36 -0
- data/test/tests/department.rb +41 -0
- data/test/tests/inventory_preload_record.rb +2 -2
- data/test/tests/mobile_device.rb +41 -0
- data/test/tests/mobile_device_prestage.rb +37 -0
- data/test/tests/policy.rb +39 -50
- metadata +41 -53
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v1.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_request.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_response.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_configuration_update.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_request.rb +0 -166
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_response.rb +0 -163
- data/lib/jamf/api/jamf_pro/oapi_schemas/deprecated_server_update.rb +0 -171
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings.rb +0 -264
@@ -138,10 +138,23 @@ module Jamf
|
|
138
138
|
# token this many seconds before it expires.
|
139
139
|
# Must be >= Jamf::Connection::Token::MIN_REFRESH_BUFFER, which is the default
|
140
140
|
#
|
141
|
-
# @option params :pw_fallback
|
141
|
+
# @option params :pw_fallback [Boolean] If keep_alive, should the passwd be
|
142
142
|
# cached in memory and used to create a new token, if there are problems
|
143
143
|
# with the normal token refresh process?
|
144
144
|
#
|
145
|
+
# @option params :sticky_session [Boolean] Use a 'sticky session'? Default is false.
|
146
|
+
# The hostname of Jamf Cloud urls does not point to a single https server,
|
147
|
+
# but any node of a cluster. Those nodes often take time to see changes
|
148
|
+
# made in other node. Sometimes, its important to perform a series of API
|
149
|
+
# actions to the same node, to avoid sync-timing problems between node. Setting
|
150
|
+
# sticky_session to true will cause all communication for this Connection to go
|
151
|
+
# through the one specific node it first connected ith.
|
152
|
+
# This is only relevant to Jamf Cloud connections, and will raise an exception
|
153
|
+
# is used with on-prem Jamf Pro servers.
|
154
|
+
# NOTE: It is not always appropriate to use this feature, and inapproriate use
|
155
|
+
# may negatively impact server performance. For more info, see
|
156
|
+
# https://developer.jamf.com/developer-guide/docs/sticky-sessions-for-jamf-cloud
|
157
|
+
#
|
145
158
|
# @return [String] connection description, the output of #to_s
|
146
159
|
#
|
147
160
|
#######################################################
|
@@ -185,12 +198,44 @@ module Jamf
|
|
185
198
|
@c_cnx = create_classic_connection
|
186
199
|
@jp_cnx = create_jp_connection
|
187
200
|
|
201
|
+
# set the connection objects to sticky if desired. enforce booleans
|
202
|
+
self.sticky_session = params[:sticky_session] ? true : false
|
203
|
+
|
188
204
|
@connected = true
|
189
205
|
|
190
206
|
to_s
|
191
207
|
end # connect
|
192
208
|
alias login connect
|
193
209
|
|
210
|
+
# If a sticky_session was requested when the connection was made, and
|
211
|
+
# we are connected to a jamf cloud server, the token's http response
|
212
|
+
# contains the cookie we need to send with every request to ensure a
|
213
|
+
# stickey session.
|
214
|
+
#################################
|
215
|
+
def enable_sticky_session(headers)
|
216
|
+
# commas separate the cookies
|
217
|
+
raw_cookies = headers[Jamf::Connection::SET_COOKIE_HEADER].split(/\s*,\s*/)
|
218
|
+
|
219
|
+
raw_cookies.each do |rc|
|
220
|
+
# semicolons separate the attributes of the cookie,
|
221
|
+
# with its name and value being the first pair.
|
222
|
+
cookie_data = rc.split(/\s*;\s*/).first
|
223
|
+
|
224
|
+
# attribute name and value are separated by '='
|
225
|
+
cookie_name, cookie_value = cookie_data.split('=')
|
226
|
+
next unless cookie_name == Jamf::Connection::STICKY_SESSION_COOKIE_NAME
|
227
|
+
|
228
|
+
@sticky_session_cookie = "#{Jamf::Connection::STICKY_SESSION_COOKIE_NAME}=#{cookie_value}"
|
229
|
+
jp_cnx.headers[Jamf::Connection::COOKIE_HEADER] = @sticky_session_cookie
|
230
|
+
c_cnx.headers[Jamf::Connection::COOKIE_HEADER] = @sticky_session_cookie
|
231
|
+
return @sticky_session_cookie
|
232
|
+
end
|
233
|
+
# be sure to return nil if there was no appropriate cookie,
|
234
|
+
# which means we aren't using Jamf Cloud
|
235
|
+
|
236
|
+
nil
|
237
|
+
end
|
238
|
+
|
194
239
|
# raise exception if not connected, and make sure we're using
|
195
240
|
# the current token
|
196
241
|
def validate_connected(subcnx)
|
@@ -224,6 +269,8 @@ module Jamf
|
|
224
269
|
@jp_base_url = nil
|
225
270
|
@server_path = nil
|
226
271
|
@token = nil
|
272
|
+
@sticky_session_cookie = nil
|
273
|
+
@sticky_session = nil
|
227
274
|
@connected = false
|
228
275
|
:disconnected
|
229
276
|
end # disconnect
|
@@ -429,7 +476,7 @@ module Jamf
|
|
429
476
|
token_params[:token_string] = params[:token] if type == :token_string
|
430
477
|
token_params[:pw] = params[:pw] unless params[:pw].is_a? Symbol
|
431
478
|
|
432
|
-
self.class::Token.new
|
479
|
+
self.class::Token.new(**token_params)
|
433
480
|
end
|
434
481
|
|
435
482
|
# Build the base URL for the API connection
|
@@ -53,13 +53,17 @@ module Jamf
|
|
53
53
|
|
54
54
|
# @param rsrc[String] the resource to get
|
55
55
|
# (the part of the API url after the '/api/' )
|
56
|
-
|
56
|
+
|
57
57
|
# @return [Hash] the result of the get
|
58
58
|
#######################################################
|
59
59
|
def jp_get(rsrc)
|
60
60
|
validate_connected @jp_cnx
|
61
|
-
resp = @jp_cnx.get
|
61
|
+
resp = @jp_cnx.get(rsrc) do |req|
|
62
|
+
# Modify the request here if needed.
|
63
|
+
# puts "JPAPI Cookie is: #{req.headers['Cookie']}"
|
64
|
+
end
|
62
65
|
@last_http_response = resp
|
66
|
+
|
63
67
|
return resp.body if resp.success?
|
64
68
|
|
65
69
|
raise Jamf::Connection::JamfProAPIError, resp
|
@@ -87,6 +87,7 @@ module Jamf
|
|
87
87
|
# @return [String] The token data
|
88
88
|
attr_reader :token
|
89
89
|
alias token_string token
|
90
|
+
alias auth_token token
|
90
91
|
|
91
92
|
# @return [URI] The base API url, e.g. https://myjamf.jamfcloud.com/
|
92
93
|
attr_reader :base_url
|
@@ -112,6 +113,12 @@ module Jamf
|
|
112
113
|
attr_reader :pw_fallback
|
113
114
|
alias pw_fallback? pw_fallback
|
114
115
|
|
116
|
+
# @return [Faraday::Response] The response object from instantiating
|
117
|
+
# a new Token object by creating a new token or validating a token
|
118
|
+
# string. This is not updated when refreshing a token, only when
|
119
|
+
# calling Token.new
|
120
|
+
attr_reader :creation_http_response
|
121
|
+
|
115
122
|
# @param params [Hash] The data for creating and maintaining the token
|
116
123
|
#
|
117
124
|
# @option params [String] :token_string An existing valid token string.
|
@@ -139,7 +146,6 @@ module Jamf
|
|
139
146
|
#
|
140
147
|
# @option params [Boolean] :verify_cert (see Connection#connect)
|
141
148
|
#
|
142
|
-
#
|
143
149
|
###########################################
|
144
150
|
def initialize(**params)
|
145
151
|
@valid = false
|
@@ -164,10 +170,11 @@ module Jamf
|
|
164
170
|
#################################
|
165
171
|
def init_from_pw
|
166
172
|
resp = token_connection(NEW_TOKEN_RSRC).post
|
167
|
-
|
173
|
+
|
168
174
|
if resp.success?
|
169
175
|
parse_token_from_response resp
|
170
176
|
@last_refresh = Time.now
|
177
|
+
@creation_http_response = resp
|
171
178
|
elsif resp.status == 401
|
172
179
|
raise Jamf::AuthenticationError, 'Incorrect name or password'
|
173
180
|
else
|
@@ -184,6 +191,7 @@ module Jamf
|
|
184
191
|
resp = token_connection(AUTH_RSRC, token: str).get
|
185
192
|
raise Jamf::InvalidDataError, 'Token is not valid' unless resp.success?
|
186
193
|
|
194
|
+
@creation_http_response = resp
|
187
195
|
@token = str
|
188
196
|
@user = resp.body.dig :account, :username
|
189
197
|
|
@@ -348,7 +356,6 @@ module Jamf
|
|
348
356
|
end
|
349
357
|
alias keep_alive refresh
|
350
358
|
|
351
|
-
|
352
359
|
# Make this token invalid
|
353
360
|
#################################
|
354
361
|
def invalidate
|
data/lib/jamf/api/connection.rb
CHANGED
@@ -42,6 +42,7 @@ module Jamf
|
|
42
42
|
#
|
43
43
|
#
|
44
44
|
class InventoryPreloadRecord < Jamf::OAPISchemas::InventoryPreloadRecordV2
|
45
|
+
|
45
46
|
# Mix-Ins
|
46
47
|
#####################################
|
47
48
|
include Jamf::CollectionResource
|
@@ -109,6 +110,12 @@ module Jamf
|
|
109
110
|
# Must define this when extending Filterable
|
110
111
|
FILTER_KEYS = OAPI_PROPERTIES.keys - [:extensionAttributes]
|
111
112
|
|
113
|
+
DEVICE_TYPE_COMPUTER = 'Computer'.freeze
|
114
|
+
|
115
|
+
DEVICE_TYPE_MOBILE_DEV = 'Mobile Device'.freeze
|
116
|
+
|
117
|
+
DEVICE_TYPE_UNKNOWN = 'Unknown'.freeze
|
118
|
+
|
112
119
|
# InvPreload Recs have a non-standard /history path
|
113
120
|
def self.history_path(_id)
|
114
121
|
'v2/inventory-preload/history'
|
@@ -128,7 +135,7 @@ module Jamf
|
|
128
135
|
new_val
|
129
136
|
end
|
130
137
|
|
131
|
-
# remove an EA value
|
138
|
+
# remove an EA totally (vs setting its value to nil)
|
132
139
|
def remove_ext_attr(ea_name)
|
133
140
|
idx = extensionAttributes.index { |ea| ea.name == ea_name }
|
134
141
|
extensionAttributes_delete_at idx if idx
|
@@ -158,6 +165,7 @@ module Jamf
|
|
158
165
|
def history_path(_id)
|
159
166
|
raise Jamf::UnsupportedError, 'InventoryPreloadRecords do not have individual change logs. Use Jamf::InventoryPreloadRecord.change_log'
|
160
167
|
end
|
168
|
+
|
161
169
|
end # class
|
162
170
|
|
163
171
|
end # module
|
@@ -35,7 +35,6 @@ module Jamf
|
|
35
35
|
|
36
36
|
include Comparable
|
37
37
|
|
38
|
-
|
39
38
|
# Public Class Methods
|
40
39
|
#####################################
|
41
40
|
|
@@ -49,7 +48,7 @@ module Jamf
|
|
49
48
|
# and will cause Jamf::Resource.save to raise an error
|
50
49
|
#
|
51
50
|
def self.mutable?
|
52
|
-
|
51
|
+
!singleton_class.ancestors.include? Jamf::Immutable
|
53
52
|
end
|
54
53
|
|
55
54
|
# An array of attribute names that are required when
|
@@ -60,6 +59,12 @@ module Jamf
|
|
60
59
|
self::OAPI_PROPERTIES.select { |_attr, deets| deets[:required] }.keys
|
61
60
|
end
|
62
61
|
|
62
|
+
# have we already parsed our OAPI_PROPERTIES? If so,
|
63
|
+
# we shoudn't do it again, an this can be used to check
|
64
|
+
def self.oapi_properties_parsed?
|
65
|
+
@oapi_properties_parsed
|
66
|
+
end
|
67
|
+
|
63
68
|
# create getters and setters for subclasses of APIObject
|
64
69
|
# based on their OAPI_PROPERTIES Hash.
|
65
70
|
#
|
@@ -105,7 +110,6 @@ module Jamf
|
|
105
110
|
# Private Class Methods
|
106
111
|
#####################################
|
107
112
|
|
108
|
-
|
109
113
|
# create a getter for an attribute, and any aliases needed
|
110
114
|
##############################
|
111
115
|
def self.create_getters(attr_name, attr_def)
|
@@ -339,7 +343,6 @@ module Jamf
|
|
339
343
|
# Constructor
|
340
344
|
#####################################
|
341
345
|
|
342
|
-
|
343
346
|
# Make an instance. Data comes from the API
|
344
347
|
#
|
345
348
|
# @param data[Hash] the data for constructing a new object.
|
@@ -371,7 +374,7 @@ module Jamf
|
|
371
374
|
# Are objects of this class mutable?
|
372
375
|
# @see the class method in OAPIObject
|
373
376
|
def mutable?
|
374
|
-
|
377
|
+
self.class.mutable?
|
375
378
|
end
|
376
379
|
|
377
380
|
# a hash of all unsaved changes
|
@@ -393,6 +396,7 @@ module Jamf
|
|
393
396
|
|
394
397
|
# skip those that don't have any changes
|
395
398
|
next unless value.respond_to? :unsaved_changes?
|
399
|
+
|
396
400
|
attr_changes = value.unsaved_changes
|
397
401
|
next if attr_changes.empty?
|
398
402
|
|
@@ -427,7 +431,7 @@ module Jamf
|
|
427
431
|
end
|
428
432
|
|
429
433
|
# @return [Hash] The data to be sent to the API, as a Hash
|
430
|
-
# to be converted to JSON
|
434
|
+
# to be converted to JSON before sending to the JPAPI
|
431
435
|
#
|
432
436
|
def to_jamf
|
433
437
|
jamf_data = {}
|
@@ -438,6 +442,13 @@ module Jamf
|
|
438
442
|
jamf_data
|
439
443
|
end
|
440
444
|
|
445
|
+
# @return [String] the JSON to be sent to the API for this
|
446
|
+
# object
|
447
|
+
#
|
448
|
+
def to_json(*_args)
|
449
|
+
to_jamf.to_json
|
450
|
+
end
|
451
|
+
|
441
452
|
# Print the JSON version of the to_jamf outout
|
442
453
|
# mostly for debugging/troubleshooting
|
443
454
|
def pretty_jamf_json
|
@@ -537,7 +548,7 @@ module Jamf
|
|
537
548
|
parse_enum_value(api_value, attr_name, attr_def)
|
538
549
|
|
539
550
|
# a Class value
|
540
|
-
|
551
|
+
elsif attr_def[:class].instance_of? Class
|
541
552
|
attr_def[:class].new api_value
|
542
553
|
|
543
554
|
# a :j_id value. See the docs for OAPI_PROPERTIES in Jamf::OAPIObject
|
@@ -556,12 +567,13 @@ module Jamf
|
|
556
567
|
# @return (see parse_single_init_value)
|
557
568
|
#
|
558
569
|
def parse_enum_value(api_value, attr_name, attr_def)
|
559
|
-
Jamf::Validate.in_enum api_value, enum: attr_def[:enum],
|
570
|
+
Jamf::Validate.in_enum api_value, enum: attr_def[:enum],
|
571
|
+
msg: "#{api_value} is not in the allowed values for attribute #{attr_name}. Must be one of: #{attr_def[:enum].join ', '}"
|
560
572
|
end
|
561
573
|
|
562
574
|
# call to_jamf on a single value if it knows that method
|
563
575
|
#
|
564
|
-
def single_to_jamf(raw_value,
|
576
|
+
def single_to_jamf(raw_value, _attr_def)
|
565
577
|
raw_value.respond_to?(:to_jamf) ? raw_value.to_jamf : raw_value
|
566
578
|
end
|
567
579
|
|
@@ -0,0 +1,178 @@
|
|
1
|
+
# Copyright 2022 Pixar
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
4
|
+
# with the following modification; you may not use this file except in
|
5
|
+
# compliance with the Apache License and the following modification to it:
|
6
|
+
# Section 6. Trademarks. is deleted and replaced with:
|
7
|
+
#
|
8
|
+
# 6. Trademarks. This License does not grant permission to use the trade
|
9
|
+
# names, trademarks, service marks, or product names of the Licensor
|
10
|
+
# and its affiliates, except as required to comply with Section 4(c) of
|
11
|
+
# the License and to reproduce the content of the NOTICE file.
|
12
|
+
#
|
13
|
+
# You may obtain a copy of the Apache License at
|
14
|
+
#
|
15
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
16
|
+
#
|
17
|
+
# Unless required by applicable law or agreed to in writing, software
|
18
|
+
# distributed under the Apache License with the above modification is
|
19
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
20
|
+
# KIND, either express or implied. See the Apache License for the specific
|
21
|
+
# language governing permissions and limitations under the Apache License.
|
22
|
+
#
|
23
|
+
#
|
24
|
+
|
25
|
+
module Jamf
|
26
|
+
|
27
|
+
# This module should be mixed in to Jamf::Computer and Jamf::ComputerGroup
|
28
|
+
#
|
29
|
+
# It provides access to the macos-managed-software-updates JPAPI resource for
|
30
|
+
# managed OS update commands to managed macs running Big Sur or higher.
|
31
|
+
#
|
32
|
+
module MacOSManagedUpdates
|
33
|
+
|
34
|
+
# when this module is included, also extend our Class Methods
|
35
|
+
def self.included(includer)
|
36
|
+
Jamf.load_msg "--> #{includer} is including Jamf::MacOSManagedUpdates"
|
37
|
+
includer.extend(ClassMethods)
|
38
|
+
end
|
39
|
+
|
40
|
+
# These resources in the Jamf Pro API can be used to send Managed macOS
|
41
|
+
# updates to clients running Big Sur or higher
|
42
|
+
MANAGED_SW_UPDATES_RSRC = 'v1/macos-managed-software-updates'
|
43
|
+
|
44
|
+
# GETting this resource provides a list of available OS versions
|
45
|
+
MANAGED_SW_UPDATES_AVAILABLE_VERSIONS_RSRC = "#{MANAGED_SW_UPDATES_RSRC}/available-updates"
|
46
|
+
|
47
|
+
# POSTing JSON data to this resource will send the MDM commands to install os updates
|
48
|
+
# For details about the data to send, see
|
49
|
+
# https://developer.jamf.com/jamf-pro/reference/post_v1-macos-managed-software-updates-send-updates
|
50
|
+
MANAGED_SW_UPDATES_SEND_UPDATES_RSRC = "#{MANAGED_SW_UPDATES_RSRC}/send-updates"
|
51
|
+
|
52
|
+
# These are the options available in Jamf::OAPISchemas::MacOsManagedSoftwareUpdate::UPDATE_ACTION_OPTIONS
|
53
|
+
DOWNLOAD_AND_INSTALL = 'DOWNLOAD_AND_INSTALL'
|
54
|
+
DOWNLOAD_ONLY = 'DOWNLOAD_ONLY'
|
55
|
+
|
56
|
+
# Class Methods
|
57
|
+
#####################################
|
58
|
+
module ClassMethods
|
59
|
+
|
60
|
+
# when this module is included, also extend our Class Methods
|
61
|
+
def self.extended(extender)
|
62
|
+
Jamf.load_msg "--> #{extender} is extending Jamf::MacOSManagedUpdates::ClassMethods"
|
63
|
+
end
|
64
|
+
|
65
|
+
# get the list of available OS versions
|
66
|
+
#
|
67
|
+
# @return [Array<String>]
|
68
|
+
###################
|
69
|
+
def available_os_updates(cnx: Jamf.cnx)
|
70
|
+
data = cnx.jp_get(MANAGED_SW_UPDATES_AVAILABLE_VERSIONS_RSRC)
|
71
|
+
Jamf::OAPISchemas::AvailableUpdates.new(data).availableUpdates
|
72
|
+
end
|
73
|
+
|
74
|
+
# Send the os update command to target Computers or a ComputerGroup
|
75
|
+
#
|
76
|
+
# @param updateAction [String] Required. 'DOWNLOAD_AND_INSTALL' or 'DOWNLOAD_ONLY'
|
77
|
+
#
|
78
|
+
# @param deviceIds [String, Integer, Array<String, Integer>] Identifiers for the
|
79
|
+
# computer targets. Required if no groupId is given.
|
80
|
+
#
|
81
|
+
# @param groupId [String, Integer] Identifier for the computer group target.
|
82
|
+
# Requied if no deviceIDs are given.
|
83
|
+
#
|
84
|
+
# @param maxDeferrals [Integer] Allow users to defer the update the provided number
|
85
|
+
# of times before macOS forces the update. If a value is provided, the Software
|
86
|
+
# Update will use the InstallLater install action. MaxDeferral is ignored if using the
|
87
|
+
# DOWNLOAD_ONLY updateAction.
|
88
|
+
#
|
89
|
+
# @param version [String] The OS version to install. If no value is provided, the
|
90
|
+
# version will default to latest version based on device eligibility.
|
91
|
+
#
|
92
|
+
# @param skipVersionVerification [Boolean] Should the specified version be installed
|
93
|
+
# even it it isn't applicable to this machine? If no value is provided, will default to false.
|
94
|
+
# If true, the specified version will be forced to complete DownloadAndInstall
|
95
|
+
# install action.
|
96
|
+
#
|
97
|
+
# @param applyMajorUpdate [Boolean] Available only when updating to the latest version
|
98
|
+
# based on device eligibility. Defaults to false. If false the calculated latest version
|
99
|
+
# will only include minor version updates. If a value is provided, the calculated latest
|
100
|
+
# version will include minor and major version updates.
|
101
|
+
#
|
102
|
+
# @param forceRestart [Boolean] Will default to false. Can only be true if updateAction
|
103
|
+
# is DOWNLOAD_AND_INSTALLn and the devices the command is sent to are on macOs 11 or higher.
|
104
|
+
# If true, the DownloadAndInstall action is performed, a restart will be forced.
|
105
|
+
# MaxDeferral will be ignored if true.
|
106
|
+
#
|
107
|
+
# @param cnx [Jamf::Connection] The API connection to use. Defaults to Jamf.cnx
|
108
|
+
#
|
109
|
+
# @return [Jamf::OAPISchemas::MacOsManagedSoftwareUpdateResponse]
|
110
|
+
########################
|
111
|
+
def send_managed_os_update(updateAction:, deviceIds: nil, groupId: nil, maxDeferrals: nil, version: nil, skipVersionVerification: false, applyMajorUpdate: false, forceRestart: false, cnx: Jamf.cnx)
|
112
|
+
if self == Jamf::Computer
|
113
|
+
raise ArgumentError, 'Must provide one or more deviceIds' unless deviceIds
|
114
|
+
elsif self == Jamf::ComputerGroup
|
115
|
+
raise ArgumentError, 'Must provide a groupId' unless groupId
|
116
|
+
else
|
117
|
+
raise Jamf::UnsupportedError, 'This method is only available for Jamf::Computer and Jamf::ComputerGroup'
|
118
|
+
end
|
119
|
+
|
120
|
+
if version
|
121
|
+
available_versions = available_os_updates
|
122
|
+
raise ArgumentError, "Invalid version, must be one of: #{available_versions.join ', '}" unless available_versions.include? version
|
123
|
+
end
|
124
|
+
|
125
|
+
if deviceIds
|
126
|
+
deviceIds = [deviceIds] unless deviceIds.is_a?(Array)
|
127
|
+
deviceIds.map! { |id| valid_id id }
|
128
|
+
end
|
129
|
+
groupId = valid_id groupId if groupId
|
130
|
+
|
131
|
+
data = {}
|
132
|
+
# ids in the JPAPI are string containing integers
|
133
|
+
data[:deviceIds] = deviceIds.map(&:to_s) if deviceIds
|
134
|
+
data[:groupId] = groupId.to_s if groupId
|
135
|
+
|
136
|
+
data[:maxDeferrals] = maxDeferrals if maxDeferrals
|
137
|
+
data[:version] = version if version
|
138
|
+
data[:skipVersionVerification] = skipVersionVerification if skipVersionVerification
|
139
|
+
data[:applyMajorUpdate] = applyMajorUpdate if applyMajorUpdate
|
140
|
+
data[:updateAction] = updateAction if updateAction
|
141
|
+
data[:forceRestart] = forceRestart if forceRestart
|
142
|
+
|
143
|
+
payload = Jamf::OAPISchemas::MacOsManagedSoftwareUpdate.new(data).to_json
|
144
|
+
|
145
|
+
result = cnx.jp_post MANAGED_SW_UPDATES_SEND_UPDATES_RSRC, payload
|
146
|
+
Jamf::OAPISchemas::MacOsManagedSoftwareUpdateResponse.new result
|
147
|
+
end
|
148
|
+
|
149
|
+
end # module ClassMethods
|
150
|
+
|
151
|
+
# Instance Methods
|
152
|
+
######################################
|
153
|
+
|
154
|
+
# Send a managed update command to an instance of Computer or ComputerGroup.
|
155
|
+
# This just calls the class method of the same name.
|
156
|
+
#
|
157
|
+
# @see MacOSManagedUpdates.send_managed_os_update
|
158
|
+
#
|
159
|
+
def send_managed_os_update(updateAction:, maxDeferrals: nil, version: nil, skipVersionVerification: false, applyMajorUpdate: false, forceRestart: false, cnx: Jamf.cnx)
|
160
|
+
deviceIds = is_a?(Jamf::Computer) ? @id : nil
|
161
|
+
groupId = is_a?(Jamf::Computer) ? nil : @id
|
162
|
+
|
163
|
+
self.class.send_managed_os_update(
|
164
|
+
deviceIds: deviceIds,
|
165
|
+
groupId: groupId,
|
166
|
+
maxDeferrals: maxDeferrals,
|
167
|
+
version: version,
|
168
|
+
skipVersionVerification: skipVersionVerification,
|
169
|
+
applyMajorUpdate: applyMajorUpdate,
|
170
|
+
forceRestart: forceRestart,
|
171
|
+
updateAction: updateAction,
|
172
|
+
cnx: @cnx
|
173
|
+
)
|
174
|
+
end
|
175
|
+
|
176
|
+
end # module MacOSManagedUpdates
|
177
|
+
|
178
|
+
end # module Jamf
|
@@ -139,6 +139,11 @@ module Jamf
|
|
139
139
|
# Is the given serialNumber assigned to any prestage, or to the
|
140
140
|
# given prestage if a prestage is specified?
|
141
141
|
#
|
142
|
+
# This uses .serials_by_prestage_id, the class-level scope path which
|
143
|
+
# gets a hash of all assigned SNS => the id of the prestage they are
|
144
|
+
# assigned to. The instance#assigned? method uses a different path
|
145
|
+
# which returnds more data in an OAPI object.
|
146
|
+
#
|
142
147
|
# NOTE: If a serial number isn't assigned to any prestage, it may really be
|
143
148
|
# unassigned or it may not exist in your ADE. To see if a SN exists in one
|
144
149
|
# of your Device Enrollment instances, use Jamf::DeviceEnrollment.include?
|
@@ -269,6 +274,8 @@ module Jamf
|
|
269
274
|
|
270
275
|
# The scope data for this prestage
|
271
276
|
#
|
277
|
+
# TODO: retain this caching?
|
278
|
+
#
|
272
279
|
# @param refresh[Boolean] reload fromthe API?
|
273
280
|
#
|
274
281
|
# @return [PrestageScope]
|
@@ -278,6 +285,8 @@ module Jamf
|
|
278
285
|
return @scope if @scope
|
279
286
|
|
280
287
|
@scope = INSTANCE_SCOPE_OBJECT.new @cnx.get(scope_path)
|
288
|
+
# TODO: is this the best way to deal with fetching a scope that
|
289
|
+
# is more updated than the rest of the object?
|
281
290
|
unless @scope.versionLock == @versionLock
|
282
291
|
raise Jamf::VersionLockError, "The #{self.class} '#{name}' has been modified since it was fetched. Please refetch and try again"
|
283
292
|
end
|
@@ -286,12 +295,18 @@ module Jamf
|
|
286
295
|
end
|
287
296
|
|
288
297
|
# @return [Array<String>] the serialnumbers assigned to this prestage
|
289
|
-
def assigned_sns
|
290
|
-
|
298
|
+
def assigned_sns(refresh: false)
|
299
|
+
return @assigned_sns if @assigned_sns
|
300
|
+
|
301
|
+
@assigned_sns = nil if refresh
|
302
|
+
@assigned_sns = scope.assignments.map(&:serialNumber)
|
291
303
|
end
|
292
304
|
|
293
305
|
# Is this SN assigned to this prestage?
|
294
306
|
#
|
307
|
+
# This method uses the instance's scope object, from a different API
|
308
|
+
# path than the class-level .assigned? method.
|
309
|
+
#
|
295
310
|
# @param sn[String] the sn to look for
|
296
311
|
#
|
297
312
|
# @return [Boolean]
|
@@ -336,11 +351,6 @@ module Jamf
|
|
336
351
|
@scope_path ||= "#{get_path}/#{SCOPE_PATH}"
|
337
352
|
end
|
338
353
|
|
339
|
-
def scope
|
340
|
-
data = @cnx.jp_get(scope_path)
|
341
|
-
INSTANCE_SCOPE_OBJECT.new **data
|
342
|
-
end
|
343
|
-
|
344
354
|
end # class
|
345
355
|
|
346
356
|
end # module
|
@@ -20,7 +20,6 @@
|
|
20
20
|
# KIND, either express or implied. See the Apache License for the specific
|
21
21
|
# language governing permissions and limitations under the Apache License.
|
22
22
|
#
|
23
|
-
#
|
24
23
|
|
25
24
|
|
26
25
|
module Jamf
|
@@ -36,7 +35,7 @@ module Jamf
|
|
36
35
|
#
|
37
36
|
#
|
38
37
|
# This class was automatically genereated from the api/schema
|
39
|
-
# URL path on a Jamf Pro server version 10.
|
38
|
+
# URL path on a Jamf Pro server version 10.40.0-t1657115323
|
40
39
|
#
|
41
40
|
# This class may be used directly, e.g instances of other classes may
|
42
41
|
# use instances of this class as one of their own properties/attributes.
|
@@ -58,7 +57,7 @@ module Jamf
|
|
58
57
|
# Endpoints and Privileges:
|
59
58
|
# API endpoints and HTTP operations that use this object
|
60
59
|
# model, and the Jamf Pro privileges needed to access them.
|
61
|
-
# - '/
|
60
|
+
# - '/v3/enrollment/access-groups:GET' needs permissions:
|
62
61
|
# - Read User-Initiated Enrollment
|
63
62
|
#
|
64
63
|
#
|
@@ -20,7 +20,6 @@
|
|
20
20
|
# KIND, either express or implied. See the Apache License for the specific
|
21
21
|
# language governing permissions and limitations under the Apache License.
|
22
22
|
#
|
23
|
-
#
|
24
23
|
|
25
24
|
|
26
25
|
module Jamf
|
@@ -36,7 +35,7 @@ module Jamf
|
|
36
35
|
#
|
37
36
|
#
|
38
37
|
# This class was automatically genereated from the api/schema
|
39
|
-
# URL path on a Jamf Pro server version 10.
|
38
|
+
# URL path on a Jamf Pro server version 10.40.0-t1657115323
|
40
39
|
#
|
41
40
|
# This class may be used directly, e.g instances of other classes may
|
42
41
|
# use instances of this class as one of their own properties/attributes.
|
@@ -20,7 +20,6 @@
|
|
20
20
|
# KIND, either express or implied. See the Apache License for the specific
|
21
21
|
# language governing permissions and limitations under the Apache License.
|
22
22
|
#
|
23
|
-
#
|
24
23
|
|
25
24
|
|
26
25
|
module Jamf
|
@@ -36,7 +35,7 @@ module Jamf
|
|
36
35
|
#
|
37
36
|
#
|
38
37
|
# This class was automatically genereated from the api/schema
|
39
|
-
# URL path on a Jamf Pro server version 10.
|
38
|
+
# URL path on a Jamf Pro server version 10.40.0-t1657115323
|
40
39
|
#
|
41
40
|
# This class may be used directly, e.g instances of other classes may
|
42
41
|
# use instances of this class as one of their own properties/attributes.
|