ruby-jss 1.6.4 → 2.0.0b1
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/.yardopts +1 -0
- data/CHANGES.md +40 -4
- data/README-2.0.0.md +337 -0
- data/README.md +48 -34
- data/bin/cgrouper +3 -3
- data/bin/jamfHelperBackgrounder +2 -2
- data/bin/netseg-update +3 -3
- data/data/ruby-jss.conf.example +1 -1
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/account.rb +29 -22
- data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_computer_search.rb +6 -6
- data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_mobile_device_search.rb +6 -6
- data/lib/{jss/api_object/advanced_search → jamf/api/classic/api_objects}/advanced_user_search.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/building.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/categorizable.rb +10 -10
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/category.rb +17 -15
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/computer.rb +222 -120
- data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/computer_extension_attribute.rb +19 -19
- data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/computer_group.rb +9 -8
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/computer_invitation.rb +8 -8
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/creatable.rb +22 -24
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable/criteria.rb +24 -24
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable/criterion.rb +15 -15
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/criteriable.rb +25 -28
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/department.rb +7 -7
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding.rb +40 -40
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/active_directory.rb +47 -47
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/admitmac.rb +56 -56
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/centrify.rb +15 -15
- data/lib/{jss/api_object → jamf/api/classic/api_objects/directory_binding_type}/directory_binding_type.rb +2 -25
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/open_directory.rb +19 -19
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/directory_binding_type/powerbroker_identity_services.rb +1 -1
- data/lib/jamf/api/classic/api_objects/directory_binding_type.rb +47 -0
- data/lib/{jss/api_object/disk_encryption_configurations.rb → jamf/api/classic/api_objects/disk_encryption_configuration.rb} +14 -14
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/distribution_point.rb +41 -35
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/dock_item.rb +12 -12
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/ebook.rb +3 -3
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/extendable.rb +23 -23
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/ibeacon.rb +15 -15
- data/lib/{jss/api_object/self_servable → jamf/api/classic/api_objects}/icon.rb +8 -8
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/ldap_server.rb +45 -34
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/locatable.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/mac_application.rb +18 -18
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/audit_event.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/casper_imaging_log.rb +4 -5
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/casper_remote_log.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/computer_usage_log.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/ebook.rb +7 -7
- data/lib/{jss/api_object/management_history/hashlike.rb → jamf/api/classic/api_objects/management_history/hash_like.rb} +3 -3
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mac_app_store_app.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mdm_command.rb +9 -9
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/mobile_device_app.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/policy_log.rb +5 -5
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/screen_sharing_log.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history/user_location_change.rb +4 -4
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/management_history.rb +226 -189
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/matchable.rb +9 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/mdm.rb +288 -167
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/mobile_device.rb +63 -51
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/mobile_device_application.rb +77 -35
- data/lib/{jss/api_object/configuration_profile → jamf/api/classic/api_objects}/mobile_device_configuration_profile.rb +7 -10
- data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/mobile_device_extension_attribute.rb +19 -19
- data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/mobile_device_group.rb +8 -8
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/netboot_server.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/network_segment.rb +75 -61
- data/lib/{jss/api_object/configuration_profile → jamf/api/classic/api_objects}/osx_configuration_profile.rb +7 -7
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/package.rb +83 -74
- data/lib/{jss/api_object/patch_source → jamf/api/classic/api_objects}/patch_external_source.rb +9 -9
- data/lib/{jss/api_object/patch_source → jamf/api/classic/api_objects}/patch_internal_source.rb +5 -5
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_policy.rb +70 -68
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_title/version.rb +15 -15
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/patch_title.rb +76 -64
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/peripheral.rb +24 -24
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/peripheral_type.rb +20 -20
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/policy.rb +121 -129
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/printer.rb +52 -52
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/purchasable.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/removable_macaddr.rb +7 -7
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/restricted_software.rb +21 -21
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/scopable/scope.rb +69 -64
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/scopable.rb +11 -13
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/script.rb +22 -22
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/self_servable.rb +49 -47
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/sitable.rb +8 -8
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/site.rb +6 -6
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/software_update_server.rb +5 -5
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/updatable.rb +13 -13
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/uploadable.rb +71 -29
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/user.rb +18 -18
- data/lib/{jss/api_object/extension_attribute → jamf/api/classic/api_objects}/user_extension_attribute.rb +12 -12
- data/lib/{jss/api_object/group → jamf/api/classic/api_objects}/user_group.rb +7 -7
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/vpp_account.rb +15 -15
- data/lib/{jss/api_object → jamf/api/classic/api_objects}/vppable.rb +5 -5
- data/lib/{jss/api_object/webhook.rb → jamf/api/classic/api_objects/web_hook.rb} +15 -15
- data/lib/{jss/api_object → jamf/api/classic/base_classes}/advanced_search.rb +36 -40
- data/lib/{jss → jamf/api/classic/base_classes}/api_object.rb +320 -280
- data/lib/{jss/api_object → jamf/api/classic/base_classes}/configuration_profile.rb +13 -16
- data/lib/{jss/api_object → jamf/api/classic/base_classes}/extension_attribute.rb +55 -59
- data/lib/{jss/api_object → jamf/api/classic/base_classes}/group.rb +97 -78
- data/lib/{jss/api_object → jamf/api/classic/base_classes}/patch_source.rb +107 -87
- data/lib/{jss → jamf/api/classic}/xml_workaround.rb +12 -12
- data/lib/jamf/api/connection/attributes.rb +224 -0
- data/lib/jamf/api/connection/cache.rb +148 -0
- data/lib/jamf/api/connection/classic_api.rb +288 -0
- data/lib/jamf/api/connection/connect.rb +538 -0
- data/lib/jamf/api/connection/constants.rb +112 -0
- data/lib/jamf/api/connection/default_connection.rb +103 -0
- data/lib/jamf/api/connection/jamf_pro_api.rb +174 -0
- data/lib/jamf/api/connection/jamf_pro_api_error.rb +109 -0
- data/lib/jamf/api/connection/token.rb +295 -99
- data/lib/jamf/api/connection.rb +189 -818
- data/lib/jamf/api/jamf_pro/api_objects/computer_prestage.rb +82 -0
- data/lib/jamf/api/jamf_pro/api_objects/device_enrollment.rb +358 -0
- data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +172 -0
- data/lib/jamf/api/jamf_pro/api_objects/jp_building.rb +116 -0
- data/lib/jamf/api/jamf_pro/api_objects/mobile_device_prestage.rb +87 -0
- data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +614 -0
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/bulk_deletable.rb +2 -1
- data/lib/jamf/api/jamf_pro/mixins/change_log.rb +246 -0
- data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +762 -0
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/filterable.rb +21 -14
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/immutable.rb +6 -8
- data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +167 -0
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/lockable.rb +29 -3
- data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +168 -0
- data/lib/jamf/api/jamf_pro/mixins/prestage.rb +356 -0
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/sortable.rb +7 -17
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/uncreatable.rb +2 -2
- data/lib/jamf/api/{mixins → jamf_pro/mixins}/undeletable.rb +2 -2
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_preview_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/access_groups_v2_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account.rb +159 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_driven_user_enrollment_session_token_settings.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +123 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v4.rb +117 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history.rb +160 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_history_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/active_patch_summary.rb +131 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/admin_account.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_criteria_choices.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_search_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/advanced_user_content_search_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/android_details.rb +162 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/api_error_cause.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_analytics_setting.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_dynamics_config.rb +133 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_path.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field.rb +114 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_form_input_field_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/app_request_settings.rb +104 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/apple_tv_details.rb +132 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_attributes.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/application_configuration.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +112 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/attributes.rb +100 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account.rb +158 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +158 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/auth_token_v1.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/authorization_v1.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/available_updates.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_process_status.rb +115 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_ad_migration_report_request.rb +102 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_request.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_configuration_update.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_mappings.rb +157 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_request.rb +145 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/azure_server_configuration_update.rb +131 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/branding_image_url.rb +86 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/building.rb +137 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/building_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cache_settings.rb +149 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +103 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_details.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_identity_v2.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_key.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/certificate_record.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/classic_ldap_mappings.rb +168 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v2.rb +164 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/client_check_in_v3.rb +134 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_request.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_id_p_common_response.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_pool_statistics.rb +170 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_connection_status.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore.rb +102 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_keystore_file.rb +103 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_request.rb +101 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_mappings_response.rb +101 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_request.rb +151 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_response.rb +148 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/cloud_ldap_server_update.rb +148 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +102 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +151 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +372 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +120 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +131 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +143 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +120 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +175 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +230 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general_update.rb +112 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_group.rb +96 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +264 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware_update.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +81 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +275 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_preferences.rb +165 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_collection_settings.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_recovery_lock_password_response.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_update_request.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +189 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_location.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +132 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system_update.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_overview.rb +179 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +145 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_search_results_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v2.rb +129 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +99 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +158 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +109 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +179 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +81 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +131 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/computers_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_profile.rb +102 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/configuration_search_results.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_candidate_request.rb +123 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_response.rb +122 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_status_response.rb +85 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/connection_configuration_update_request.rb +109 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/country.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/country_codes.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/create_path.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/csa_token.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_account.rb +159 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/current_authorization.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/data_roaming_setting.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/database_password.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/day_of_week.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/delete_user_command.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/department.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/departments_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task.rb +129 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/deployment_task_search_results.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_communication_settings.rb +128 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_compliance_information.rb +117 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device.rb +162 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_device_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_body.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_disown_response.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance.rb +163 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_instance_sync_status.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage.rb +215 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_prestage_v2.rb +234 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/device_enrollment_token.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/diagnostic_submission_setting.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook.rb +152 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_exclusions.rb +137 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_limitations.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_scope.rb +170 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ebook_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enable_lost_mode_command.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/engage.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_preview.rb +141 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_access_group_v2.rb +132 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_branding_settings.rb +111 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependencies.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_dependency.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_ldap_group_access.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_ldap_auth.rb +121 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_list.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_sso_auth.rb +113 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_panel_text.rb +112 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_search_results_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_customization_v2.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_process_text_object.rb +346 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_settings_v2.rb +273 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_field.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/export_parameters.rb +121 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute.rb +115 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attribute_v2.rb +116 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/external_recipient.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_delete.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/file_attachment_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/filter.rb +104 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/font_path.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_computer_prestage_v2.rb +104 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_ldap_auth.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_sso_auth.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_enrollment_customization_panel_text.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/get_mobile_device_prestage_v2.rb +103 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_mappings.rb +138 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_request.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/group_test_search_response.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results.rb +137 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/history_search_results_v1.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/href_response.rb +168 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/icon_response.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/id_and_name_v2.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ids.rb +99 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/initialize.rb +133 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/initialize_v1.rb +133 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/install_package.rb +103 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/integer_wrapper.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/internal_recipient.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_information.rb +113 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_error.rb +123 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_error_cause.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_csv_validation_success.rb +86 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute_column_result.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_invalid_csv_response.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record.rb +248 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_search_results_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_record_v2.rb +263 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_configuration.rb +129 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_branding_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details.rb +255 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ios_details_v2.rb +255 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_application_response.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_nation_credentials.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_package_response.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_information_v2.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_server_url.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_pro_version.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +125 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/language_code.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_request.rb +99 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_response.rb +101 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_configuration_update.rb +99 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_group_search_results.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/ldap_server.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile.rb +126 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/linked_connect_profile_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/locale.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/location.rb +125 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_information_v2.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/location_v2.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_configuration.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_branding_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update.rb +138 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mac_os_managed_software_update_response.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/markdown.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_client_type.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command.rb +109 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_client.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_request.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_state.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mdm_command_type.rb +172 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_mappings.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_request.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/membership_test_search_response.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/memcached_endpoints.rb +113 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device.rb +153 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_application.rb +100 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_attachment_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v1.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_certificate_v2.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details.rb +235 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_get_v2.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_details_v2.rb +259 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_ebook.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_group.rb +96 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage.rb +136 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_search_results_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_v2.rb +175 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_params.rb +144 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_search_results_v2.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_v2.rb +158 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/network.rb +171 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/network_v2.rb +179 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification.rb +96 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_type.rb +141 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/notification_v1.rb +96 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history.rb +133 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_note.rb +133 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/object_history_v1.rb +106 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/order_by.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/package_manifest.rb +148 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/parent_app.rb +131 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_ids_on_dashboard.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt.rb +102 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_attempt_action.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log.rb +124 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_log_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_on_dashboard.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_policy_summary.rb +146 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/patch_version.rb +96 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/personal_hotspot_setting.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/plugin_path.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/policy_properties_v1.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/post_computer_prestage_v2.rb +85 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependencies.rb +85 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_dependency.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_file_attachment_v2.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information.rb +174 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +174 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response.rb +109 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_response_v2.rb +109 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_update.rb +113 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_v2.rb +84 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_sync_status_v2.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/process_texts_search_results.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_registration_request.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_settings_response.rb +141 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/protect_updatable_settings_request.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/provisioning_profile.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing.rb +153 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/purchasing_v2.rb +153 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_computer_prestage_v2.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/put_mobile_device_prestage_v2.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/recalculation_results.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/recipient.rb +94 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/recipients.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/redeploy_jamf_management_framework_response.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/reenrollment.rb +117 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_response.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/remote_administration_search_results.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/renew_mdm_profile_response.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/restart_device_command.rb +95 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/retry_patch_policy_params.rb +97 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/safelisted_app.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +192 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/search_active_patch_history_params.rb +121 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/search_patch_policy_log_params.rb +121 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/security.rb +130 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/security_v2.rb +129 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_install_settings.rb +92 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_interaction_settings.rb +122 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_login_settings.rb +113 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/self_service_settings.rb +100 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/session.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_candidate_request.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details.rb +175 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_details_search_results.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/session_status.rb +98 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/set_recovery_lock_command.rb +82 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/settings_command.rb +167 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/shared_device_configuration.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/signature.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/site.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/smart_search_criterion.rb +118 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_configuration.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_title_patch_policy_summaries.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/software_update_settings.rb +88 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore.rb +128 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_cert_parse_response.rb +130 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_details.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_parse.rb +103 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response.rb +120 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_response_with_details.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_keystore_with_details.rb +93 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_metadata_url.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/sso_settings.rb +240 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/startup_status.rb +185 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/static_user_group.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_certificate_upload.rb +99 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_create.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/supervision_identity_update.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_features.rb +105 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_request.rb +108 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/teacher_settings_response.rb +122 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_frame.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/time_zone.rb +107 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/tv_os_details.rb +140 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/udids.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_apple_tv.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios.rb +81 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_ios_v2.rb +81 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device.rb +122 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_mobile_device_v2.rb +137 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/update_tv_os.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_attributes.rb +117 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_mappings.rb +193 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search.rb +112 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_request.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/user_test_search_response.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +91 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_ca_record.rb +147 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_pki_payload_record_search_results.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/venafi_service_status.rb +83 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/verbose_package_deployment_response.rb +90 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/voice_roaming_setting.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_content.rb +153 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location.rb +86 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_list_view.rb +171 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_patch.rb +111 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_location_post.rb +114 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_locations.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription.rb +86 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscription_base.rb +127 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/volume_purchasing_subscriptions.rb +89 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_admin_account.rb +119 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/vpp_token_subscription.rb +123 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas/web_link.rb +87 -0
- data/lib/jamf/api/jamf_pro/oapi_schemas.rb +35 -0
- data/lib/jamf/api/jamf_pro/other_classes/change_log_entry.rb +37 -0
- data/lib/jamf/api/{attribute_classes → jamf_pro/other_classes}/ip_address.rb +2 -8
- data/lib/jamf/api/jamf_pro/other_classes/pager.rb +257 -0
- data/lib/jamf/api/{attribute_classes → jamf_pro/other_classes}/timestamp.rb +18 -14
- data/lib/jamf/{api/mixins/base_class.rb → base_class.rb} +8 -8
- data/lib/jamf/client/jamf_binary.rb +104 -99
- data/lib/jamf/client/jamf_helper.rb +274 -256
- data/lib/jamf/client/management_action.rb +84 -75
- data/lib/jamf/client.rb +15 -86
- data/lib/jamf/composer.rb +5 -5
- data/lib/jamf/configuration.rb +219 -196
- data/lib/jamf/{api/json_objects/prestage_sync_status.rb → constants.rb} +15 -32
- data/lib/{jss → jamf}/db_connection.rb +23 -31
- data/lib/{jpapi.rb → jamf/deprecations/deprecated_api_constant.rb} +5 -4
- data/lib/{jss/ruby_extensions/string.rb → jamf/deprecations/deprecated_config_constant.rb} +4 -12
- data/lib/jamf/exceptions.rb +14 -15
- data/lib/jamf/oapi_validate.rb +502 -0
- data/lib/jamf/ruby_extensions/array/predicates.rb +3 -1
- data/lib/jamf/ruby_extensions/array/utils.rb +2 -11
- data/lib/jamf/ruby_extensions/array.rb +1 -1
- data/lib/jamf/ruby_extensions/filetest/predicates.rb +2 -1
- data/lib/jamf/ruby_extensions/filetest.rb +1 -1
- data/lib/jamf/ruby_extensions/hash/{backports.rb → utils.rb} +53 -34
- data/lib/jamf/ruby_extensions/hash.rb +3 -3
- data/lib/jamf/ruby_extensions/ipaddr/utils.rb +7 -4
- data/lib/jamf/ruby_extensions/ipaddr.rb +2 -2
- data/lib/jamf/ruby_extensions/object/predicates.rb +3 -1
- data/lib/jamf/ruby_extensions/object.rb +1 -1
- data/lib/jamf/ruby_extensions/pathname/predicates.rb +3 -1
- data/lib/jamf/ruby_extensions/pathname/utils.rb +11 -5
- data/lib/jamf/ruby_extensions/pathname.rb +1 -1
- data/lib/jamf/ruby_extensions/string/conversions.rb +16 -1
- data/lib/jamf/ruby_extensions/string/predicates.rb +3 -1
- data/lib/jamf/ruby_extensions/string.rb +1 -3
- data/lib/{jss/ruby_extensions/time.rb → jamf/ruby_extensions/time/utils.rb} +40 -25
- data/lib/{jss/version.rb → jamf/ruby_extensions/time.rb} +7 -6
- data/lib/jamf/ruby_extensions.rb +9 -9
- data/lib/jamf/utility.rb +626 -410
- data/lib/jamf/validate.rb +86 -125
- data/lib/jamf/version.rb +3 -3
- data/lib/jamf.rb +76 -131
- data/lib/jss-api.rb +2 -2
- data/lib/jss.rb +3 -215
- data/lib/ruby-jss.rb +2 -2
- data/lib/zeitwerk_config.rb +163 -0
- data/test/README-TEST.md +65 -0
- data/test/bin/runtests +97 -130
- data/test/lib/jamf_test/APITest.rb +106 -0
- data/{lib/jss/ruby_extensions/filetest.rb → test/lib/jamf_test/advanced_search.rb} +16 -20
- data/test/lib/jamf_test/auth.rb +267 -0
- data/test/lib/jamf_test/collection_tests.rb +388 -0
- data/test/lib/jamf_test/prestage_tests.rb +135 -0
- data/test/lib/{testhelper.rb → jamf_test.rb} +15 -12
- data/{lib/jss/ruby_extensions.rb → test/tests/advanced_computer_search.rb} +11 -12
- data/test/tests/advanced_mobile_device_search.rb +36 -0
- data/test/tests/advanced_user_search.rb +36 -0
- data/test/tests/building.rb +41 -0
- data/test/tests/category.rb +41 -0
- data/test/tests/computer.rb +41 -0
- data/test/tests/computer_group.rb +132 -0
- data/test/tests/computer_prestage.rb +36 -0
- data/test/tests/department.rb +41 -0
- data/test/tests/device_enrollment.rb +101 -0
- data/test/tests/inventory_preload_record.rb +131 -0
- data/test/tests/jp_building.rb +41 -0
- data/test/tests/mobile_device.rb +41 -0
- data/test/tests/mobile_device_prestage.rb +37 -0
- data/test/tests/policy.rb +151 -0
- metadata +654 -213
- data/lib/jamf/api/base_classes/collection_resource.rb +0 -612
- data/lib/jamf/api/base_classes/json_object.rb +0 -1103
- data/lib/jamf/api/base_classes/prestage.rb +0 -503
- data/lib/jamf/api/base_classes/resource.rb +0 -259
- data/lib/jamf/api/base_classes/singleton_resource.rb +0 -88
- data/lib/jamf/api/connection/api_error.rb +0 -111
- data/lib/jamf/api/connection/api_error_styleguide.rb +0 -96
- data/lib/jamf/api/json_objects/change_log_entry.rb +0 -77
- data/lib/jamf/api/json_objects/country.rb +0 -51
- data/lib/jamf/api/json_objects/device_enrollment_device.rb +0 -165
- data/lib/jamf/api/json_objects/device_enrollment_device_sync_state.rb +0 -81
- data/lib/jamf/api/json_objects/device_enrollment_sync_status.rb +0 -71
- data/lib/jamf/api/json_objects/inventory_preload_extension_attribute.rb +0 -57
- data/lib/jamf/api/json_objects/locale.rb +0 -59
- data/lib/jamf/api/json_objects/md_prestage_name.rb +0 -57
- data/lib/jamf/api/json_objects/md_prestage_names.rb +0 -82
- data/lib/jamf/api/json_objects/md_prestage_skip_setup_items.rb +0 -214
- data/lib/jamf/api/json_objects/prestage_assignment.rb +0 -76
- data/lib/jamf/api/json_objects/prestage_location.rb +0 -104
- data/lib/jamf/api/json_objects/prestage_purchasing_data.rb +0 -132
- data/lib/jamf/api/json_objects/prestage_scope.rb +0 -57
- data/lib/jamf/api/json_objects/time_zone.rb +0 -105
- data/lib/jamf/api/mixins/change_log.rb +0 -288
- data/lib/jamf/api/mixins/extendable.rb +0 -75
- data/lib/jamf/api/mixins/pageable.rb +0 -208
- data/lib/jamf/api/mixins/searchable.rb +0 -202
- data/lib/jamf/api/resources/collection_resources/building.rb +0 -121
- data/lib/jamf/api/resources/collection_resources/category.rb +0 -83
- data/lib/jamf/api/resources/collection_resources/computer_prestage.rb +0 -89
- data/lib/jamf/api/resources/collection_resources/department.rb +0 -78
- data/lib/jamf/api/resources/collection_resources/device_enrollment.rb +0 -384
- data/lib/jamf/api/resources/collection_resources/inventory_preload_record.rb +0 -289
- data/lib/jamf/api/resources/collection_resources/mobile_device_prestage.rb +0 -143
- data/lib/jamf/api/resources/collection_resources/script.rb +0 -226
- data/lib/jamf/api/resources/singleton_resources/app_store_country_codes.rb +0 -141
- data/lib/jamf/api/resources/singleton_resources/locales.rb +0 -155
- data/lib/jamf/api/resources/singleton_resources/time_zones.rb +0 -213
- data/lib/jamf/compatibility.rb +0 -88
- data/lib/jamf/ruby_extensions/dig.rb +0 -52
- data/lib/jamf/ruby_extensions/string/backports.rb +0 -66
- data/lib/jss/api_connection.rb +0 -1029
- data/lib/jss/api_object/app_store_country_codes.rb +0 -298
- data/lib/jss/api_object/computer/application_installs.rb +0 -118
- data/lib/jss/client/jamf_binary.rb +0 -132
- data/lib/jss/client/jamf_helper.rb +0 -298
- data/lib/jss/client/management_action.rb +0 -113
- data/lib/jss/client.rb +0 -301
- data/lib/jss/compatibility.rb +0 -88
- data/lib/jss/composer.rb +0 -190
- data/lib/jss/configuration.rb +0 -319
- data/lib/jss/exceptions.rb +0 -115
- data/lib/jss/ruby_extensions/array.rb +0 -52
- data/lib/jss/ruby_extensions/hash.rb +0 -140
- data/lib/jss/ruby_extensions/ipaddr.rb +0 -92
- data/lib/jss/ruby_extensions/object.rb +0 -19
- data/lib/jss/ruby_extensions/pathname.rb +0 -78
- data/lib/jss/ruby_extensions/string/backports.rb +0 -68
- data/lib/jss/ruby_extensions/string/conversions.rb +0 -69
- data/lib/jss/ruby_extensions/string/predicates.rb +0 -57
- data/lib/jss/server.rb +0 -146
- data/lib/jss/utility.rb +0 -672
- data/lib/jss/validate.rb +0 -248
- data/test/README.md +0 -147
- data/test/lib/testhelper/auth.rb +0 -275
- data/test/lib/testhelper/patch_mgmt.rb +0 -123
- data/test/specs/api_connection_spec.rb +0 -57
- data/test/specs/patch01_source_spec.rb +0 -54
- data/test/specs/patch02_internal_source_spec.rb +0 -88
- data/test/specs/patch03_external_source_spec.rb +0 -120
- data/test/specs/patch04_titles_spec.rb +0 -207
- data/test/specs/patch05_policies_spec.rb +0 -119
- data/test/specs/patch06_cleanup_spec.rb +0 -52
- data/test/specs/policy_spec.rb +0 -112
|
@@ -0,0 +1,614 @@
|
|
|
1
|
+
# Copyright 2022 Pixar
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
4
|
+
# with the following modification; you may not use this file except in
|
|
5
|
+
# compliance with the Apache License and the following modification to it:
|
|
6
|
+
# Section 6. Trademarks. is deleted and replaced with:
|
|
7
|
+
#
|
|
8
|
+
# 6. Trademarks. This License does not grant permission to use the trade
|
|
9
|
+
# names, trademarks, service marks, or product names of the Licensor
|
|
10
|
+
# and its affiliates, except as required to comply with Section 4(c) of
|
|
11
|
+
# the License and to reproduce the content of the NOTICE file.
|
|
12
|
+
#
|
|
13
|
+
# You may obtain a copy of the Apache License at
|
|
14
|
+
#
|
|
15
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
#
|
|
17
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
# distributed under the Apache License with the above modification is
|
|
19
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
20
|
+
# KIND, either express or implied. See the Apache License for the specific
|
|
21
|
+
# language governing permissions and limitations under the Apache License.
|
|
22
|
+
#
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
# The module
|
|
26
|
+
module Jamf
|
|
27
|
+
|
|
28
|
+
# Classes
|
|
29
|
+
#####################################
|
|
30
|
+
|
|
31
|
+
# The parent class for all objects auto-generated in the Jamf::OAPISchemas
|
|
32
|
+
# module
|
|
33
|
+
# more docs to come
|
|
34
|
+
class OAPIObject
|
|
35
|
+
|
|
36
|
+
include Comparable
|
|
37
|
+
|
|
38
|
+
# Public Class Methods
|
|
39
|
+
#####################################
|
|
40
|
+
|
|
41
|
+
# By default,OAPIObjects (as a whole) are mutable,
|
|
42
|
+
# although some attributes may not be (see OAPI_PROPERTIES in the JSONObject
|
|
43
|
+
# docs)
|
|
44
|
+
#
|
|
45
|
+
# When an entire sublcass of OAPIObject is read-only/immutable,
|
|
46
|
+
# `extend Jamf::Immutable`, which will override this to return false.
|
|
47
|
+
# Doing so will prevent any setters from being created for the subclass
|
|
48
|
+
# and will cause Jamf::Resource.save to raise an error
|
|
49
|
+
#
|
|
50
|
+
def self.mutable?
|
|
51
|
+
!singleton_class.ancestors.include? Jamf::Immutable
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# An array of attribute names that are required when
|
|
55
|
+
# making new instances - they cannot be nil, but may be empty.
|
|
56
|
+
#
|
|
57
|
+
# See the OAPI_PROPERTIES documentation in {Jamf::OAPIObject}
|
|
58
|
+
def self.required_attributes
|
|
59
|
+
self::OAPI_PROPERTIES.select { |_attr, deets| deets[:required] }.keys
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# have we already parsed our OAPI_PROPERTIES? If so,
|
|
63
|
+
# we shoudn't do it again, an this can be used to check
|
|
64
|
+
def self.oapi_properties_parsed?
|
|
65
|
+
@oapi_properties_parsed
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# create getters and setters for subclasses of APIObject
|
|
69
|
+
# based on their OAPI_PROPERTIES Hash.
|
|
70
|
+
#
|
|
71
|
+
# This method can't be private, cuz we want to call it from a
|
|
72
|
+
# Zeitwerk callback when subclasses are loaded.
|
|
73
|
+
##############################
|
|
74
|
+
def self.parse_oapi_properties
|
|
75
|
+
# only do this once
|
|
76
|
+
return if @oapi_properties_parsed
|
|
77
|
+
|
|
78
|
+
# only if this constant is defined
|
|
79
|
+
return unless defined? self::OAPI_PROPERTIES
|
|
80
|
+
|
|
81
|
+
# TODO: is the concept of 'primary' needed anymore?
|
|
82
|
+
got_primary = false
|
|
83
|
+
|
|
84
|
+
self::OAPI_PROPERTIES.each do |attr_name, attr_def|
|
|
85
|
+
Jamf.load_msg "Creating getters and setters for attribute '#{attr_name}' of #{self}"
|
|
86
|
+
|
|
87
|
+
# see above comment
|
|
88
|
+
# don't make one for :id, that one's hard-coded into CollectionResource
|
|
89
|
+
# create_list_methods(attr_name, attr_def) if need_list_methods && attr_def[:identifier] && attr_name != :id
|
|
90
|
+
|
|
91
|
+
# there can be only one (primary ident)
|
|
92
|
+
if attr_def[:identifier] == :primary
|
|
93
|
+
raise Jamf::UnsupportedError, 'Two identifiers marked as :primary' if got_primary
|
|
94
|
+
|
|
95
|
+
got_primary = true
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# create getter unless the attr is write only
|
|
99
|
+
create_getters attr_name, attr_def unless attr_def[:writeonly]
|
|
100
|
+
|
|
101
|
+
# Don't crete setters for readonly attrs, or immutable objects
|
|
102
|
+
next if attr_def[:readonly] || !mutable?
|
|
103
|
+
|
|
104
|
+
create_setters attr_name, attr_def
|
|
105
|
+
end # do |attr_name, attr_def|
|
|
106
|
+
|
|
107
|
+
@oapi_properties_parsed = true
|
|
108
|
+
end # parse_object_model
|
|
109
|
+
|
|
110
|
+
# Private Class Methods
|
|
111
|
+
#####################################
|
|
112
|
+
|
|
113
|
+
# create a getter for an attribute, and any aliases needed
|
|
114
|
+
##############################
|
|
115
|
+
def self.create_getters(attr_name, attr_def)
|
|
116
|
+
# multi_value - only return a frozen dup, no direct editing of the Array
|
|
117
|
+
if attr_def[:multi]
|
|
118
|
+
define_method(attr_name) do
|
|
119
|
+
initialize_multi_value_attr_array attr_name
|
|
120
|
+
|
|
121
|
+
instance_variable_get("@#{attr_name}").dup.freeze
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# single value
|
|
125
|
+
else
|
|
126
|
+
define_method(attr_name) { instance_variable_get("@#{attr_name}") }
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# all booleans get predicate ? aliases
|
|
130
|
+
alias_method("#{attr_name}?", attr_name) if attr_def[:class] == :boolean
|
|
131
|
+
end # create getters
|
|
132
|
+
private_class_method :create_getters
|
|
133
|
+
|
|
134
|
+
# create setter(s) for an attribute, and any aliases needed
|
|
135
|
+
##############################
|
|
136
|
+
def self.create_setters(attr_name, attr_def)
|
|
137
|
+
# multi_value
|
|
138
|
+
if attr_def[:multi]
|
|
139
|
+
create_array_setters(attr_name, attr_def)
|
|
140
|
+
return
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# single value
|
|
144
|
+
define_method("#{attr_name}=") do |new_value|
|
|
145
|
+
new_value = validate_attr attr_name, new_value
|
|
146
|
+
old_value = instance_variable_get("@#{attr_name}")
|
|
147
|
+
return if new_value == old_value
|
|
148
|
+
|
|
149
|
+
instance_variable_set("@#{attr_name}", new_value)
|
|
150
|
+
note_unsaved_change attr_name, old_value
|
|
151
|
+
end # define method
|
|
152
|
+
end # create_setters
|
|
153
|
+
private_class_method :create_setters
|
|
154
|
+
|
|
155
|
+
##############################
|
|
156
|
+
def self.create_array_setters(attr_name, attr_def)
|
|
157
|
+
create_full_array_setters(attr_name, attr_def)
|
|
158
|
+
create_append_setters(attr_name, attr_def)
|
|
159
|
+
create_prepend_setters(attr_name, attr_def)
|
|
160
|
+
create_insert_setters(attr_name, attr_def)
|
|
161
|
+
create_delete_setters(attr_name, attr_def)
|
|
162
|
+
create_delete_at_setters(attr_name, attr_def)
|
|
163
|
+
create_delete_if_setters(attr_name, attr_def)
|
|
164
|
+
end # def create_multi_setters
|
|
165
|
+
private_class_method :create_array_setters
|
|
166
|
+
|
|
167
|
+
# The attr=(newval) setter method for array values
|
|
168
|
+
##############################
|
|
169
|
+
def self.create_full_array_setters(attr_name, attr_def)
|
|
170
|
+
define_method("#{attr_name}=") do |new_value|
|
|
171
|
+
initialize_multi_value_attr_array attr_name
|
|
172
|
+
|
|
173
|
+
raise Jamf::InvalidDataError, "Value for '#{attr_name}=' must be an Array" unless new_value.is_a? Array
|
|
174
|
+
|
|
175
|
+
# validate each item of the new array
|
|
176
|
+
new_value.map! { |item| validate_attr attr_name, item }
|
|
177
|
+
|
|
178
|
+
# now validate the array as a whole for oapi constraints
|
|
179
|
+
Jamf::Validate.validate_array_constraints(new_value, attr_def: attr_def, attr_name: attr_name)
|
|
180
|
+
|
|
181
|
+
old_value = instance_variable_get("@#{attr_name}")
|
|
182
|
+
return if new_value == old_value
|
|
183
|
+
|
|
184
|
+
instance_variable_set("@#{attr_name}", new_value)
|
|
185
|
+
note_unsaved_change attr_name, old_value
|
|
186
|
+
end # define method
|
|
187
|
+
|
|
188
|
+
return unless attr_def[:aliases]
|
|
189
|
+
end # create_full_array_setter
|
|
190
|
+
private_class_method :create_full_array_setters
|
|
191
|
+
|
|
192
|
+
# The attr_append(newval) setter method for array values
|
|
193
|
+
##############################
|
|
194
|
+
def self.create_append_setters(attr_name, attr_def)
|
|
195
|
+
define_method("#{attr_name}_append") do |new_value|
|
|
196
|
+
initialize_multi_value_attr_array attr_name
|
|
197
|
+
|
|
198
|
+
new_value = validate_attr attr_name, new_value
|
|
199
|
+
|
|
200
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
201
|
+
old_array = new_array.dup
|
|
202
|
+
new_array << new_value
|
|
203
|
+
|
|
204
|
+
# now validate the array as a whole for oapi constraints
|
|
205
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
206
|
+
|
|
207
|
+
note_unsaved_change attr_name, old_array
|
|
208
|
+
end # define method
|
|
209
|
+
|
|
210
|
+
# always have a << alias
|
|
211
|
+
alias_method "#{attr_name}<<", "#{attr_name}_append"
|
|
212
|
+
end # create_append_setters
|
|
213
|
+
private_class_method :create_append_setters
|
|
214
|
+
|
|
215
|
+
# The attr_prepend(newval) setter method for array values
|
|
216
|
+
##############################
|
|
217
|
+
def self.create_prepend_setters(attr_name, attr_def)
|
|
218
|
+
define_method("#{attr_name}_prepend") do |new_value|
|
|
219
|
+
initialize_multi_value_attr_array attr_name
|
|
220
|
+
|
|
221
|
+
new_value = validate_attr attr_name, new_value
|
|
222
|
+
|
|
223
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
224
|
+
old_array = new_array.dup
|
|
225
|
+
new_array.unshift new_value
|
|
226
|
+
|
|
227
|
+
# now validate the array as a whole for oapi constraints
|
|
228
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
229
|
+
|
|
230
|
+
note_unsaved_change attr_name, old_array
|
|
231
|
+
end # define method
|
|
232
|
+
end # create_prepend_setters
|
|
233
|
+
private_class_method :create_prepend_setters
|
|
234
|
+
|
|
235
|
+
# The attr_insert(index, newval) setter method for array values
|
|
236
|
+
def self.create_insert_setters(attr_name, attr_def)
|
|
237
|
+
define_method("#{attr_name}_insert") do |index, new_value|
|
|
238
|
+
initialize_multi_value_attr_array attr_name
|
|
239
|
+
|
|
240
|
+
new_value = validate_attr attr_name, new_value
|
|
241
|
+
|
|
242
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
243
|
+
old_array = new_array.dup
|
|
244
|
+
new_array.insert index, new_value
|
|
245
|
+
|
|
246
|
+
# now validate the array as a whole for oapi constraints
|
|
247
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
248
|
+
|
|
249
|
+
note_unsaved_change attr_name, old_array
|
|
250
|
+
end # define method
|
|
251
|
+
end # create_insert_setters
|
|
252
|
+
private_class_method :create_insert_setters
|
|
253
|
+
|
|
254
|
+
# The attr_delete(val) setter method for array values
|
|
255
|
+
##############################
|
|
256
|
+
def self.create_delete_setters(attr_name, attr_def)
|
|
257
|
+
define_method("#{attr_name}_delete") do |val|
|
|
258
|
+
initialize_multi_value_attr_array attr_name
|
|
259
|
+
|
|
260
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
261
|
+
old_array = new_array.dup
|
|
262
|
+
new_array.delete val
|
|
263
|
+
return if old_array == new_array
|
|
264
|
+
|
|
265
|
+
# now validate the array as a whole for oapi constraints
|
|
266
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
267
|
+
|
|
268
|
+
note_unsaved_change attr_name, old_array
|
|
269
|
+
end # define method
|
|
270
|
+
end # create_insert_setters
|
|
271
|
+
private_class_method :create_delete_setters
|
|
272
|
+
|
|
273
|
+
# The attr_delete_at(index) setter method for array values
|
|
274
|
+
##############################
|
|
275
|
+
def self.create_delete_at_setters(attr_name, attr_def)
|
|
276
|
+
define_method("#{attr_name}_delete_at") do |index|
|
|
277
|
+
initialize_multi_value_attr_array attr_name
|
|
278
|
+
|
|
279
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
280
|
+
old_array = new_array.dup
|
|
281
|
+
deleted = new_array.delete_at index
|
|
282
|
+
return unless deleted
|
|
283
|
+
|
|
284
|
+
# now validate the array as a whole for oapi constraints
|
|
285
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
286
|
+
|
|
287
|
+
note_unsaved_change attr_name, old_array
|
|
288
|
+
end # define method
|
|
289
|
+
end # create_insert_setters
|
|
290
|
+
private_class_method :create_delete_at_setters
|
|
291
|
+
|
|
292
|
+
# The attr_delete_if(block) setter method for array values
|
|
293
|
+
##############################
|
|
294
|
+
def self.create_delete_if_setters(attr_name, attr_def)
|
|
295
|
+
define_method("#{attr_name}_delete_if") do |&block|
|
|
296
|
+
initialize_multi_value_attr_array attr_name
|
|
297
|
+
|
|
298
|
+
new_array = instance_variable_get("@#{attr_name}")
|
|
299
|
+
old_array = new_array.dup
|
|
300
|
+
new_array.delete_if(&block)
|
|
301
|
+
return if old_array == new_array
|
|
302
|
+
|
|
303
|
+
# now validate the array as a whole for oapi constraints
|
|
304
|
+
Jamf::Validate.validate_array_constraints(new_array, attr_def: attr_def, attr_name: attr_name)
|
|
305
|
+
|
|
306
|
+
note_unsaved_change attr_name, old_array
|
|
307
|
+
end # define method
|
|
308
|
+
end # create_insert_setters
|
|
309
|
+
private_class_method :create_delete_if_setters
|
|
310
|
+
|
|
311
|
+
# Used by auto-generated setters and .create to validate new values.
|
|
312
|
+
#
|
|
313
|
+
# returns a valid value or raises an exception
|
|
314
|
+
#
|
|
315
|
+
# This method only validates single values. When called from multi-value
|
|
316
|
+
# setters, it is used for each value individually.
|
|
317
|
+
#
|
|
318
|
+
# @param attr_name[Symbol], a top-level key from OAPI_PROPERTIES for this class
|
|
319
|
+
#
|
|
320
|
+
# @param value [Object] the value to validate for that attribute.
|
|
321
|
+
#
|
|
322
|
+
# @return [Object] The validated, possibly converted, value.
|
|
323
|
+
#
|
|
324
|
+
def self.validate_attr(attr_name, value)
|
|
325
|
+
attr_def = self::OAPI_PROPERTIES[attr_name]
|
|
326
|
+
raise ArgumentError, "Unknown attribute: #{attr_name} for #{self} objects" unless attr_def
|
|
327
|
+
|
|
328
|
+
# validate the value based on the OAPI definition.
|
|
329
|
+
Jamf::Validate.oapi_attr value, attr_def: attr_def, attr_name: attr_name
|
|
330
|
+
|
|
331
|
+
# if this is an identifier, it must be unique
|
|
332
|
+
# TODO: move this to colloection resouce code
|
|
333
|
+
# Jamf::Validate.doesnt_exist(value, self, attr_name, cnx: cnx) if attr_def[:identifier] && superclass == Jamf::CollectionResource
|
|
334
|
+
end # validate_attr(attr_name, value)
|
|
335
|
+
|
|
336
|
+
# Attributes
|
|
337
|
+
#####################################
|
|
338
|
+
|
|
339
|
+
# the raw hash from which this object was constructed
|
|
340
|
+
# @return [Hash]
|
|
341
|
+
attr_reader :init_data
|
|
342
|
+
|
|
343
|
+
# Constructor
|
|
344
|
+
#####################################
|
|
345
|
+
|
|
346
|
+
# Make an instance. Data comes from the API
|
|
347
|
+
#
|
|
348
|
+
# @param data[Hash] the data for constructing a new object.
|
|
349
|
+
#
|
|
350
|
+
def initialize(data)
|
|
351
|
+
@init_data = data
|
|
352
|
+
|
|
353
|
+
# creating a new one, not fetching from the API
|
|
354
|
+
creating = data.delete :creating_from_create
|
|
355
|
+
|
|
356
|
+
if creating
|
|
357
|
+
self.class::OAPI_PROPERTIES.each_key do |attr_name|
|
|
358
|
+
# we'll enforce required values when we save
|
|
359
|
+
next unless data.key? attr_name
|
|
360
|
+
|
|
361
|
+
# use our setters for each value so that they are validated, and
|
|
362
|
+
# in the unsaved changes list
|
|
363
|
+
send "#{attr_name}=", data[attr_name]
|
|
364
|
+
end
|
|
365
|
+
return
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
parse_init_data data
|
|
369
|
+
end # init
|
|
370
|
+
|
|
371
|
+
# Instance Methods
|
|
372
|
+
#####################################
|
|
373
|
+
|
|
374
|
+
# Are objects of this class mutable?
|
|
375
|
+
# @see the class method in OAPIObject
|
|
376
|
+
def mutable?
|
|
377
|
+
self.class.mutable?
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
# a hash of all unsaved changes
|
|
381
|
+
#
|
|
382
|
+
def unsaved_changes
|
|
383
|
+
return {} unless self.class.mutable?
|
|
384
|
+
|
|
385
|
+
@unsaved_changes ||= {}
|
|
386
|
+
|
|
387
|
+
changes = @unsaved_changes.dup
|
|
388
|
+
|
|
389
|
+
self.class::OAPI_PROPERTIES.each do |attr_name, attr_def|
|
|
390
|
+
# skip non-Class attrs
|
|
391
|
+
next unless attr_def[:class].is_a? Class
|
|
392
|
+
|
|
393
|
+
# the current value of the thing, e.g. a Location
|
|
394
|
+
# which may have unsaved changes
|
|
395
|
+
value = instance_variable_get "@#{attr_name}"
|
|
396
|
+
|
|
397
|
+
# skip those that don't have any changes
|
|
398
|
+
next unless value.respond_to? :unsaved_changes?
|
|
399
|
+
|
|
400
|
+
attr_changes = value.unsaved_changes
|
|
401
|
+
next if attr_changes.empty?
|
|
402
|
+
|
|
403
|
+
# add the sub-changes to ours
|
|
404
|
+
changes[attr_name] = attr_changes
|
|
405
|
+
end
|
|
406
|
+
changes[:ext_attrs] = ext_attrs_unsaved_changes if self.class.include? Jamf::Extendable
|
|
407
|
+
changes
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
# return true if we or any of our attributes have unsaved changes
|
|
411
|
+
#
|
|
412
|
+
def unsaved_changes?
|
|
413
|
+
return false unless self.class.mutable?
|
|
414
|
+
|
|
415
|
+
!unsaved_changes.empty?
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
def clear_unsaved_changes
|
|
419
|
+
return unless self.class.mutable?
|
|
420
|
+
|
|
421
|
+
unsaved_changes.keys.each do |attr_name|
|
|
422
|
+
attrib_val = instance_variable_get "@#{attr_name}"
|
|
423
|
+
if self.class::OAPI_PROPERTIES[attr_name][:multi]
|
|
424
|
+
attrib_val.each { |item| item.send :clear_unsaved_changes if item.respond_to? :clear_unsaved_changes }
|
|
425
|
+
elsif attrib_val.respond_to? :clear_unsaved_changes
|
|
426
|
+
attrib_val.send :clear_unsaved_changes
|
|
427
|
+
end
|
|
428
|
+
end
|
|
429
|
+
ext_attrs_clear_unsaved_changes if self.class.include? Jamf::Extendable
|
|
430
|
+
@unsaved_changes = {}
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
# @return [Hash] The data to be sent to the API, as a Hash
|
|
434
|
+
# to be converted to JSON before sending to the JPAPI
|
|
435
|
+
#
|
|
436
|
+
def to_jamf
|
|
437
|
+
jamf_data = {}
|
|
438
|
+
self.class::OAPI_PROPERTIES.each do |attr_name, attr_def|
|
|
439
|
+
raw_value = instance_variable_get "@#{attr_name}"
|
|
440
|
+
jamf_data[attr_name] = attr_def[:multi] ? multi_to_jamf(raw_value, attr_def) : single_to_jamf(raw_value, attr_def)
|
|
441
|
+
end
|
|
442
|
+
jamf_data
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
# @return [String] the JSON to be sent to the API for this
|
|
446
|
+
# object
|
|
447
|
+
#
|
|
448
|
+
def to_json(*_args)
|
|
449
|
+
to_jamf.to_json
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
# Print the JSON version of the to_jamf outout
|
|
453
|
+
# mostly for debugging/troubleshooting
|
|
454
|
+
def pretty_jamf_json
|
|
455
|
+
puts JSON.pretty_generate(to_jamf)
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
# Remove large cached items from
|
|
459
|
+
# the instance_variables used to create
|
|
460
|
+
# pretty-print (pp) output.
|
|
461
|
+
#
|
|
462
|
+
# @return [Array] the desired instance_variables
|
|
463
|
+
#
|
|
464
|
+
def pretty_print_instance_variables
|
|
465
|
+
vars = super.sort
|
|
466
|
+
vars.delete :@init_data
|
|
467
|
+
vars
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
# Comparable by the sha1 hash of our properties.
|
|
471
|
+
# Subclasses or mixins may override this in ways that make
|
|
472
|
+
# sense for them
|
|
473
|
+
def <=>(other)
|
|
474
|
+
sha1_hash <=> other.sha1_hash
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# The SHA1 hash of all the values of our properties as defined in the
|
|
478
|
+
# OAPI schema
|
|
479
|
+
def sha1_hash
|
|
480
|
+
Digest::SHA1.hexdigest(to_jamf.to_s)
|
|
481
|
+
end
|
|
482
|
+
|
|
483
|
+
# Private Instance Methods
|
|
484
|
+
#####################################
|
|
485
|
+
private
|
|
486
|
+
|
|
487
|
+
# Initialize a multi-values attribute as an empty array
|
|
488
|
+
# if it hasn't been created yet
|
|
489
|
+
def initialize_multi_value_attr_array(attr_name)
|
|
490
|
+
return if instance_variable_get("@#{attr_name}").is_a? Array
|
|
491
|
+
|
|
492
|
+
instance_variable_set("@#{attr_name}", [])
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
def note_unsaved_change(attr_name, old_value)
|
|
496
|
+
return unless self.class.mutable?
|
|
497
|
+
|
|
498
|
+
@unsaved_changes ||= {}
|
|
499
|
+
new_val = instance_variable_get "@#{attr_name}"
|
|
500
|
+
if @unsaved_changes[attr_name]
|
|
501
|
+
@unsaved_changes[attr_name][:new] = new_val
|
|
502
|
+
else
|
|
503
|
+
@unsaved_changes[attr_name] = { old: old_value, new: new_val }
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
# take data from the API and populate an our instance attributes
|
|
508
|
+
#
|
|
509
|
+
# @param data[Hash] The parsed API JSON data for this instance
|
|
510
|
+
#
|
|
511
|
+
# @return [void]
|
|
512
|
+
#
|
|
513
|
+
def parse_init_data(data)
|
|
514
|
+
self.class::OAPI_PROPERTIES.each do |attr_name, attr_def|
|
|
515
|
+
unless data.key? attr_name
|
|
516
|
+
raise Jamf::InvalidDataError, "Initialization must include the key '#{attr_name}:'" if attr_def[:required]
|
|
517
|
+
|
|
518
|
+
next
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
value =
|
|
522
|
+
if attr_def[:multi]
|
|
523
|
+
raw_array = data[attr_name] || []
|
|
524
|
+
raw_array.map { |v| parse_single_init_value v, attr_name, attr_def }
|
|
525
|
+
else
|
|
526
|
+
parse_single_init_value data[attr_name], attr_name, attr_def
|
|
527
|
+
end
|
|
528
|
+
instance_variable_set "@#{attr_name}", value
|
|
529
|
+
end # OAPI_PROPERTIES.each
|
|
530
|
+
end # parse_init_data(data)
|
|
531
|
+
|
|
532
|
+
# Parse an individual value from the API into an
|
|
533
|
+
# attribute or a member of a multi attribute
|
|
534
|
+
# Description of #parse_single_init_value
|
|
535
|
+
#
|
|
536
|
+
# @param api_value [Object] The parsed JSON value from the API
|
|
537
|
+
# @param attr_name [Symbol] The attribute we're processing
|
|
538
|
+
# @param attr_def [Hash] The attribute definition
|
|
539
|
+
#
|
|
540
|
+
# @return [Object] The storable value.
|
|
541
|
+
#
|
|
542
|
+
def parse_single_init_value(api_value, attr_name, attr_def)
|
|
543
|
+
# we do get nils from the API, and they should stay nil
|
|
544
|
+
return nil if api_value.nil?
|
|
545
|
+
|
|
546
|
+
# an enum value
|
|
547
|
+
if attr_def[:enum]
|
|
548
|
+
parse_enum_value(api_value, attr_name, attr_def)
|
|
549
|
+
|
|
550
|
+
# a Class value
|
|
551
|
+
elsif attr_def[:class].instance_of? Class
|
|
552
|
+
attr_def[:class].new api_value
|
|
553
|
+
|
|
554
|
+
# a :j_id value. See the docs for OAPI_PROPERTIES in Jamf::OAPIObject
|
|
555
|
+
elsif attr_def[:class] == :j_id
|
|
556
|
+
api_value.to_s
|
|
557
|
+
|
|
558
|
+
# a JSON value
|
|
559
|
+
else
|
|
560
|
+
api_value
|
|
561
|
+
end # if attr_def[:class].class
|
|
562
|
+
end
|
|
563
|
+
|
|
564
|
+
# Parse an api value into an attribute with an enum
|
|
565
|
+
#
|
|
566
|
+
# @param (see parse_single_init_value)
|
|
567
|
+
# @return (see parse_single_init_value)
|
|
568
|
+
#
|
|
569
|
+
def parse_enum_value(api_value, attr_name, attr_def)
|
|
570
|
+
Jamf::Validate.in_enum api_value, enum: attr_def[:enum],
|
|
571
|
+
msg: "#{api_value} is not in the allowed values for attribute #{attr_name}. Must be one of: #{attr_def[:enum].join ', '}"
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
# call to_jamf on a single value if it knows that method
|
|
575
|
+
#
|
|
576
|
+
def single_to_jamf(raw_value, _attr_def)
|
|
577
|
+
raw_value.respond_to?(:to_jamf) ? raw_value.to_jamf : raw_value
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# Call to_jamf on an array value
|
|
581
|
+
#
|
|
582
|
+
def multi_to_jamf(raw_array, attr_def)
|
|
583
|
+
raw_array ||= []
|
|
584
|
+
raw_array.map { |raw_value| single_to_jamf(raw_value, attr_def) }.compact
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
# wrapper for class method
|
|
588
|
+
def validate_attr(attr_name, value)
|
|
589
|
+
self.class.validate_attr attr_name, value
|
|
590
|
+
end
|
|
591
|
+
|
|
592
|
+
# Ruby 3's default behavior when raising exceptions will include the output
|
|
593
|
+
# of #inspect, recursively for all data in an object.
|
|
594
|
+
# For many OAPIObjects, esp JPAPI Resources, this includes the embedded
|
|
595
|
+
# Connection object and all the caches is might hold, which might be
|
|
596
|
+
# thousands of lines.
|
|
597
|
+
# we override that here to prevent that. I've heard rumor this will be
|
|
598
|
+
# fixed in ruby 3.2
|
|
599
|
+
# def inspect
|
|
600
|
+
# #<Jamf::Policy:0x0000000110138df8
|
|
601
|
+
# "<#{self.class}:#{object_id}>"
|
|
602
|
+
# end
|
|
603
|
+
|
|
604
|
+
# A meaningful string representation of this object
|
|
605
|
+
#
|
|
606
|
+
# @return [String]
|
|
607
|
+
#
|
|
608
|
+
def to_s
|
|
609
|
+
inspect
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
end # class JSONObject
|
|
613
|
+
|
|
614
|
+
end # module JAMF
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2022 Pixar
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
4
4
|
# with the following modification; you may not use this file except in
|
|
@@ -38,6 +38,7 @@ module Jamf
|
|
|
38
38
|
#
|
|
39
39
|
# @param cnx [Jamf::Connection] The connection to use, default: Jamf.cnx
|
|
40
40
|
#
|
|
41
|
+
# TODO: fix this return value, no more ErrorInfo
|
|
41
42
|
# @return [Array<Jamf::Connection::APIError::ErrorInfo] Info about any ids
|
|
42
43
|
# that failed to be deleted.
|
|
43
44
|
#
|