ruby-jss 4.1.1 → 4.2.0b2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|