ruby-jss 4.1.1 → 4.2.0b2
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 +66 -1
- data/README.md +3 -3
- data/bin/cgrouper +1 -1
- data/bin/jamfHelperBackgrounder +1 -1
- data/bin/netseg-update +2 -2
- data/data/ruby-jss.conf.example +1 -1
- data/lib/jamf/api/classic/api_objects/account.rb +6 -7
- data/lib/jamf/api/classic/api_objects/advanced_computer_search.rb +1 -1
- data/lib/jamf/api/classic/api_objects/advanced_mobile_device_search.rb +2 -2
- data/lib/jamf/api/classic/api_objects/advanced_user_search.rb +2 -2
- data/lib/jamf/api/classic/api_objects/building.rb +6 -1
- data/lib/jamf/api/classic/api_objects/categorizable.rb +4 -1
- data/lib/jamf/api/classic/api_objects/category.rb +7 -2
- data/lib/jamf/api/classic/api_objects/computer.rb +1 -1
- data/lib/jamf/api/classic/api_objects/computer_extension_attribute.rb +1 -1
- data/lib/jamf/api/classic/api_objects/computer_group.rb +1 -3
- data/lib/jamf/api/classic/api_objects/computer_invitation.rb +2 -5
- data/lib/jamf/api/classic/api_objects/creatable.rb +1 -1
- data/lib/jamf/api/classic/api_objects/criteriable/criteria.rb +7 -3
- data/lib/jamf/api/classic/api_objects/criteriable/criterion.rb +3 -1
- data/lib/jamf/api/classic/api_objects/criteriable.rb +2 -2
- data/lib/jamf/api/classic/api_objects/department.rb +2 -2
- data/lib/jamf/api/classic/api_objects/distribution_point.rb +9 -8
- data/lib/jamf/api/classic/api_objects/ebook.rb +1 -3
- data/lib/jamf/api/classic/api_objects/extendable.rb +1 -1
- data/lib/jamf/api/classic/api_objects/ibeacon.rb +2 -4
- data/lib/jamf/api/classic/api_objects/icon.rb +161 -161
- data/lib/jamf/api/classic/api_objects/ldap_server.rb +1 -1
- data/lib/jamf/api/classic/api_objects/locatable.rb +3 -3
- data/lib/jamf/api/classic/api_objects/mac_application.rb +1 -2
- data/lib/jamf/api/classic/api_objects/management_history/audit_event.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/casper_imaging_log.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/casper_remote_log.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/computer_usage_log.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/ebook.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/hash_like.rb +1 -3
- data/lib/jamf/api/classic/api_objects/management_history/mac_app_store_app.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/mdm_command.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/mobile_device_app.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/policy_log.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/screen_sharing_log.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history/user_location_change.rb +1 -1
- data/lib/jamf/api/classic/api_objects/management_history.rb +14 -5
- data/lib/jamf/api/classic/api_objects/matchable.rb +6 -7
- data/lib/jamf/api/classic/api_objects/mdm.rb +1 -1
- data/lib/jamf/api/classic/api_objects/mobile_device.rb +1 -1
- data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +23 -2
- data/lib/jamf/api/classic/api_objects/mobile_device_configuration_profile.rb +1 -1
- data/lib/jamf/api/classic/api_objects/mobile_device_extension_attribute.rb +3 -3
- data/lib/jamf/api/classic/api_objects/mobile_device_group.rb +6 -7
- data/lib/jamf/api/classic/api_objects/netboot_server.rb +2 -5
- data/lib/jamf/api/classic/api_objects/network_segment.rb +7 -2
- data/lib/jamf/api/classic/api_objects/osx_configuration_profile.rb +3 -3
- data/lib/jamf/api/classic/api_objects/package.rb +37 -17
- data/lib/jamf/api/classic/api_objects/patch_external_source.rb +7 -2
- data/lib/jamf/api/classic/api_objects/patch_internal_source.rb +1 -1
- data/lib/jamf/api/classic/api_objects/patch_policy.rb +1 -1
- data/lib/jamf/api/classic/api_objects/patch_title/version.rb +1 -1
- data/lib/jamf/api/classic/api_objects/patch_title.rb +5 -2
- data/lib/jamf/api/classic/api_objects/peripheral.rb +35 -44
- data/lib/jamf/api/classic/api_objects/peripheral_type.rb +33 -39
- data/lib/jamf/api/classic/api_objects/policy.rb +1 -1
- data/lib/jamf/api/classic/api_objects/purchasable.rb +55 -47
- data/lib/jamf/api/classic/api_objects/removable_macaddr.rb +3 -4
- data/lib/jamf/api/classic/api_objects/restricted_software.rb +6 -2
- data/lib/jamf/api/classic/api_objects/scopable/scope.rb +16 -14
- data/lib/jamf/api/classic/api_objects/scopable.rb +1 -1
- data/lib/jamf/api/classic/api_objects/script.rb +18 -12
- data/lib/jamf/api/classic/api_objects/self_servable.rb +26 -8
- data/lib/jamf/api/classic/api_objects/sitable.rb +3 -1
- data/lib/jamf/api/classic/api_objects/site.rb +1 -2
- data/lib/jamf/api/classic/api_objects/software_update_server.rb +2 -4
- data/lib/jamf/api/classic/api_objects/updatable.rb +2 -1
- data/lib/jamf/api/classic/api_objects/uploadable.rb +1 -1
- data/lib/jamf/api/classic/api_objects/user.rb +25 -25
- data/lib/jamf/api/classic/api_objects/user_extension_attribute.rb +1 -1
- data/lib/jamf/api/classic/api_objects/user_group.rb +6 -8
- data/lib/jamf/api/classic/api_objects/vpp_account.rb +1 -1
- data/lib/jamf/api/classic/api_objects/vppable.rb +2 -2
- data/lib/jamf/api/classic/api_objects/web_hook.rb +12 -5
- data/lib/jamf/api/classic/base_classes/advanced_search.rb +6 -7
- data/lib/jamf/api/classic/base_classes/api_object.rb +10 -2
- data/lib/jamf/api/classic/base_classes/configuration_profile.rb +1 -1
- data/lib/jamf/api/classic/base_classes/extension_attribute.rb +2 -4
- data/lib/jamf/api/classic/base_classes/group.rb +5 -5
- data/lib/jamf/api/classic/base_classes/patch_source.rb +1 -1
- data/lib/jamf/api/classic/xml_workaround.rb +1 -1
- data/lib/jamf/api/connection/attributes.rb +1 -1
- data/lib/jamf/api/connection/cache.rb +1 -1
- data/lib/jamf/api/connection/classic_api.rb +1 -1
- data/lib/jamf/api/connection/connect.rb +1 -1
- data/lib/jamf/api/connection/constants.rb +1 -1
- data/lib/jamf/api/connection/default_connection.rb +1 -1
- data/lib/jamf/api/connection/jamf_pro_api.rb +29 -3
- data/lib/jamf/api/connection/jamf_pro_api_error.rb +5 -5
- data/lib/jamf/api/connection/token.rb +1 -1
- data/lib/jamf/api/connection.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +2 -6
- data/lib/jamf/api/jamf_pro/api_objects/api_integration.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +2 -2
- data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +1 -1
- data/lib/jamf/api/jamf_pro/api_objects/{jp_building.rb → j_building.rb} +5 -2
- data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +724 -0
- data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +1 -1
- data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +4 -4
- data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/change_log.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +1 -7
- data/lib/jamf/api/jamf_pro/mixins/computer_recovery_lock.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/filevault.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/filterable.rb +1 -3
- data/lib/jamf/api/jamf_pro/mixins/immutable.rb +2 -1
- data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +1 -2
- data/lib/jamf/api/jamf_pro/mixins/lockable.rb +2 -2
- data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/macos_redeploy_mgmt_framework.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/prestage.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/sortable.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/uncreatable.rb +1 -1
- data/lib/jamf/api/jamf_pro/mixins/undeletable.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_request.rb +7 -9
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_settings_response.rb +7 -9
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_request.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_response.rb +6 -8
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_integration_search_result.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_request.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_result.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v3.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +6 -8
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v3.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +1 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +1 -3
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +10 -12
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +2 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/o_auth_client_credentials.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/package.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/packages_search_results.rb +1 -1
- data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v3.rb +2 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +2 -6
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v3.rb +2 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +2 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +3 -7
- data/lib/jamf/api/jamf_pro/oapi_schemas.rb +1 -1
- data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +1 -1
- data/lib/jamf/api/jamf_pro/other_classes/ip_address.rb +2 -3
- data/lib/jamf/api/jamf_pro/other_classes/pager.rb +1 -1
- data/lib/jamf/api/jamf_pro/other_classes/timestamp.rb +1 -1
- data/lib/jamf/base_class.rb +1 -1
- data/lib/jamf/client/jamf_binary.rb +1 -1
- data/lib/jamf/client/jamf_helper.rb +1 -1
- data/lib/jamf/client/management_action.rb +1 -1
- data/lib/jamf/client.rb +5 -1
- data/lib/jamf/composer.rb +2 -1
- data/lib/jamf/configuration.rb +137 -138
- data/lib/jamf/constants.rb +1 -1
- data/lib/jamf/db_connection.rb +13 -19
- data/lib/jamf/deprecations/deprecated_api_connection_class.rb +1 -1
- data/lib/jamf/deprecations/deprecated_api_constant.rb +3 -1
- data/lib/jamf/deprecations/deprecated_config_constant.rb +3 -1
- data/lib/jamf/deprecations.rb +1 -1
- data/lib/jamf/exceptions.rb +2 -2
- data/lib/jamf/oapi_validate.rb +1 -1
- data/lib/jamf/ruby_extensions/array/predicates.rb +1 -1
- data/lib/jamf/ruby_extensions/array/utils.rb +1 -1
- data/lib/jamf/ruby_extensions/array.rb +1 -1
- data/lib/jamf/ruby_extensions/filetest/predicates.rb +1 -1
- data/lib/jamf/ruby_extensions/filetest.rb +1 -1
- data/lib/jamf/ruby_extensions/hash/utils.rb +2 -2
- data/lib/jamf/ruby_extensions/hash.rb +1 -1
- data/lib/jamf/ruby_extensions/ipaddr/utils.rb +11 -13
- data/lib/jamf/ruby_extensions/ipaddr.rb +1 -1
- data/lib/jamf/ruby_extensions/object/predicates.rb +1 -1
- data/lib/jamf/ruby_extensions/object.rb +1 -1
- data/lib/jamf/ruby_extensions/pathname/predicates.rb +1 -1
- data/lib/jamf/ruby_extensions/pathname/utils.rb +1 -1
- data/lib/jamf/ruby_extensions/pathname.rb +1 -1
- data/lib/jamf/ruby_extensions/string/conversions.rb +1 -1
- data/lib/jamf/ruby_extensions/string/predicates.rb +1 -1
- data/lib/jamf/ruby_extensions/string.rb +1 -1
- data/lib/jamf/ruby_extensions/time/utils.rb +2 -3
- data/lib/jamf/ruby_extensions/time.rb +1 -1
- data/lib/jamf/ruby_extensions.rb +1 -1
- data/lib/jamf/utility.rb +1 -1
- data/lib/jamf/validate.rb +1 -1
- data/lib/jamf/version.rb +2 -2
- data/lib/jamf/zeitwerk_config.rb +1 -1
- data/lib/jamf.rb +1 -1
- data/lib/jss-api.rb +1 -1
- data/lib/jss.rb +1 -1
- data/lib/ruby-jss.rb +1 -1
- data/test/bin/runtests +1 -1
- data/test/lib/jamf_test/APITest.rb +7 -6
- data/test/lib/jamf_test/advanced_search.rb +1 -2
- data/test/lib/jamf_test/auth.rb +1 -1
- data/test/lib/jamf_test/collection_tests.rb +3 -3
- data/test/lib/jamf_test/prestage_tests.rb +1 -1
- data/test/lib/jamf_test.rb +1 -1
- data/test/tests/advanced_computer_search.rb +1 -1
- data/test/tests/advanced_mobile_device_search.rb +1 -1
- data/test/tests/advanced_user_search.rb +1 -1
- data/test/tests/building.rb +1 -1
- data/test/tests/category.rb +1 -1
- data/test/tests/computer.rb +1 -1
- data/test/tests/computer_group.rb +1 -2
- data/test/tests/computer_prestage.rb +1 -1
- data/test/tests/department.rb +1 -1
- data/test/tests/device_enrollment.rb +4 -2
- data/test/tests/inventory_preload_record.rb +1 -1
- data/test/tests/jp_building.rb +1 -1
- data/test/tests/mobile_device.rb +1 -1
- data/test/tests/mobile_device_prestage.rb +1 -2
- data/test/tests/policy.rb +1 -1
- metadata +6 -541
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +0 -159
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_driven_user_enrollment_session_token_settings.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_search_type.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_user_interface_display_theme.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +0 -142
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v5.rb +0 -299
- data/lib/jamf/api/jamf_pro/oapi_schemas/activation_code.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_role_privileges.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_config_reinstall_code.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +0 -115
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +0 -104
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/assignment.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +0 -159
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +0 -159
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/available_os_updates.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +0 -156
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +0 -160
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +0 -152
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +0 -138
- data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +0 -150
- data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +0 -104
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +0 -146
- data/lib/jamf/api/jamf_pro/oapi_schemas/change_password.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +0 -168
- data/lib/jamf/api/jamf_pro/oapi_schemas/clear_restrictions_password_command.rb +0 -77
- data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +0 -134
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_distribution_point_upload_capability.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +0 -170
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +0 -103
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +0 -157
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +0 -154
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +0 -154
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_response.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/compliance_vendor_device_information.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +0 -151
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +0 -372
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +0 -120
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +0 -131
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +0 -143
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +0 -120
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +0 -175
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +0 -244
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_group.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +0 -264
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +0 -106
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +0 -81
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +0 -276
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +0 -177
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +0 -127
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +0 -196
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +0 -148
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +0 -194
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +0 -145
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +0 -129
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +0 -129
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +0 -99
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +0 -158
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +0 -109
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +0 -193
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +0 -81
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +0 -131
- data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +0 -109
- data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/credentials.rb +0 -129
- data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +0 -160
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_api_error.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_item.rb +0 -131
- data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/dashboard_setup_task.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/declarative_management_command.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +0 -129
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/details_v2.rb +0 -264
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +0 -128
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_information_command.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/dock_item.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/download_url.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +0 -111
- data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +0 -152
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +0 -137
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +0 -170
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +0 -141
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +0 -132
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +0 -106
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +0 -111
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +0 -121
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +0 -113
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +0 -116
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method_prestage.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +0 -346
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +0 -278
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v3.rb +0 -246
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v4.rb +0 -264
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_sso_config.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/erase_device_command.rb +0 -120
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +0 -133
- data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +0 -116
- data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_data.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_transfer_item.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +0 -104
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +0 -138
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +0 -106
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_connection.rb +0 -127
- data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_connection_update.rb +0 -114
- data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_keystore.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/gsx_test_response.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +0 -151
- data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +0 -194
- data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +0 -133
- data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +0 -103
- data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +0 -113
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device.rb +0 -680
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_list_mobile_device_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +0 -248
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +0 -129
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information_v2.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +0 -125
- data/lib/jamf/api/jamf_pro/oapi_schemas/jcds_properties.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_account_management_history.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_account_management_history_response.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_audit_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history.rb +0 -114
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_history_response.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_and_audits_v2.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_audits_results_v2.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_password_response_v2.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_pending_rotation_response.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_request_v2.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response.rb +0 -99
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_settings_response_v2.rb +0 -106
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_request_v2.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_response_v2.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_password_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_results_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/laps_user_v2.rb +0 -106
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +0 -99
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +0 -99
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +0 -126
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +0 -146
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +0 -146
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +0 -124
- data/lib/jamf/api/jamf_pro/oapi_schemas/log_out_user_command.rb +0 -77
- data/lib/jamf/api/jamf_pro/oapi_schemas/login_content.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/login_content_put.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +0 -171
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +0 -99
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +0 -169
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +0 -174
- data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +0 -109
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_base.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client_request.rb +0 -81
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_results.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +0 -114
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application_inventory_detail.rb +0 -123
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +0 -147
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +0 -295
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook_inventory_detail.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute.rb +0 -125
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_general.rb +0 -216
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_hardware.rb +0 -160
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory.rb +0 -136
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_inventory_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_general.rb +0 -191
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ios_inventory.rb +0 -134
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_lost_mode_location.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_network.rb +0 -180
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +0 -136
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_profile.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_provisioning_profiles.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_purchasing.rb +0 -157
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_response.rb +0 -74
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_section.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_security.rb +0 -178
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_service_subscriptions.rb +0 -173
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_shared_user.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_general.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_tv_os_inventory.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_and_location.rb +0 -142
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_user_profile.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +0 -160
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_watch_os_general.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_watch_os_inventory.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +0 -179
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +0 -147
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +0 -141
- data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_configuration.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_eligible_item.rb +0 -104
- data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_eligible_items_search_result.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/onboarding_item.rb +0 -140
- data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +0 -131
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policies.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_detail.rb +0 -190
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_details.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_list_view.rb +0 -142
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail.rb +0 -102
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_detail_action.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_eligible_retry_count.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_retry.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_v2.rb +0 -133
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_logs.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_v2_on_dashboard.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_base.rb +0 -163
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_definition_kill_app.rb +0 -81
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependencies.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_dependency.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_extension_attributes.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_configuration_patch.rb +0 -126
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definition.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_definitions.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_extension_attributes.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_packages.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report.rb +0 -130
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_software_title_report_search_result.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary.rb +0 -125
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_summary_version.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +0 -133
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +0 -97
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +0 -96
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +0 -126
- data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +0 -174
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +0 -174
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +0 -84
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +0 -109
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +0 -113
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +0 -141
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +0 -153
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration_request.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/return_to_service_configuration_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_app.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_job.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_jobs.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_summary.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/scheduler_trigger.rb +0 -95
- data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +0 -193
- data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +0 -130
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +0 -122
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +0 -113
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +0 -175
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item.rb +0 -145
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item_details.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_item_with_details.rb +0 -153
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_history_search_results.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/set_auto_admin_password_command.rb +0 -92
- data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +0 -166
- data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_compliance_feature_toggle.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/shut_down_device_command.rb +0 -77
- data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/site_object.rb +0 -150
- data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +0 -118
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_basic_credentials.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_connection_settings.rb +0 -113
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_graph_api_credentials.rb +0 -98
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_sender_settings.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server.rb +0 -158
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server_test.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/smtp_server_v2.rb +0 -127
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration_on_dashboard.rb +0 -82
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_failover_data.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +0 -128
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +0 -130
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +0 -103
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +0 -120
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +0 -93
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +0 -85
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings_v1.rb +0 -253
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings_v2.rb +0 -253
- data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +0 -197
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_group.rb +0 -94
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_assignment.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_group_summary.rb +0 -101
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +0 -105
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +0 -108
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +0 -122
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +0 -107
- data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +0 -141
- data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +0 -81
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +0 -137
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +0 -88
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +0 -193
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_preferences_settings.rb +0 -100
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_attributes.rb +0 -117
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +0 -112
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +0 -91
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +0 -148
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +0 -83
- data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +0 -90
- data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +0 -87
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +0 -154
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content_list.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +0 -184
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +0 -111
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +0 -114
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +0 -86
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +0 -127
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +0 -89
- data/lib/jamf/api/jamf_pro/oapi_schemas/watch_os_details_v2.rb +0 -201
- data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +0 -87
@@ -0,0 +1,724 @@
|
|
1
|
+
# Copyright 2025 Pixar
|
2
|
+
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
5
|
+
# with the following modification; you may not use this file except in
|
6
|
+
# compliance with the Apache License and the following modification to it:
|
7
|
+
# Section 6. Trademarks. is deleted and replaced with:
|
8
|
+
#
|
9
|
+
# 6. Trademarks. This License does not grant permission to use the trade
|
10
|
+
# names, trademarks, service marks, or product names of the Licensor
|
11
|
+
# and its affiliates, except as required to comply with Section 4(c) of
|
12
|
+
# the License and to reproduce the content of the NOTICE file.
|
13
|
+
#
|
14
|
+
# You may obtain a copy of the Apache License at
|
15
|
+
#
|
16
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
17
|
+
#
|
18
|
+
# Unless required by applicable law or agreed to in writing, software
|
19
|
+
# distributed under the Apache License with the above modification is
|
20
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
21
|
+
# KIND, either express or implied. See the Apache License for the specific
|
22
|
+
# language governing permissions and limitations under the Apache License.
|
23
|
+
#
|
24
|
+
#
|
25
|
+
|
26
|
+
# frozen_string_literal: true
|
27
|
+
|
28
|
+
# The main Module
|
29
|
+
module Jamf
|
30
|
+
|
31
|
+
# Classes
|
32
|
+
#####################################
|
33
|
+
|
34
|
+
# A Package in the Jamf Pro API
|
35
|
+
#
|
36
|
+
#################################
|
37
|
+
class JPackage < Jamf::OAPISchemas::Package
|
38
|
+
|
39
|
+
# Mix-Ins
|
40
|
+
#####################################
|
41
|
+
|
42
|
+
include Jamf::CollectionResource
|
43
|
+
extend Jamf::Filterable
|
44
|
+
include Jamf::ChangeLog
|
45
|
+
|
46
|
+
# Constants
|
47
|
+
#####################################
|
48
|
+
|
49
|
+
########### RELATED OAPI OBJECTS
|
50
|
+
# These objects should be OAPIObjects, NOT subclasses of them and
|
51
|
+
# not Collection or Singleton resources.
|
52
|
+
|
53
|
+
# The OAPI object class we get back from a 'list' query to get the
|
54
|
+
# whole collection, or a subset of it. It contains a :results key
|
55
|
+
# which is an array of data for objects of the parent class.
|
56
|
+
SEARCH_RESULT_OBJECT = Jamf::OAPISchemas::PackagesSearchResults
|
57
|
+
|
58
|
+
# The OAPI object class we send with a POST request to make a new member of
|
59
|
+
# the collection in Jamf. This is usually the same as the parent class.
|
60
|
+
POST_OBJECT = Jamf::OAPISchemas::Package
|
61
|
+
|
62
|
+
# The OAPI object class we send with a PUT request to change an object in
|
63
|
+
# Jamf by specifying all its values. Most updates happen this way,
|
64
|
+
# and this is usually the same as the parent class
|
65
|
+
PUT_OBJECT = Jamf::OAPISchemas::Package
|
66
|
+
|
67
|
+
# The OAPI object we send with a PATCH request to change an object in
|
68
|
+
# Jamf by replacing only some of its values. This is never the same as the
|
69
|
+
# parent class, and is usually used when most of the data about an
|
70
|
+
# object cannot be changed via the API.
|
71
|
+
# PATCH_OBJECT = Jamf::OAPISchemas::Building
|
72
|
+
|
73
|
+
############# API PATHS
|
74
|
+
# TODO: See if these paths can be auto-generated from the
|
75
|
+
# OAPI schema and baked into the parent class
|
76
|
+
|
77
|
+
# The path for GETting the list of all objects in the collection, possibly
|
78
|
+
# filtered, sorted, and/or paged
|
79
|
+
# REQUIRED for all collection resources
|
80
|
+
#
|
81
|
+
# GET_PATH, POST_PATH, PUT_PATH, PATCH_PATH, and DELETE_PATH are automatically
|
82
|
+
# assumed from the LIST_PATH if they follow the standards:
|
83
|
+
# - GET_PATH = "#{LIST_PATH}/id"
|
84
|
+
# - fetch an object from the collection
|
85
|
+
# - POST_PATH = LIST_PATH
|
86
|
+
# - create a new object in the collection
|
87
|
+
# - PUT_PATH = "#{LIST_PATH}/id"
|
88
|
+
# - update an object passing all its values back.
|
89
|
+
# Most objects use this or PATCH but not both
|
90
|
+
# - PATCH_PATH = "#{LIST_PATH}/id"
|
91
|
+
# - update an object passing some of its values back
|
92
|
+
# Most objects use this or PUT but not both
|
93
|
+
# - DELETE_PATH = "#{LIST_PATH}/id"
|
94
|
+
# - delete an object from the collection
|
95
|
+
#
|
96
|
+
# If those paths differ from the standards, the constants must be defined
|
97
|
+
# here
|
98
|
+
#
|
99
|
+
LIST_PATH = 'v1/packages'
|
100
|
+
|
101
|
+
# Identifiers not marked in the superclass's OAPI_PROPERTIES constant
|
102
|
+
# which usually only identifies ':id'
|
103
|
+
ALT_IDENTIFIERS = %i[packageName fileName].freeze
|
104
|
+
|
105
|
+
# Must define this when extending Filterable
|
106
|
+
FILTER_KEYS = %i[
|
107
|
+
id fileName packageName categoryId info notes manifestFileName cloudTransferStatus
|
108
|
+
].freeze
|
109
|
+
|
110
|
+
# the suffix for the REST resource for uploading a package
|
111
|
+
UPLOAD_ENDPOINT = 'upload'
|
112
|
+
|
113
|
+
# Defaults for some required values
|
114
|
+
############
|
115
|
+
|
116
|
+
DEFAULT_CATEGORY_ID = '-1'
|
117
|
+
DEFAULT_PRIORITY = 10
|
118
|
+
DEFAULT_FUT = false
|
119
|
+
DEFAULT_REBOOT_REQUIRED = false
|
120
|
+
DEFAULT_OS_INSTALL = false
|
121
|
+
DEFAULT_SUPPRESS_UPDATES = false
|
122
|
+
DEFAULT_SUPPRESS_FROM_DOCK = false
|
123
|
+
DEFAULT_SUPPRESS_EULA = false
|
124
|
+
DEFAULT_SUPPRESS_REGISTRATION = false
|
125
|
+
|
126
|
+
# The hashType value in the API or manifests for md5
|
127
|
+
CHECKSUM_HASH_TYPE_MD5 = 'MD5'
|
128
|
+
|
129
|
+
# The hashType value in the API for sha256 - IF it exists
|
130
|
+
CHECKSUM_HASH_TYPE_SHA256 = 'SHA_256'
|
131
|
+
|
132
|
+
# The hashType value in MDM deploy manifests for sha256
|
133
|
+
CHECKSUM_HASH_TYPE_SHA256_MDM_DEPLOY = 'SHA256'
|
134
|
+
|
135
|
+
# The hashType value in the API for sha512
|
136
|
+
CHECKSUM_HASH_TYPE_SHA512 = 'SHA_512'
|
137
|
+
|
138
|
+
# Mapping of the hash types to the maching Digest modules
|
139
|
+
# See {.calculate_checksum}
|
140
|
+
CHECKSUM_HASH_TYPES = {
|
141
|
+
CHECKSUM_HASH_TYPE_MD5 => Digest::MD5,
|
142
|
+
CHECKSUM_HASH_TYPE_SHA256 => Digest::SHA256,
|
143
|
+
CHECKSUM_HASH_TYPE_SHA512 => Digest::SHA512
|
144
|
+
}.freeze
|
145
|
+
|
146
|
+
DEFAULT_CHECKSUM_HASH_TYPE = CHECKSUM_HASH_TYPE_SHA512
|
147
|
+
|
148
|
+
# if no manifest filename is provided, this suffix will be appended to the
|
149
|
+
# fileName, with spaces converted to dashes.
|
150
|
+
MANIFEST_FILENAME_DEFAULT_SUFFIX = '-manifest.plist'
|
151
|
+
|
152
|
+
# Not doing chunking by default in generated manifests
|
153
|
+
MANIFEST_CHUNK_SIZE = 1024 * 1024 * 10 # 10MB
|
154
|
+
|
155
|
+
MANIFEST_PLIST_TEMPLATE = {
|
156
|
+
items: [
|
157
|
+
{
|
158
|
+
assets: [
|
159
|
+
{
|
160
|
+
'kind' => 'software-package',
|
161
|
+
'sha256s' => [],
|
162
|
+
'url' => 'url-goes-here'
|
163
|
+
} # end hash
|
164
|
+
], # end assets array,
|
165
|
+
metadata: {
|
166
|
+
'kind' => 'software',
|
167
|
+
'bundle-identifier' => 'com.example.pkg',
|
168
|
+
'bundle-version' => '0',
|
169
|
+
'title' => 'title',
|
170
|
+
'sizeInBytes' => 1
|
171
|
+
} # end metadata
|
172
|
+
} # end hash
|
173
|
+
] # end items array
|
174
|
+
}.freeze
|
175
|
+
|
176
|
+
# The endpoint for deploying a package via MDM
|
177
|
+
# see https://developer.jamf.com/jamf-pro/reference/post_v1-deploy-package
|
178
|
+
DEPLOYMENT_ENDPOINT = '/v1/deploy-package?verbose=true'
|
179
|
+
|
180
|
+
# Class Methods
|
181
|
+
#####################################
|
182
|
+
|
183
|
+
# Given a file path, and hash type, generate the checksum for an arbitrary
|
184
|
+
# file.
|
185
|
+
#
|
186
|
+
# @param filepath [String, Pathname] The file to checksum
|
187
|
+
#
|
188
|
+
# @param type [String ] One of the keys of CHECKSUM_HASH_TYPES, either
|
189
|
+
# CHECKSUM_HASH_TYPE_MD5 or CHECKSUM_HASH_TYPE_SHA512
|
190
|
+
#
|
191
|
+
# @return [String] The checksum of the file
|
192
|
+
#
|
193
|
+
def self.calculate_checksum(filepath, type = DEFAULT_CHECKSUM_HASH_TYPE)
|
194
|
+
raise ArgumentError, 'Unknown checksum hash type' unless CHECKSUM_HASH_TYPES.key? type
|
195
|
+
|
196
|
+
CHECKSUM_HASH_TYPES[type].file(filepath).hexdigest
|
197
|
+
end
|
198
|
+
|
199
|
+
# Setter for a default base URL for package manifests.
|
200
|
+
# Manifests are required for packages deployed via enrollment prestages
|
201
|
+
# or via the InstallEnterpriseApplication MDM command.
|
202
|
+
#
|
203
|
+
# When generating a manifest for a package, you must provide a URL
|
204
|
+
# from which the package can be downloaded. This is usually from your
|
205
|
+
# Cloud Distribution Point, but can be some other https web server.
|
206
|
+
#
|
207
|
+
# If Jamf.config.package_manifest_base_url is defined (see {Jamf::Configuration})
|
208
|
+
# then that will be used as the default. Otherwise, or if you wish to override
|
209
|
+
# the config, the value set here will be used as the default for generating manifests
|
210
|
+
# for all Jamf::JPackage objects in this ruby session.
|
211
|
+
#
|
212
|
+
# Setting this in the config or here means you don't have to provide a base URL
|
213
|
+
# each time when calling #generate_manifest, however you can still provide one
|
214
|
+
# at that time to override any default.
|
215
|
+
#
|
216
|
+
# Normally, the package's fileName is appended to this URL to generate the full
|
217
|
+
# download URL. E.g. for a package with a fileName 'my-app.pkg', with the base URL of
|
218
|
+
# 'https://my-cdp.myorg.com', the download URL in the manifest would be
|
219
|
+
# 'https://my-cdp.myorg.com/my-app.pkg'
|
220
|
+
#
|
221
|
+
# See {#generate_manifest} for more info.
|
222
|
+
#
|
223
|
+
# @param url[String] the default base URL for building manifests, overrides any
|
224
|
+
# value in the config.
|
225
|
+
#
|
226
|
+
# @return [void]
|
227
|
+
############
|
228
|
+
def self.default_manifest_base_url=(url)
|
229
|
+
@default_manifest_url = url.to_s
|
230
|
+
end
|
231
|
+
|
232
|
+
# Getter for the default base URL for package manifests.
|
233
|
+
# This will be the one set for the class for this ruby session, or the one set in the
|
234
|
+
# Jamf.config.package_manifest_base_url
|
235
|
+
# seealso {JPackage.default_manifest_base_url=}
|
236
|
+
#
|
237
|
+
# @return [String] the default base URL for building manifests
|
238
|
+
############
|
239
|
+
def self.default_manifest_base_url
|
240
|
+
@default_manifest_url || Jamf.config.package_manifest_base_url
|
241
|
+
end
|
242
|
+
|
243
|
+
# Attributes
|
244
|
+
#####################################
|
245
|
+
|
246
|
+
# Checksums
|
247
|
+
# Packages in Jamf Pro can have a checksum in either MD5 or SHA512, or possibly
|
248
|
+
# SHA256 - none of our 1500 pkgs have 256, but given the existence of the sha256
|
249
|
+
# attribute in the API data, I'm assuming it existed at some point, and behaves like
|
250
|
+
# md5 (read on)
|
251
|
+
#
|
252
|
+
# In all cases, the hashType indicates the type of checksum, as a string, one of
|
253
|
+
# 'MD5', 'SHA_256', or 'SHA_512'.
|
254
|
+
#
|
255
|
+
# In the case of md5 and sha256, the actually digest value (the checksum) is in the
|
256
|
+
# 'md5' or 'sha256' attribute. In the case of sha512, the digest is in the 'hashValue'
|
257
|
+
# attribute.
|
258
|
+
# In anycase, the digest value will be stored in the checksum attribute of this class
|
259
|
+
#
|
260
|
+
# @return [String] the checksum of the package, either an MD5, SHA256, or SHA512
|
261
|
+
# digest of the package file.
|
262
|
+
attr_reader :checksum
|
263
|
+
|
264
|
+
# The response body of the last upload of this package, with a timestamp added.
|
265
|
+
# Looks like:
|
266
|
+
# {
|
267
|
+
# :id=>"10392",
|
268
|
+
# :href=>"https://casper-int.pixar.com:8443/api/v1/packages/10392/upload/10392"
|
269
|
+
# :time=>2025-09-01 12:00:00 -0700
|
270
|
+
# }
|
271
|
+
# see #upload
|
272
|
+
# @return [Hash] the response body of the last upload of this package
|
273
|
+
attr_reader :upload_response
|
274
|
+
|
275
|
+
# The response body of the last mdm-deploy of this package. see #deploy_via_mdm
|
276
|
+
#
|
277
|
+
# {
|
278
|
+
# "queuedCommands": [
|
279
|
+
# {
|
280
|
+
# "device": 1,
|
281
|
+
# "commandUuid": "aaaaaaaa-3f1e-4b3a-a5b3-ca0cd7430937"
|
282
|
+
# }
|
283
|
+
# ],
|
284
|
+
# "errors": [
|
285
|
+
# {
|
286
|
+
# "device": 2,
|
287
|
+
# "group": 3,
|
288
|
+
# "reason": "Device does not support the InstallEnterpriseApplication command"
|
289
|
+
# }
|
290
|
+
# ]
|
291
|
+
# }
|
292
|
+
#
|
293
|
+
# @return [Hash] the response body of the last mdm-deploy of this package
|
294
|
+
attr_reader :deploy_response
|
295
|
+
|
296
|
+
# Constructor
|
297
|
+
#####################################
|
298
|
+
|
299
|
+
# Make an instance. Data comes from the API
|
300
|
+
#
|
301
|
+
# @param data[Hash] the data for constructing a new object.
|
302
|
+
##############################
|
303
|
+
def initialize(**data)
|
304
|
+
super
|
305
|
+
|
306
|
+
# set defaults for some required values
|
307
|
+
#
|
308
|
+
# check for explicit nils, since if these are boolean false
|
309
|
+
# we don't want to change them.
|
310
|
+
|
311
|
+
self.categoryId = DEFAULT_CATEGORY_ID if categoryId.nil?
|
312
|
+
self.priority = DEFAULT_PRIORITY if priority.nil?
|
313
|
+
self.fillUserTemplate = DEFAULT_FUT if fillUserTemplate.nil?
|
314
|
+
self.rebootRequired = DEFAULT_REBOOT_REQUIRED if rebootRequired.nil?
|
315
|
+
self.osInstall = DEFAULT_OS_INSTALL if osInstall.nil?
|
316
|
+
self.suppressUpdates = DEFAULT_SUPPRESS_UPDATES if suppressUpdates.nil?
|
317
|
+
self.suppressFromDock = DEFAULT_SUPPRESS_FROM_DOCK if suppressFromDock.nil?
|
318
|
+
self.suppressEula = DEFAULT_SUPPRESS_EULA if suppressEula.nil?
|
319
|
+
self.suppressRegistration = DEFAULT_SUPPRESS_REGISTRATION if suppressRegistration.nil?
|
320
|
+
|
321
|
+
@checksum =
|
322
|
+
case hashType
|
323
|
+
when CHECKSUM_HASH_TYPE_MD5
|
324
|
+
md5 || hashValue
|
325
|
+
when CHECKSUM_HASH_TYPE_SHA256
|
326
|
+
sha256 || hashValue
|
327
|
+
when CHECKSUM_HASH_TYPE_SHA512
|
328
|
+
hashValue
|
329
|
+
end
|
330
|
+
end # init
|
331
|
+
|
332
|
+
# Public Instance Methods
|
333
|
+
#####################################
|
334
|
+
|
335
|
+
# @return [Pathname] the local receipt when this pkg is installed by a policy
|
336
|
+
def receipt
|
337
|
+
# the receipt is the filename with any .zip extension removed.
|
338
|
+
fileName ? (Jamf::Client::RECEIPTS_FOLDER + fileName.to_s.sub(/.zip$/, '')) : nil
|
339
|
+
end
|
340
|
+
|
341
|
+
# Recalculate the checksum of the package file from a given filepath, and update the
|
342
|
+
# object's checksum and hashValue attributes.
|
343
|
+
#
|
344
|
+
# You will need to call #save on the object to save the new checksum to the server.
|
345
|
+
#
|
346
|
+
# New checksums are always SHA512
|
347
|
+
#
|
348
|
+
# @param filepath [String, Pathname] the path to a local copy of the package file
|
349
|
+
#
|
350
|
+
# @return [String] The new checksum of the package file
|
351
|
+
##############################
|
352
|
+
def recalculate_checksum(filepath)
|
353
|
+
# update the checksum
|
354
|
+
@checksum = self.class.calculate_checksum(filepath, DEFAULT_CHECKSUM_HASH_TYPE)
|
355
|
+
self.hashType = DEFAULT_CHECKSUM_HASH_TYPE
|
356
|
+
self.sha256 = nil
|
357
|
+
self.md5 = nil
|
358
|
+
self.hashValue = @checksum
|
359
|
+
end
|
360
|
+
|
361
|
+
# @param filepath [String, Pathname] the path to a local copy of the package file
|
362
|
+
# @return [Boolean] Does the checksum of the file match the checksum in the object?
|
363
|
+
# nil if there is no checksum in the object.
|
364
|
+
##############################
|
365
|
+
def checksum_valid?(filepath)
|
366
|
+
return unless checksum
|
367
|
+
|
368
|
+
self.class.calculate_checksum(filepath, hashType) == checksum
|
369
|
+
end
|
370
|
+
|
371
|
+
# @return [String] The manifest file name or a default if none is set
|
372
|
+
##############################
|
373
|
+
def default_manifestFileName
|
374
|
+
"#{fileName.gsub(' ', '-')}#{MANIFEST_FILENAME_DEFAULT_SUFFIX}"
|
375
|
+
end
|
376
|
+
|
377
|
+
# Set the manifest from a local file or XML plist string.
|
378
|
+
# If from a file, update the manifestFileName attribute to use the filename
|
379
|
+
#
|
380
|
+
# To generate a basic manifest plist for this package, use #generate_manifest
|
381
|
+
#
|
382
|
+
# When using this method, if you want to be able to deploy the pkg using
|
383
|
+
# #deploy_via_mdm, the manifest MUST include a metadata dictionary
|
384
|
+
# with at least the following keys
|
385
|
+
# - 'bundle-identifier' that matches the bundle identifier of the pkg
|
386
|
+
# - 'bundle-version' = the version of the pkg
|
387
|
+
# - 'kind' = 'software'
|
388
|
+
# - 'title' = the name of the pkg or what it installs
|
389
|
+
# - 'sizeInBytes' = the size of the pkg in bytes
|
390
|
+
# optional keys include bundle-version, and subtitle
|
391
|
+
#
|
392
|
+
# @param manifest [String, Pathname] the manifest plist data or path to a local file
|
393
|
+
#
|
394
|
+
# @return [void]
|
395
|
+
##############################
|
396
|
+
def manifest=(manifest)
|
397
|
+
if manifest.is_a? Pathname
|
398
|
+
@manifest = manifest.read
|
399
|
+
self.manifestFileName = manifest.basename.to_s
|
400
|
+
else
|
401
|
+
@manifest = manifest
|
402
|
+
end
|
403
|
+
end
|
404
|
+
|
405
|
+
# return the manifest as a ruby hash converted from the plist
|
406
|
+
# IMPORTANT: all hash keys are strings, not symbols
|
407
|
+
#
|
408
|
+
# @return [Hash] the manifest as a ruby hash
|
409
|
+
##############################
|
410
|
+
def manifest_hash
|
411
|
+
return if manifest.to_s.empty?
|
412
|
+
|
413
|
+
CFPropertyList.native_types(CFPropertyList::List.new(data: manifest).value)
|
414
|
+
end
|
415
|
+
|
416
|
+
# Generate a manifest plist (xml) for this package, update the #manifest attribute,
|
417
|
+
# and assign an appropriate #manifestFileName.
|
418
|
+
#
|
419
|
+
# Afterwards, you will need to call #save on the object to save the new values to
|
420
|
+
# the server.
|
421
|
+
#
|
422
|
+
# The download URL used in the manifest will be the default for the class
|
423
|
+
# (if you have set one) or the URL passed in, with the fileName appended. The
|
424
|
+
# class default may come from the ruby-jss config, or be set directly on the class.
|
425
|
+
#
|
426
|
+
# Unless set explicitly afterward using #manifestFileName= the manifest filename
|
427
|
+
# will be the fileName of the Package object, with spaces converted to dashes,
|
428
|
+
# followed by MANIFEST_FILENAME_DEFAULT_SUFFIX.
|
429
|
+
# e.g. my-app.pkg-manifest.plist
|
430
|
+
#
|
431
|
+
# You can also generate the manifest when uploading the pkg file by providing
|
432
|
+
# appropriate options to #upload,
|
433
|
+
# in which case the new values will be saved to the Jamf Pro server automatically.
|
434
|
+
#
|
435
|
+
# @param filepath [String, Pathname] the path to a local copy of the package file for which
|
436
|
+
# this manifest is being generated. This MUST match the one uploaded to the server, as it is
|
437
|
+
# used to calculate the checksums in the manifest.
|
438
|
+
#
|
439
|
+
# @param opts [Hash] a hash of keyword arguments
|
440
|
+
#
|
441
|
+
# @options opts url [String] the URL where the package will be downloaded from,
|
442
|
+
# defaults to the class default
|
443
|
+
#
|
444
|
+
# @option opts append_filename_to_url [Boolean] should the fileName be appended to the URL,
|
445
|
+
# defaults to true.
|
446
|
+
# If false, the url given must be the full URL to download the individual package file.
|
447
|
+
#
|
448
|
+
# @option opts chunk_size [Integer] the size of each chunk in the manifest, in bytes.
|
449
|
+
# If omitted, the whole file will be checksummed at once and downloads will not be chunked.
|
450
|
+
# A common chunk size is 10MB, or 1024 * 1024 * 10.
|
451
|
+
# NOTE: Not all distribution points support chunked downloads.
|
452
|
+
#
|
453
|
+
# @option opts bundle_identifier [String, Symbol] the bundle identifier of the package,
|
454
|
+
# Should match that in the .pkg itself, but defaults to 'xolo.fileName'
|
455
|
+
#
|
456
|
+
# @option opts bundle_version [String, Symbol] the version of the package.
|
457
|
+
# Defaults to '0'
|
458
|
+
#
|
459
|
+
# @option opts subtitle [String] a subtitle for the package, optional
|
460
|
+
#
|
461
|
+
# @option opts full_size_image_url [String] optional, used during MDM deployment
|
462
|
+
#
|
463
|
+
# @option opts display_image_url [String] optional, used during MDM deployment
|
464
|
+
#
|
465
|
+
# @return [void]
|
466
|
+
##############################
|
467
|
+
def generate_manifest(filepath, **opts)
|
468
|
+
# make sure the file exists
|
469
|
+
file = Pathname.new(filepath)
|
470
|
+
validate_local_file(file)
|
471
|
+
|
472
|
+
filesize = file.size
|
473
|
+
url = parse_manifest_url opts[:url], append_filename: opts[:append_filename_to_url]
|
474
|
+
|
475
|
+
# make the manifest
|
476
|
+
new_manifest = MANIFEST_PLIST_TEMPLATE.dup
|
477
|
+
new_manifest[:items][0][:assets][0]['url'] = url.to_s
|
478
|
+
|
479
|
+
# get the checksum(s)
|
480
|
+
calculate_manifest_checksums(file, new_manifest, chunk_size: opts[:chunk_size])
|
481
|
+
|
482
|
+
append_manifest_image('full-size-image', opts[:full_size_image_url], new_manifest) if opts[:full_size_image_url]
|
483
|
+
|
484
|
+
append_manifest_image('display-image', opts[:display_image_url], new_manifest) if opts[:display_image_url]
|
485
|
+
|
486
|
+
new_manifest[:items][0][:metadata]['title'] = packageName
|
487
|
+
new_manifest[:items][0][:metadata]['subtitle'] = opts[:subtitle] if opts[:subtitle]
|
488
|
+
new_manifest[:items][0][:metadata]['sizeInBytes'] = filesize
|
489
|
+
new_manifest[:items][0][:metadata]['bundle-identifier'] = opts[:bundle_identifier] || "xolo.#{fileName}"
|
490
|
+
new_manifest[:items][0][:metadata]['bundle-version'] = opts[:bundle_version] || '0'
|
491
|
+
|
492
|
+
# TESTING - store the whole-file checksum in
|
493
|
+
# manifest[:items][0][:metadata]['sha256-whole']. taking it from
|
494
|
+
# manifest[:items][0][:assets][0]['sha256s'][0], if available, or generate it if needed
|
495
|
+
# It is used by the deploy_via_mdm method.
|
496
|
+
# The test will be to deploy this pkg via MDM in a prestage, and see
|
497
|
+
# if the 'unknown' hash key 'sha256-whole' causes a problem installing.
|
498
|
+
new_manifest[:items][0][:metadata]['sha256-whole'] =
|
499
|
+
if new_manifest[:items][0][:assets][0]['sha256s'].size == 1
|
500
|
+
new_manifest[:items][0][:assets][0]['sha256s'][0]
|
501
|
+
else
|
502
|
+
new_manifest[:items][0][:assets][0]['sha256s'] = [Digest::SHA256.hexdigest(file.read)]
|
503
|
+
end
|
504
|
+
|
505
|
+
plist = CFPropertyList::List.new
|
506
|
+
plist.value = CFPropertyList.guess(new_manifest)
|
507
|
+
self.manifest = plist.to_str CFPropertyList::List::FORMAT_XML, formatted: true
|
508
|
+
self.manifestFileName = default_manifestFileName
|
509
|
+
end
|
510
|
+
|
511
|
+
# validate a local file path, raising an error if it's not valid
|
512
|
+
#
|
513
|
+
# @param filepath [Pathname] the path to a local copy of the package file for which
|
514
|
+
# @return [void]
|
515
|
+
##############################
|
516
|
+
def validate_local_file(file)
|
517
|
+
raise ArgumentError, 'No locally-readable file provided' unless file.readable?
|
518
|
+
end
|
519
|
+
private :validate_local_file
|
520
|
+
|
521
|
+
# Figure out the url to use for a manifest, based on the class default or
|
522
|
+
# one provided in the options.
|
523
|
+
# Raises an error if no URL is provided directly or via the class default, or if
|
524
|
+
# the url is not valid.
|
525
|
+
#
|
526
|
+
# @param given_url [String] the URL to use, if provided
|
527
|
+
#
|
528
|
+
# @return [URI] the URI object for the URL
|
529
|
+
##############################
|
530
|
+
def parse_manifest_url(given_url = nil, append_filename: true)
|
531
|
+
url = given_url || self.class.default_manifest_base_url
|
532
|
+
raise ArgumentError, 'No URL provided for manifest' unless url
|
533
|
+
|
534
|
+
# append the filename to the URL if needed
|
535
|
+
url = "#{url.to_s.chomp('/')}/#{CGI.escape fileName}" unless append_filename == false
|
536
|
+
|
537
|
+
# check validity and return
|
538
|
+
URI.parse url
|
539
|
+
end
|
540
|
+
private :parse_manifest_url
|
541
|
+
|
542
|
+
# calculate the manifest checksum[s] for a given file, and store in the manifest data
|
543
|
+
#
|
544
|
+
# @param file [Pathname] the path to the file to checksum
|
545
|
+
# @param chunk_size [Integer] the size of each chunk in the manifest, in bytes.
|
546
|
+
# if omitted, the whole file will be checksummed at once and downloads will not be chunked.
|
547
|
+
# A common chunk size is 10MB, or 1024 * 1024 * 10
|
548
|
+
# @param new_manifest [Hash] the manifest data to update with the checksums
|
549
|
+
#
|
550
|
+
# @return [void]
|
551
|
+
##############################
|
552
|
+
def calculate_manifest_checksums(file, new_manifest, chunk_size: nil)
|
553
|
+
# are we chunking the download?
|
554
|
+
if chunk_size.is_a? Integer
|
555
|
+
new_manifest[:items][0][:assets][0]['sha256-size'] = chunk_size
|
556
|
+
file.open do |f|
|
557
|
+
while chunk = f.read(chunk_size) # only load chunk_size bytes at a time
|
558
|
+
new_manifest[:items][0][:assets][0]['sha256s'] << Digest::SHA256.hexdigest(chunk)
|
559
|
+
end
|
560
|
+
end
|
561
|
+
|
562
|
+
# not chunking, use the file filesize
|
563
|
+
else
|
564
|
+
new_manifest[:items][0][:assets][0]['sha256-size'] = file.size
|
565
|
+
new_manifest[:items][0][:assets][0]['sha256s'] = [Digest::SHA256.hexdigest(file.read)]
|
566
|
+
end
|
567
|
+
end
|
568
|
+
private :calculate_manifest_checksums
|
569
|
+
|
570
|
+
# Append an image URL to the manifest, validating it as a URI
|
571
|
+
#
|
572
|
+
# @param asset_kind [String] the kind of asset, either 'full-size-image' or 'display-image'
|
573
|
+
# @param url [String] the URL to append
|
574
|
+
# @param new_manifest [Hash] the manifest data to update with the image URL
|
575
|
+
#
|
576
|
+
# @return [void]
|
577
|
+
##############################
|
578
|
+
def append_manifest_image(asset_kind, url, new_manifest)
|
579
|
+
new_manifest[:items][0][:assets] << {
|
580
|
+
'kind' => asset_kind,
|
581
|
+
'url' => URI.parse(url).to_s
|
582
|
+
}
|
583
|
+
end
|
584
|
+
private :append_manifest_image
|
585
|
+
|
586
|
+
# Upload a package file to Jamf Pro for this package object.
|
587
|
+
# After uploading, the upload response is in the @upload_response attribute.
|
588
|
+
#
|
589
|
+
# This uses the Jamf Pro API to upload the file via the package/upload endpoint.
|
590
|
+
# If you don't use an appropriate primary distribution point, this may not work.
|
591
|
+
# Also, that endpoint may not upload to any other distribution points.
|
592
|
+
#
|
593
|
+
# The fileName attribute of the JPackage object will be updated to the local filename.
|
594
|
+
# If that filename is in use by some other package, you'll get an error:
|
595
|
+
# Field: fileName, Error: DUPLICATE_FIELD duplicate name
|
596
|
+
#
|
597
|
+
# IMPORTANT: This will automatically call #save at least once, and possibly twice.
|
598
|
+
# First, in order to ensure the correct fileName in Jamf based on the file being uploaded,
|
599
|
+
# and second, in order to update the checksum and manifest in Jamf Pro, if needed.
|
600
|
+
# *** Any other outstanding changes will also be saved!
|
601
|
+
#
|
602
|
+
# @param filepath [String, Pathname] the path to the package file to upload
|
603
|
+
#
|
604
|
+
# @param opts[Hash] a hash of keyword arguments
|
605
|
+
#
|
606
|
+
# @option opts :update_checksum [Boolean] update the checksum of the package in Jamf Pro.
|
607
|
+
# Defaults to true. All new checksums are SHA_512.
|
608
|
+
#
|
609
|
+
# @option opts :update_manifest [Boolean] update the manifest of the package in Jamf Pro
|
610
|
+
# Defaults to true
|
611
|
+
#
|
612
|
+
# @options opts url [String] the URL where the package will be downloaded from,
|
613
|
+
# defaults to the class default
|
614
|
+
#
|
615
|
+
# @option opts append_filename_to_url [Boolean] should the fileName be appended to the URL,
|
616
|
+
# defaults to true.
|
617
|
+
# If false, the url given must be the full URL to download the individual package file.
|
618
|
+
#
|
619
|
+
# @option opts chunk_size [Integer] the size of each chunk in the manifest, in bytes.
|
620
|
+
# If omitted, the whole file will be checksummed at once and downloads will not be chunked.
|
621
|
+
# A common chunk size is 10MB, or 1024 * 1024 * 10.
|
622
|
+
# NOTE: Not all distribution points support chunked downloads.
|
623
|
+
#
|
624
|
+
# @option opts bundle_identifier [String, Symbol] the bundle identifier of the package,
|
625
|
+
# Should match that in the .pkg itself, but defaults to 'xolo.fileName'
|
626
|
+
#
|
627
|
+
# @option opts bundle_version [String, Symbol] the version of the package.
|
628
|
+
# Defaults to '0'
|
629
|
+
#
|
630
|
+
# @option opts subtitle [String] a subtitle for the package, optional
|
631
|
+
#
|
632
|
+
# @option opts full_size_image_url [String] optional, used during MDM deployment
|
633
|
+
#
|
634
|
+
# @option opts display_image_url [String] optional, used during MDM deployment
|
635
|
+
#
|
636
|
+
# @return [void]
|
637
|
+
##############################
|
638
|
+
def upload(filepath, **opts)
|
639
|
+
file = Pathname.new(filepath)
|
640
|
+
validate_local_file(file)
|
641
|
+
|
642
|
+
# update the filename if needed
|
643
|
+
# must happen before the upload
|
644
|
+
real_filename = file.basename.to_s
|
645
|
+
self.fileName = real_filename unless fileName == real_filename
|
646
|
+
save
|
647
|
+
|
648
|
+
# upload the file
|
649
|
+
@upload_response = cnx.jp_upload("#{get_path}/#{UPLOAD_ENDPOINT}", file)
|
650
|
+
@upload_response[:time] = Time.now
|
651
|
+
|
652
|
+
# recalulate the checksum unless told no to
|
653
|
+
recalculate_checksum(file) unless opts[:update_checksum] == false
|
654
|
+
|
655
|
+
# generate a manifest if needed
|
656
|
+
generate_manifest file, **opts unless opts[:update_manifest] == false
|
657
|
+
|
658
|
+
# save the new checksum and manifest
|
659
|
+
save
|
660
|
+
end
|
661
|
+
|
662
|
+
# Deploy this package to computers or a group via MDM.
|
663
|
+
#
|
664
|
+
# REQUIREMENTS:
|
665
|
+
# - The package must have a manifest, see #generate_manifest
|
666
|
+
# - The .pkg file must be a product archive (.pkg) built with Xcode or productbuild.
|
667
|
+
# (it must contain a 'Distribution' file, usually generated by those tools)
|
668
|
+
# Simple 'component' packages built with pkgbuild are not supported.
|
669
|
+
# - The .pkg file must be signed with a Developer ID Installer certificate
|
670
|
+
#
|
671
|
+
# This will send a command to install the package to one or more
|
672
|
+
# computers, and/or the members of a single computer group.
|
673
|
+
#
|
674
|
+
# @param computer_ids [Array<Integer>,Integer] The ids of the computers to deploy to
|
675
|
+
#
|
676
|
+
# @param group_id [Integer] The id of the computer group to deploy to
|
677
|
+
#
|
678
|
+
# @param managed [Boolean] Should the installed package be managed by Jamf Pro, default is false.
|
679
|
+
#
|
680
|
+
# @return [void]
|
681
|
+
##############################
|
682
|
+
def deploy_via_mdm(computer_ids: nil, group_id: nil, managed: false)
|
683
|
+
raise Jamf::MissingDataError, 'No manifest set for this package' unless manifest
|
684
|
+
raise Jamf::NoSuchItemError, 'This package has no id, it must be saved in Jamf Pro before uploading' unless id
|
685
|
+
|
686
|
+
# convert the manifest to a ruby hash
|
687
|
+
parsed_manifest = manifest_hash
|
688
|
+
|
689
|
+
# manifest data for the MDMDeploy command, which is a hash.
|
690
|
+
# hopefully some day Jamf will just use the manifest for the pkg
|
691
|
+
mdm_manifest = {}
|
692
|
+
mdm_manifest['url'] = parsed_manifest['items'][0]['assets'][0]['url']
|
693
|
+
# See the TESTING note in #generate_manifest
|
694
|
+
mdm_manifest['hash'] = parsed_manifest['items'][0]['metadata']['sha256-whole']
|
695
|
+
mdm_manifest['hashType'] = CHECKSUM_HASH_TYPE_SHA256_MDM_DEPLOY
|
696
|
+
mdm_manifest['sizeInBytes'] = parsed_manifest['items'][0]['metadata']['sizeInBytes']
|
697
|
+
mdm_manifest['bundleId'] = parsed_manifest['items'][0]['metadata']['bundle-identifier']
|
698
|
+
mdm_manifest['bundleVersion'] = parsed_manifest['items'][0]['metadata']['bundle-version']
|
699
|
+
mdm_manifest['title'] = parsed_manifest['items'][0]['metadata']['title']
|
700
|
+
|
701
|
+
mdm_manifest['subtitle'] = parsed_manifest['items'][0]['metadata']['subtitle'] if parsed_manifest['items'][0]['metadata']['subtitle']
|
702
|
+
|
703
|
+
parsed_manifest['items'][0]['assets'].each do |asset|
|
704
|
+
mdm_manifest['fullSizeImageURL'] = asset['url'] if asset['kind'] == 'full-size-image'
|
705
|
+
mdm_manifest['displayImageURL'] = asset['url'] if asset['kind'] == 'display-image'
|
706
|
+
end
|
707
|
+
|
708
|
+
# make sure the computers are in an array
|
709
|
+
computer_ids = [computer_ids].flatten.compact.uniq
|
710
|
+
|
711
|
+
# make the payload
|
712
|
+
payload = {
|
713
|
+
manifest: mdm_manifest,
|
714
|
+
installAsManaged: managed,
|
715
|
+
devices: computer_ids,
|
716
|
+
groupId: group_id.to_s
|
717
|
+
}
|
718
|
+
# send the command
|
719
|
+
@deploy_response = cnx.post(DEPLOYMENT_ENDPOINT, payload)
|
720
|
+
end
|
721
|
+
|
722
|
+
end # class
|
723
|
+
|
724
|
+
end # module
|