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,538 @@
|
|
|
1
|
+
### Copyright 2022 Pixar
|
|
2
|
+
###
|
|
3
|
+
### Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
4
|
+
### with the following modification; you may not use this file except in
|
|
5
|
+
### compliance with the Apache License and the following modification to it:
|
|
6
|
+
### Section 6. Trademarks. is deleted and replaced with:
|
|
7
|
+
###
|
|
8
|
+
### 6. Trademarks. This License does not grant permission to use the trade
|
|
9
|
+
### names, trademarks, service marks, or product names of the Licensor
|
|
10
|
+
### and its affiliates, except as required to comply with Section 4(c) of
|
|
11
|
+
### the License and to reproduce the content of the NOTICE file.
|
|
12
|
+
###
|
|
13
|
+
### You may obtain a copy of the Apache License at
|
|
14
|
+
###
|
|
15
|
+
### http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
###
|
|
17
|
+
### Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
### distributed under the Apache License with the above modification is
|
|
19
|
+
### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
20
|
+
### KIND, either express or implied. See the Apache License for the specific
|
|
21
|
+
### language governing permissions and limitations under the Apache License.
|
|
22
|
+
###
|
|
23
|
+
###
|
|
24
|
+
|
|
25
|
+
module Jamf
|
|
26
|
+
|
|
27
|
+
class Connection
|
|
28
|
+
|
|
29
|
+
# This module defines constants and methods used for processing the connection
|
|
30
|
+
# parameters, acquiring passwords and tokens, and creating the connection
|
|
31
|
+
# objects to the Classic and Jamf Pro APIs. It also defines the disconnection
|
|
32
|
+
# methods
|
|
33
|
+
#############################################
|
|
34
|
+
module Connect
|
|
35
|
+
|
|
36
|
+
# Connect to the both the Classic and Jamf Pro APIs
|
|
37
|
+
#
|
|
38
|
+
# IMPORTANT: http (non-SSL, unencrypted) connections are not allowed.
|
|
39
|
+
#
|
|
40
|
+
# The first parameter may be a URL (must be https) from which
|
|
41
|
+
# the host & port will be used, and if present, the user and password
|
|
42
|
+
# E.g.
|
|
43
|
+
# connect 'https://myuser:pass@host.domain.edu:8443'
|
|
44
|
+
#
|
|
45
|
+
# which is the same as:
|
|
46
|
+
# connect host: 'host.domain.edu', port: 8443, user: 'myuser', pw: 'pass'
|
|
47
|
+
#
|
|
48
|
+
# When using a URL, other parameters below may be specified, however
|
|
49
|
+
# host: and port: parameters will be ignored, since they came from the URL,
|
|
50
|
+
# as will user: and :pw, if they are present in the URL. If the URL doesn't
|
|
51
|
+
# contain user and pw, they can be provided via the parameters, or left
|
|
52
|
+
# to default values.
|
|
53
|
+
#
|
|
54
|
+
# ### Passwords
|
|
55
|
+
#
|
|
56
|
+
# The pw: parameter also accepts the symbols :prompt, and :stdin[X]
|
|
57
|
+
#
|
|
58
|
+
# If :prompt, the user is promted on the commandline to enter the password
|
|
59
|
+
# for the :user.
|
|
60
|
+
#
|
|
61
|
+
# If :stdin, the password is read from the first line of stdin
|
|
62
|
+
#
|
|
63
|
+
# If :stdinX, (where X is an integer) the password is read from the Xth
|
|
64
|
+
# line of stdin.see {Jamf.stdin}
|
|
65
|
+
#
|
|
66
|
+
# If omitted, and running from an interactive terminal, the user is
|
|
67
|
+
# prompted as with :prompt
|
|
68
|
+
#
|
|
69
|
+
# ### Tokens
|
|
70
|
+
# Instead of a user and password, you may specify a valid 'token:', which is
|
|
71
|
+
# either:
|
|
72
|
+
#
|
|
73
|
+
# A Jamf::Connection::Token object, which can be extracted from an active
|
|
74
|
+
# Jamf::Connection via its #token method
|
|
75
|
+
#
|
|
76
|
+
# or
|
|
77
|
+
#
|
|
78
|
+
# A valid token string e.g. "eyJhdXR...6EKoo" from any source can also be used.
|
|
79
|
+
#
|
|
80
|
+
# When using an existing token or token string, the username used to create
|
|
81
|
+
# the token will be read from the server. However, if you don't also provide
|
|
82
|
+
# the users password using the pw: parameter, then the pw_fallback option
|
|
83
|
+
# will always be false.
|
|
84
|
+
#
|
|
85
|
+
# ### Default values
|
|
86
|
+
#
|
|
87
|
+
# Any values available via JSS.config will be used if they are not provided
|
|
88
|
+
# in the parameters. See {Jamf::Configuration}. If there are no config values
|
|
89
|
+
# then a built-in default is used if available.
|
|
90
|
+
#
|
|
91
|
+
#
|
|
92
|
+
# @param url[String] The URL to use for the connection. Must be 'https'.
|
|
93
|
+
# The host, port, and (if provided), user and spassword will be extracted.
|
|
94
|
+
# Any of those params explicitly provided will be ignored if present in
|
|
95
|
+
# the url
|
|
96
|
+
#
|
|
97
|
+
# @param params[Hash] the keyed parameters for connection.
|
|
98
|
+
#
|
|
99
|
+
# @option params :host[String] the hostname of the JSS API server, required
|
|
100
|
+
# if not defined in JSS.config
|
|
101
|
+
#
|
|
102
|
+
# @option params :server_path[String] If your JSS is not at the root of the
|
|
103
|
+
# server, e.g. if it's at
|
|
104
|
+
# https://myjss.myserver.edu:8443/dev_mgmt/jssweb
|
|
105
|
+
# rather than
|
|
106
|
+
# https://myjss.myserver.edu:8443/
|
|
107
|
+
# then use this parameter to specify the path below the root e.g:
|
|
108
|
+
# server_path: 'dev_mgmt/jssweb'
|
|
109
|
+
#
|
|
110
|
+
# @option params :user[String] a JSS user who has API privs, required if not
|
|
111
|
+
# defined in Jamf::CONFIG
|
|
112
|
+
#
|
|
113
|
+
# @option params :pw[String, Symbol] The user's password, :prompt, or :stdin
|
|
114
|
+
# If :prompt, the user is promted on the commandline to enter the password
|
|
115
|
+
# If :stdin#, the password is read from a line of std in represented by
|
|
116
|
+
# the digit at #, so :stdin3 reads the passwd from the third line of
|
|
117
|
+
# standard input. Defaults to line 1, if no digit is supplied. see {JSS.stdin}
|
|
118
|
+
#
|
|
119
|
+
# @option params :port[Integer] the port number to connect with, defaults
|
|
120
|
+
# to 443 for Jamf Cloud hosts, 8443 for on-prem hosts
|
|
121
|
+
#
|
|
122
|
+
# @option params :ssl_version[String, Symbol] The SSL version to use. Default
|
|
123
|
+
# is TLSv1_2
|
|
124
|
+
#
|
|
125
|
+
# @option params :verify_cert[Boolean] should SSL certificates be verified.
|
|
126
|
+
# Defaults to true.
|
|
127
|
+
#
|
|
128
|
+
# @option params :open_timeout[Integer] the number of seconds to wait for an
|
|
129
|
+
# initial response, defaults to 60
|
|
130
|
+
#
|
|
131
|
+
# @option params :timeout[Integer] the number of seconds before an API call
|
|
132
|
+
# times out, defaults to 60
|
|
133
|
+
#
|
|
134
|
+
# @option params :keep_alive[Boolean] Should the token for the connection
|
|
135
|
+
# for be automatically refreshed before it expires? Default is true
|
|
136
|
+
#
|
|
137
|
+
# @option params :token_refresh_buffer[Integer] If keep_alive, refresh the
|
|
138
|
+
# token this many seconds before it expires.
|
|
139
|
+
# Must be >= Jamf::Connection::Token::MIN_REFRESH_BUFFER, which is the default
|
|
140
|
+
#
|
|
141
|
+
# @option params :pw_fallback [Boolean] If keep_alive, should the passwd be
|
|
142
|
+
# cached in memory and used to create a new token, if there are problems
|
|
143
|
+
# with the normal token refresh process?
|
|
144
|
+
#
|
|
145
|
+
# @option params :sticky_session [Boolean] Use a 'sticky session'? Default is false.
|
|
146
|
+
# The hostname of Jamf Cloud urls does not point to a single https server,
|
|
147
|
+
# but any node of a cluster. Those nodes often take time to see changes
|
|
148
|
+
# made in other node. Sometimes, its important to perform a series of API
|
|
149
|
+
# actions to the same node, to avoid sync-timing problems between node. Setting
|
|
150
|
+
# sticky_session to true will cause all communication for this Connection to go
|
|
151
|
+
# through the one specific node it first connected ith.
|
|
152
|
+
# This is only relevant to Jamf Cloud connections, and will raise an exception
|
|
153
|
+
# is used with on-prem Jamf Pro servers.
|
|
154
|
+
# NOTE: It is not always appropriate to use this feature, and inapproriate use
|
|
155
|
+
# may negatively impact server performance. For more info, see
|
|
156
|
+
# https://developer.jamf.com/developer-guide/docs/sticky-sessions-for-jamf-cloud
|
|
157
|
+
#
|
|
158
|
+
# @return [String] connection description, the output of #to_s
|
|
159
|
+
#
|
|
160
|
+
#######################################################
|
|
161
|
+
def connect(url = nil, **params)
|
|
162
|
+
raise ArgumentError, 'No url or connection parameters provided' if url.nil? && params.empty?
|
|
163
|
+
|
|
164
|
+
# reset all values, flush caches
|
|
165
|
+
disconnect
|
|
166
|
+
|
|
167
|
+
# If there's a Token object in :token, this sets @token,
|
|
168
|
+
# and adds host, port, user from that token
|
|
169
|
+
parse_token params
|
|
170
|
+
|
|
171
|
+
# Get host, port, user and pw from a URL, add to params if needed
|
|
172
|
+
parse_url url, params
|
|
173
|
+
|
|
174
|
+
# apply defaults from config, client, and then ruby-jss itself.
|
|
175
|
+
apply_default_params params
|
|
176
|
+
|
|
177
|
+
# Once we're here, all params have been parsed & defaulted into the
|
|
178
|
+
# params hash, so make sure we have the minimum needed params for a connection
|
|
179
|
+
verify_basic_params params
|
|
180
|
+
|
|
181
|
+
# it there's no @token yet, get one from a token string or a password
|
|
182
|
+
create_token_if_needed(params)
|
|
183
|
+
|
|
184
|
+
# We have to have a usable connection to do this, so it has to come after
|
|
185
|
+
# all the stuff above
|
|
186
|
+
verify_server_version
|
|
187
|
+
|
|
188
|
+
@timeout = params[:timeout]
|
|
189
|
+
@open_timeout = params[:open_timeout]
|
|
190
|
+
|
|
191
|
+
@connect_time = Time.now
|
|
192
|
+
@name ||= "#{user}@#{host}:#{port}"
|
|
193
|
+
|
|
194
|
+
@c_base_url = base_url + Jamf::Connection::CAPI_RSRC_BASE
|
|
195
|
+
@jp_base_url = base_url + Jamf::Connection::JPAPI_RSRC_BASE
|
|
196
|
+
|
|
197
|
+
# the faraday connection objects
|
|
198
|
+
@c_cnx = create_classic_connection
|
|
199
|
+
@jp_cnx = create_jp_connection
|
|
200
|
+
|
|
201
|
+
# set the connection objects to sticky if desired. enforce booleans
|
|
202
|
+
self.sticky_session = params[:sticky_session] ? true : false
|
|
203
|
+
|
|
204
|
+
@connected = true
|
|
205
|
+
|
|
206
|
+
to_s
|
|
207
|
+
end # connect
|
|
208
|
+
alias login connect
|
|
209
|
+
|
|
210
|
+
# If a sticky_session was requested when the connection was made, and
|
|
211
|
+
# we are connected to a jamf cloud server, the token's http response
|
|
212
|
+
# contains the cookie we need to send with every request to ensure a
|
|
213
|
+
# stickey session.
|
|
214
|
+
#################################
|
|
215
|
+
def enable_sticky_session(headers)
|
|
216
|
+
# commas separate the cookies
|
|
217
|
+
raw_cookies = headers[Jamf::Connection::SET_COOKIE_HEADER].split(/\s*,\s*/)
|
|
218
|
+
|
|
219
|
+
raw_cookies.each do |rc|
|
|
220
|
+
# semicolons separate the attributes of the cookie,
|
|
221
|
+
# with its name and value being the first pair.
|
|
222
|
+
cookie_data = rc.split(/\s*;\s*/).first
|
|
223
|
+
|
|
224
|
+
# attribute name and value are separated by '='
|
|
225
|
+
cookie_name, cookie_value = cookie_data.split('=')
|
|
226
|
+
next unless cookie_name == Jamf::Connection::STICKY_SESSION_COOKIE_NAME
|
|
227
|
+
|
|
228
|
+
@sticky_session_cookie = "#{Jamf::Connection::STICKY_SESSION_COOKIE_NAME}=#{cookie_value}"
|
|
229
|
+
jp_cnx.headers[Jamf::Connection::COOKIE_HEADER] = @sticky_session_cookie
|
|
230
|
+
c_cnx.headers[Jamf::Connection::COOKIE_HEADER] = @sticky_session_cookie
|
|
231
|
+
return @sticky_session_cookie
|
|
232
|
+
end
|
|
233
|
+
# be sure to return nil if there was no appropriate cookie,
|
|
234
|
+
# which means we aren't using Jamf Cloud
|
|
235
|
+
|
|
236
|
+
nil
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# raise exception if not connected, and make sure we're using
|
|
240
|
+
# the current token
|
|
241
|
+
def validate_connected(subcnx)
|
|
242
|
+
using_dft = 'Jamf.cnx' if self == Jamf.cnx
|
|
243
|
+
raise Jamf::InvalidConnectionError, "Connection '#{@name}' Not Connected. Use #{using_dft}.connect first." unless connected?
|
|
244
|
+
|
|
245
|
+
update_refreshed_token(subcnx)
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
# always use the current token, which by default will auto-refresh
|
|
249
|
+
def update_refreshed_token(subcnx)
|
|
250
|
+
return if subcnx.headers['Authorization'] == "Bearer #{@token.token}"
|
|
251
|
+
|
|
252
|
+
subcnx.authorization :Bearer, @token.token
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
# With a REST connection, there isn't any real "connection" to disconnect from
|
|
256
|
+
# So to disconnect, we just unset all our credentials.
|
|
257
|
+
#
|
|
258
|
+
# @return [void]
|
|
259
|
+
#
|
|
260
|
+
#######################################################
|
|
261
|
+
def disconnect
|
|
262
|
+
flushcache
|
|
263
|
+
@token&.stop_keep_alive
|
|
264
|
+
|
|
265
|
+
@connect_time = nil
|
|
266
|
+
@jp_cnx = nil
|
|
267
|
+
@c_cnx = nil
|
|
268
|
+
@c_base_url = nil
|
|
269
|
+
@jp_base_url = nil
|
|
270
|
+
@server_path = nil
|
|
271
|
+
@token = nil
|
|
272
|
+
@sticky_session_cookie = nil
|
|
273
|
+
@sticky_session = nil
|
|
274
|
+
@connected = false
|
|
275
|
+
:disconnected
|
|
276
|
+
end # disconnect
|
|
277
|
+
|
|
278
|
+
# Same as disconnect, but invalidates the token on the server first
|
|
279
|
+
#######################################################
|
|
280
|
+
def logout
|
|
281
|
+
@token&.invalidate
|
|
282
|
+
disconnect
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
##### Parsing Params & creating connections
|
|
286
|
+
######################################################
|
|
287
|
+
private
|
|
288
|
+
|
|
289
|
+
# Get host, port, & user from a Token object
|
|
290
|
+
# or just the user from a token string.
|
|
291
|
+
#######################################################
|
|
292
|
+
def parse_token(params)
|
|
293
|
+
return unless params[:token].is_a? Jamf::Connection::Token
|
|
294
|
+
|
|
295
|
+
verify_token params[:token]
|
|
296
|
+
@token = params[:token]
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
# Raise execeptions if we were given an unusable token object
|
|
300
|
+
#
|
|
301
|
+
# @param params[Hash] The params for #connect
|
|
302
|
+
#
|
|
303
|
+
# @return [void]
|
|
304
|
+
#
|
|
305
|
+
#######################################################
|
|
306
|
+
def verify_token(token)
|
|
307
|
+
raise Jamf::InvalidConnectionError, 'Cannot use token: it has expired' if token.expired?
|
|
308
|
+
raise Jamf::InvalidConnectionError, 'Cannot use token: it is invalid' unless token.valid?
|
|
309
|
+
return if token.secs_remaining >= Jamf::Connection::TOKEN_REUSE_MIN_LIFE
|
|
310
|
+
|
|
311
|
+
raise Jamf::InvalidConnectionError, "Cannot use token: it expires in less than #{Jamf::Connection::TOKEN_REUSE_MIN_LIFE} seconds"
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
# Get host, port, user and pw from a URL, overriding any already in the params
|
|
315
|
+
#
|
|
316
|
+
# @return [String, nil] the pw if present
|
|
317
|
+
#
|
|
318
|
+
#######################################################
|
|
319
|
+
def parse_url(url, params)
|
|
320
|
+
return unless url
|
|
321
|
+
|
|
322
|
+
url = URI.parse url.to_s
|
|
323
|
+
raise ArgumentError, 'Invalid url, scheme must be https' unless url.scheme == Jamf::Connection::HTTPS_SCHEME
|
|
324
|
+
|
|
325
|
+
# this removes any user and pw from the url, so we can give it to the token
|
|
326
|
+
params[:given_url] = "#{url.scheme}://#{url.host}:#{url.port}#{url.path}/"
|
|
327
|
+
params[:host] = url.host
|
|
328
|
+
params[:port] = url.port
|
|
329
|
+
params[:user] = url.user if url.user
|
|
330
|
+
params[:pw] = url.password if url.password
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
# Apply defaults to the unset params for the #connect method
|
|
334
|
+
# First apply them from from the Jamf.config,
|
|
335
|
+
# then from the Jamf::Client (read from the jamf binary config),
|
|
336
|
+
# then from the Jamf module defaults
|
|
337
|
+
#
|
|
338
|
+
# @param params[Hash] The params for #connect
|
|
339
|
+
#
|
|
340
|
+
# @return [Hash] The params with defaults applied
|
|
341
|
+
#
|
|
342
|
+
#######################################################
|
|
343
|
+
def apply_default_params(params)
|
|
344
|
+
# must have a host, but accept legacy :server as well as :host
|
|
345
|
+
params[:host] ||= params[:server]
|
|
346
|
+
|
|
347
|
+
# if we have no port set by this point, set to cloud port
|
|
348
|
+
# if host is a cloud host. But leave port nil for other hosts
|
|
349
|
+
# (will be set via client defaults or module defaults)
|
|
350
|
+
params[:port] ||= Jamf::Connection::JAMFCLOUD_PORT if params[:host].to_s.end_with?(Jamf::Connection::JAMFCLOUD_DOMAIN)
|
|
351
|
+
|
|
352
|
+
apply_defaults_from_config(params)
|
|
353
|
+
|
|
354
|
+
apply_defaults_from_client(params)
|
|
355
|
+
|
|
356
|
+
apply_module_defaults(params)
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
# Apply defaults from the Jamf.config
|
|
360
|
+
# to the params for the #connect method
|
|
361
|
+
#
|
|
362
|
+
# @param params[Hash] The params for #connect
|
|
363
|
+
#
|
|
364
|
+
# @return [Hash] The params with defaults applied
|
|
365
|
+
#
|
|
366
|
+
#######################################################
|
|
367
|
+
def apply_defaults_from_config(params)
|
|
368
|
+
# settings from config if they aren't in the params
|
|
369
|
+
params[:host] ||= JSS.config.api_server_name
|
|
370
|
+
params[:port] ||= JSS.config.api_server_port
|
|
371
|
+
params[:user] ||= JSS.config.api_username
|
|
372
|
+
params[:timeout] ||= JSS.config.api_timeout
|
|
373
|
+
params[:open_timeout] ||= JSS.config.api_timeout_open
|
|
374
|
+
params[:ssl_version] ||= JSS.config.api_ssl_version
|
|
375
|
+
|
|
376
|
+
# if verify cert was not in the params, get it from the prefs.
|
|
377
|
+
# We can't use ||= because the desired value might be 'false'
|
|
378
|
+
params[:verify_cert] = JSS.config.api_verify_cert if params[:verify_cert].nil?
|
|
379
|
+
end # apply_defaults_from_config
|
|
380
|
+
|
|
381
|
+
# Apply defaults from the Jamf::Client
|
|
382
|
+
# to the params for the #connect method
|
|
383
|
+
#
|
|
384
|
+
# @param params[Hash] The params for #connect
|
|
385
|
+
#
|
|
386
|
+
# @return [Hash] The params with defaults applied
|
|
387
|
+
#
|
|
388
|
+
#######################################################
|
|
389
|
+
def apply_defaults_from_client(params)
|
|
390
|
+
return unless Jamf::Client.installed?
|
|
391
|
+
|
|
392
|
+
# these settings can come from the jamf binary config,
|
|
393
|
+
# if this machine is a Jamf client.
|
|
394
|
+
params[:host] ||= Jamf::Client.jss_server
|
|
395
|
+
params[:port] ||= Jamf::Client.jss_port.to_i
|
|
396
|
+
rescue
|
|
397
|
+
nil
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# Apply the module defaults to the params for the #connect method
|
|
401
|
+
#
|
|
402
|
+
# @param params[Hash] The params for #connect
|
|
403
|
+
#
|
|
404
|
+
# @return [Hash] The params with defaults applied
|
|
405
|
+
#
|
|
406
|
+
#######################################################
|
|
407
|
+
def apply_module_defaults(params)
|
|
408
|
+
# if we have no port set by this point, assume on-prem.
|
|
409
|
+
params[:port] ||= Jamf::Connection::ON_PREM_SSL_PORT
|
|
410
|
+
params[:timeout] ||= Jamf::Connection::DFT_TIMEOUT
|
|
411
|
+
params[:open_timeout] ||= Jamf::Connection::DFT_OPEN_TIMEOUT
|
|
412
|
+
params[:ssl_version] ||= Jamf::Connection::DFT_SSL_VERSION
|
|
413
|
+
params[:token_refresh_buffer] ||= Jamf::Connection::Token::MIN_REFRESH_BUFFER
|
|
414
|
+
# if we have a TTY, pw defaults to :prompt
|
|
415
|
+
params[:pw] ||= :prompt if $stdin.tty?
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
# Raise execeptions if we don't have essential data for a new connection
|
|
419
|
+
# namely a host, user, and pw
|
|
420
|
+
#
|
|
421
|
+
# @param params[Hash] The params for #connect
|
|
422
|
+
#
|
|
423
|
+
# @return [void]
|
|
424
|
+
#
|
|
425
|
+
#######################################################
|
|
426
|
+
def verify_basic_params(params)
|
|
427
|
+
# if given a Token object, it has host, port, user, and base_url
|
|
428
|
+
# and is already parsed
|
|
429
|
+
return if @token
|
|
430
|
+
|
|
431
|
+
# must have a host, it could have come from a url, or a param
|
|
432
|
+
raise Jamf::MissingDataError, 'No Jamf :host specified in params or configuration.' unless params[:host]
|
|
433
|
+
|
|
434
|
+
# no need for user or pass if using a token string
|
|
435
|
+
# (tho a pw might be given)
|
|
436
|
+
return if params[:token].is_a? String
|
|
437
|
+
|
|
438
|
+
# must have user and pw
|
|
439
|
+
raise Jamf::MissingDataError, 'No Jamf :user specified in params or configuration.' unless params[:user]
|
|
440
|
+
raise Jamf::MissingDataError, "No :pw specified for user '#{params[:user]}'" unless params[:pw]
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
# it there's no @token yet, get one from a token string or a password
|
|
444
|
+
#######################################################
|
|
445
|
+
def create_token_if_needed(params)
|
|
446
|
+
return if @token
|
|
447
|
+
|
|
448
|
+
if params[:token].is_a? String
|
|
449
|
+
# if pw_fallback, the pw must be acquired, since it isn't in the token
|
|
450
|
+
# Can't do this yet, cuz we need to create the Token instance first in order
|
|
451
|
+
# to learn who the user is!
|
|
452
|
+
# params[:pw] = acquire_password(params[:host], params[:user], params[:pw]) if params[:pw_fallback]
|
|
453
|
+
token_src = :token_string
|
|
454
|
+
else
|
|
455
|
+
params[:pw] = acquire_password(params[:host], params[:user], params[:pw])
|
|
456
|
+
token_src = :pw
|
|
457
|
+
end
|
|
458
|
+
@token = token_from token_src, params
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
# given a token string or a password, get a valid token
|
|
462
|
+
# Token.new will raise an exception if the token string or
|
|
463
|
+
# credentials are invalid
|
|
464
|
+
#######################################################
|
|
465
|
+
def token_from(type, params)
|
|
466
|
+
token_params = {
|
|
467
|
+
base_url: build_base_url(params),
|
|
468
|
+
user: params[:user],
|
|
469
|
+
timeout: params[:timeout],
|
|
470
|
+
keep_alive: params[:keep_alive],
|
|
471
|
+
refresh_buffer: params[:token_refresh_buffer],
|
|
472
|
+
pw_fallback: params[:pw_fallback],
|
|
473
|
+
ssl_version: params[:ssl_version],
|
|
474
|
+
verify_cert: params[:verify_cert]
|
|
475
|
+
}
|
|
476
|
+
token_params[:token_string] = params[:token] if type == :token_string
|
|
477
|
+
token_params[:pw] = params[:pw] unless params[:pw].is_a? Symbol
|
|
478
|
+
|
|
479
|
+
self.class::Token.new(**token_params)
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
# Build the base URL for the API connection
|
|
483
|
+
#
|
|
484
|
+
# @param args[Hash] The args for #connect
|
|
485
|
+
#
|
|
486
|
+
# @return [String] The URI encoded URL
|
|
487
|
+
#
|
|
488
|
+
#######################################################
|
|
489
|
+
def build_base_url(params)
|
|
490
|
+
# if we parsed a URL directly from connect' first parameter, then use that.
|
|
491
|
+
return params[:given_url] if params[:given_url]
|
|
492
|
+
|
|
493
|
+
# trim any potential leading & trailing slash on server_path,
|
|
494
|
+
# ensure a trailing slash below
|
|
495
|
+
server_path = params[:server_path].to_s.delete_prefix '/'
|
|
496
|
+
server_path.delete_suffix! '/'
|
|
497
|
+
|
|
498
|
+
# and here's the URL
|
|
499
|
+
"#{Jamf::Connection::HTTPS_SCHEME}://#{params[:host]}:#{params[:port]}/#{server_path}/"
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
# From whatever was given in args[:pw], figure out the real password
|
|
503
|
+
#
|
|
504
|
+
# @param args[Hash] The args for #connect
|
|
505
|
+
#
|
|
506
|
+
# @return [String] The password for the connection
|
|
507
|
+
#
|
|
508
|
+
#######################################################
|
|
509
|
+
def acquire_password(host, user, pw)
|
|
510
|
+
if pw == :prompt
|
|
511
|
+
JSS.prompt_for_password "Enter the password for JSS user #{user}@#{host}:"
|
|
512
|
+
elsif pw.is_a?(Symbol) && args[:pw].to_s.start_with?('stdin')
|
|
513
|
+
pw.to_s =~ /^stdin(\d+)$/
|
|
514
|
+
line = Regexp.last_match(1)
|
|
515
|
+
line ||= 1
|
|
516
|
+
JSS.stdin line
|
|
517
|
+
else
|
|
518
|
+
pw
|
|
519
|
+
end
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
# raise error if the server version is too old
|
|
523
|
+
# @return [void]
|
|
524
|
+
#######################################################
|
|
525
|
+
def verify_server_version
|
|
526
|
+
return if jamf_version >= Jamf::Connection::MIN_JAMF_VERSION
|
|
527
|
+
|
|
528
|
+
raise(
|
|
529
|
+
Jamf::InvalidConnectionError,
|
|
530
|
+
"This version of ruby-jss requires Jamf server version #{Jamf::Connection::MIN_JAMF_VERSION} or higher. #{host} is running #{jamf_version}"
|
|
531
|
+
)
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
end # module
|
|
535
|
+
|
|
536
|
+
end # class
|
|
537
|
+
|
|
538
|
+
end # module Jamf
|
|
@@ -0,0 +1,112 @@
|
|
|
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 main module
|
|
26
|
+
module Jamf
|
|
27
|
+
|
|
28
|
+
class Connection
|
|
29
|
+
|
|
30
|
+
# This module defines constants related to API connctions, used throughout
|
|
31
|
+
# the connection class and elsewhere.
|
|
32
|
+
##########################################
|
|
33
|
+
module Constants
|
|
34
|
+
|
|
35
|
+
# This version of ruby-jss only works with this version of the server
|
|
36
|
+
# and higher
|
|
37
|
+
MIN_JAMF_VERSION = Gem::Version.new('10.35.0')
|
|
38
|
+
|
|
39
|
+
# The base of the Classic API resources
|
|
40
|
+
CAPI_RSRC_BASE = 'JSSResource'.freeze
|
|
41
|
+
|
|
42
|
+
# The base of the Jamf Pro API resources
|
|
43
|
+
JPAPI_RSRC_BASE = 'api'.freeze
|
|
44
|
+
|
|
45
|
+
# pre-existing tokens must have this many seconds before
|
|
46
|
+
# before they expire
|
|
47
|
+
TOKEN_REUSE_MIN_LIFE = 60
|
|
48
|
+
|
|
49
|
+
# A string indicating we are not connected
|
|
50
|
+
NOT_CONNECTED = 'Not Connected'.freeze
|
|
51
|
+
|
|
52
|
+
# if @name is any of these when a connection is made, it
|
|
53
|
+
# is reset to a default based on the connection params
|
|
54
|
+
NON_NAMES = [NOT_CONNECTED, :unknown, nil, :disconnected].freeze
|
|
55
|
+
|
|
56
|
+
HTTPS_SCHEME = 'https'.freeze
|
|
57
|
+
|
|
58
|
+
# The Jamf default SSL port for on-prem servers
|
|
59
|
+
ON_PREM_SSL_PORT = 8443
|
|
60
|
+
|
|
61
|
+
# The https default SSL port for Jamf Cloud servers
|
|
62
|
+
HTTPS_SSL_PORT = 443
|
|
63
|
+
|
|
64
|
+
# Recognize Jamf Cloud servers
|
|
65
|
+
JAMFCLOUD_DOMAIN = 'jamfcloud.com'.freeze
|
|
66
|
+
|
|
67
|
+
# JamfCloud connections default to 443, not 8443
|
|
68
|
+
JAMFCLOUD_PORT = HTTPS_SSL_PORT
|
|
69
|
+
|
|
70
|
+
# The top line of an XML doc for submitting data via Classic API
|
|
71
|
+
XML_HEADER = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.freeze
|
|
72
|
+
|
|
73
|
+
DFT_OPEN_TIMEOUT = 60
|
|
74
|
+
DFT_TIMEOUT = 60
|
|
75
|
+
|
|
76
|
+
# The Default SSL Version
|
|
77
|
+
DFT_SSL_VERSION = 'TLSv1_2'.freeze
|
|
78
|
+
|
|
79
|
+
RSRC_NOT_FOUND_MSG = 'The requested resource was not found'.freeze
|
|
80
|
+
|
|
81
|
+
# values for the 'format' param of #c_get
|
|
82
|
+
GET_FORMATS = %i[json xml].freeze
|
|
83
|
+
|
|
84
|
+
HTTP_ACCEPT_HEADER = 'Accept'.freeze
|
|
85
|
+
HTTP_CONTENT_TYPE_HEADER = 'Content-Type'.freeze
|
|
86
|
+
|
|
87
|
+
MIME_JSON = 'application/json'.freeze
|
|
88
|
+
MIME_XML = 'application/xml'.freeze
|
|
89
|
+
|
|
90
|
+
# Only these variables are displayed with PrettyPrint
|
|
91
|
+
# This avoids, especially, the caches, which are available
|
|
92
|
+
# as attr_readers
|
|
93
|
+
PP_VARS = %i[
|
|
94
|
+
@name
|
|
95
|
+
@connected
|
|
96
|
+
@open_timeout
|
|
97
|
+
@timeout
|
|
98
|
+
@server_path
|
|
99
|
+
@connect_time
|
|
100
|
+
].freeze
|
|
101
|
+
|
|
102
|
+
SET_COOKIE_HEADER = 'set-cookie'.freeze
|
|
103
|
+
|
|
104
|
+
COOKIE_HEADER = 'Cookie'.freeze
|
|
105
|
+
|
|
106
|
+
STICKY_SESSION_COOKIE_NAME = 'APBALANCEID'.freeze
|
|
107
|
+
|
|
108
|
+
end # module
|
|
109
|
+
|
|
110
|
+
end # class
|
|
111
|
+
|
|
112
|
+
end # module Jamf
|