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
data/lib/jss/client.rb
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
### Copyright 2020 Pixar
|
|
2
|
-
|
|
3
|
-
###
|
|
4
|
-
### Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
5
|
-
### with the following modification; you may not use this file except in
|
|
6
|
-
### compliance with the Apache License and the following modification to it:
|
|
7
|
-
### Section 6. Trademarks. is deleted and replaced with:
|
|
8
|
-
###
|
|
9
|
-
### 6. Trademarks. This License does not grant permission to use the trade
|
|
10
|
-
### names, trademarks, service marks, or product names of the Licensor
|
|
11
|
-
### and its affiliates, except as required to comply with Section 4(c) of
|
|
12
|
-
### the License and to reproduce the content of the NOTICE file.
|
|
13
|
-
###
|
|
14
|
-
### You may obtain a copy of the Apache License at
|
|
15
|
-
###
|
|
16
|
-
### http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
###
|
|
18
|
-
### Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
### distributed under the Apache License with the above modification is
|
|
20
|
-
### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
21
|
-
### KIND, either express or implied. See the Apache License for the specific
|
|
22
|
-
### language governing permissions and limitations under the Apache License.
|
|
23
|
-
###
|
|
24
|
-
###
|
|
25
|
-
|
|
26
|
-
###
|
|
27
|
-
module JSS
|
|
28
|
-
|
|
29
|
-
# This class represents a Jamf/JSS Client computer, on which
|
|
30
|
-
# this code is running.
|
|
31
|
-
#
|
|
32
|
-
# Since the class represents the current machine, there's no need
|
|
33
|
-
# to make an instance of it, all methods are class methods.
|
|
34
|
-
#
|
|
35
|
-
# At the moment, only Macintosh computers are supported.
|
|
36
|
-
#
|
|
37
|
-
# TODO: convert this to a module, since that's how it's used.
|
|
38
|
-
#
|
|
39
|
-
class Client
|
|
40
|
-
|
|
41
|
-
# Constants
|
|
42
|
-
#####################################
|
|
43
|
-
|
|
44
|
-
# The Pathname to the preferences plist used by the jamf binary
|
|
45
|
-
JAMF_PLIST = Pathname.new '/Library/Preferences/com.jamfsoftware.jamf.plist'
|
|
46
|
-
|
|
47
|
-
# The Pathname to the JAMF support folder
|
|
48
|
-
JAMF_SUPPORT_FOLDER = Pathname.new '/Library/Application Support/JAMF'
|
|
49
|
-
|
|
50
|
-
# The JAMF receipts folder, where package installs are tracked.
|
|
51
|
-
RECEIPTS_FOLDER = JAMF_SUPPORT_FOLDER + 'Receipts'
|
|
52
|
-
|
|
53
|
-
# The JAMF downloads folder
|
|
54
|
-
DOWNLOADS_FOLDER = JAMF_SUPPORT_FOLDER + 'Downloads'
|
|
55
|
-
|
|
56
|
-
# The bin folder inside the Jamf support folder
|
|
57
|
-
SUPPORT_BIN_FOLDER = JAMF_SUPPORT_FOLDER + 'bin'
|
|
58
|
-
|
|
59
|
-
# The bin folder with the jamf binary and a few other things
|
|
60
|
-
USR_LOCAL_BIN_FOLDER = Pathname.new '/usr/local/jamf/bin'
|
|
61
|
-
|
|
62
|
-
# This command gives raw info about console users
|
|
63
|
-
CONSOLE_USERS_SCUTIL_CMD = 'echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil'.freeze
|
|
64
|
-
|
|
65
|
-
# ignore console user = root (loginwindow)
|
|
66
|
-
ROOT_USER = 'root'.freeze
|
|
67
|
-
|
|
68
|
-
# ignore primary console user loginwindow
|
|
69
|
-
LOGINWINDOW_USER = 'loginwindow'.freeze
|
|
70
|
-
|
|
71
|
-
# The end of the path to the Self Service Executable.
|
|
72
|
-
# Used to figure out who's running Self Service.app
|
|
73
|
-
SELF_SERVICE_EXECUTABLE_END = '/Self Service.app/Contents/MacOS/Self Service'.freeze
|
|
74
|
-
|
|
75
|
-
# the ps command used to figure out who's running Self Service
|
|
76
|
-
PS_USER_COMM = 'ps -A -o user,comm'.freeze
|
|
77
|
-
|
|
78
|
-
# the path to a users byhost folder from home
|
|
79
|
-
USER_PREFS_BYHOST_FOLDER = 'Library/Preferences/ByHost/'
|
|
80
|
-
|
|
81
|
-
# Class Methods
|
|
82
|
-
#####################################
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
# Get the current IP address as a String.
|
|
87
|
-
#
|
|
88
|
-
# This handy code doesn't acutally make a UDP connection,
|
|
89
|
-
# it just starts to set up the connection, then uses that to get
|
|
90
|
-
# the local IP.
|
|
91
|
-
#
|
|
92
|
-
# Lifted gratefully from
|
|
93
|
-
# http://coderrr.wordpress.com/2008/05/28/get-your-local-ip-address/
|
|
94
|
-
#
|
|
95
|
-
# @return [String] the current IP address.
|
|
96
|
-
#
|
|
97
|
-
def self.my_ip_address
|
|
98
|
-
# turn off reverse DNS resolution temporarily
|
|
99
|
-
# @note the 'socket' library has already been required by 'rest-client'
|
|
100
|
-
orig = Socket.do_not_reverse_lookup
|
|
101
|
-
Socket.do_not_reverse_lookup = true
|
|
102
|
-
|
|
103
|
-
UDPSocket.open do |s|
|
|
104
|
-
s.connect '192.168.0.0', 1
|
|
105
|
-
s.addr.last
|
|
106
|
-
end
|
|
107
|
-
ensure
|
|
108
|
-
Socket.do_not_reverse_lookup = orig
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
# Is the jamf binary installed?
|
|
112
|
-
#
|
|
113
|
-
# @return [Boolean] is the jamf binary installed?
|
|
114
|
-
#
|
|
115
|
-
def self.installed?
|
|
116
|
-
JAMF_BINARY.executable?
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
# What version of the jamf binary is installed?
|
|
120
|
-
#
|
|
121
|
-
# @return [String,nil] the version of the jamf binary installed on this client, nil if not installed
|
|
122
|
-
#
|
|
123
|
-
def self.jamf_version
|
|
124
|
-
installed? ? run_jamf(:version).chomp.split('=')[1] : nil
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
# the URL to the jss for this client
|
|
128
|
-
#
|
|
129
|
-
# @return [String] the url to the JSS for this client
|
|
130
|
-
#
|
|
131
|
-
def self.jss_url
|
|
132
|
-
@url = jamf_plist['jss_url']
|
|
133
|
-
return nil if @url.nil?
|
|
134
|
-
@url =~ %r{(https?)://(.+):(\d+)/}
|
|
135
|
-
@protocol = Regexp.last_match(1)
|
|
136
|
-
@server = Regexp.last_match(2)
|
|
137
|
-
@port = Regexp.last_match(3)
|
|
138
|
-
@url
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
# The JSS server hostname for this client
|
|
142
|
-
#
|
|
143
|
-
# @return [String] the JSS server for this client
|
|
144
|
-
#
|
|
145
|
-
def self.jss_server
|
|
146
|
-
jss_url
|
|
147
|
-
@server
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
# The protocol for JSS connections for this client
|
|
151
|
-
#
|
|
152
|
-
# @return [String] the protocol to the JSS for this client, "http" or "https"
|
|
153
|
-
#
|
|
154
|
-
def self.jss_protocol
|
|
155
|
-
jss_url
|
|
156
|
-
@protocol
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
# The port number for JSS connections for this client
|
|
160
|
-
#
|
|
161
|
-
# @return [Integer] the port to the JSS for this client
|
|
162
|
-
#
|
|
163
|
-
def self.jss_port
|
|
164
|
-
jss_url
|
|
165
|
-
@port
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
# The contents of the JAMF plist
|
|
169
|
-
#
|
|
170
|
-
# @return [Hash] the parsed contents of the JAMF_PLIST if it exists,
|
|
171
|
-
# an empty hash if not
|
|
172
|
-
#
|
|
173
|
-
def self.jamf_plist
|
|
174
|
-
return {} unless JAMF_PLIST.file?
|
|
175
|
-
JSS.parse_plist JAMF_PLIST
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
# All the JAMF receipts on this client
|
|
179
|
-
#
|
|
180
|
-
# @return [Array<Pathname>] an array of Pathnames for all regular files in the jamf receipts folder
|
|
181
|
-
#
|
|
182
|
-
def self.receipts
|
|
183
|
-
raise JSS::NoSuchItemError, "The JAMF Receipts folder doesn't exist on this computer." unless RECEIPTS_FOLDER.exist?
|
|
184
|
-
RECEIPTS_FOLDER.children.select(&:file?)
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
# Is the JSS available right now?
|
|
188
|
-
#
|
|
189
|
-
# @return [Boolean] is the JSS available now?
|
|
190
|
-
#
|
|
191
|
-
def self.jss_available?
|
|
192
|
-
run_jamf :checkJSSConnection, '-retry 1'
|
|
193
|
-
$CHILD_STATUS.exitstatus.zero?
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
# The JSS::Computer object for this computer
|
|
197
|
-
#
|
|
198
|
-
# @return [JSS::Computer,nil] The JSS record for this computer, nil if not in the JSS
|
|
199
|
-
#
|
|
200
|
-
def self.jss_record
|
|
201
|
-
JSS::Computer.fetch udid: udid
|
|
202
|
-
rescue JSS::NoSuchItemError
|
|
203
|
-
nil
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
# The UUID for this computer via system_profiler
|
|
207
|
-
#
|
|
208
|
-
# @return [String] the UUID/UDID for this computer
|
|
209
|
-
#
|
|
210
|
-
def self.udid
|
|
211
|
-
hardware_data['platform_UUID']
|
|
212
|
-
end
|
|
213
|
-
|
|
214
|
-
# The serial number for this computer via system_profiler
|
|
215
|
-
#
|
|
216
|
-
# @return [String] the serial number for this computer
|
|
217
|
-
#
|
|
218
|
-
def self.serial_number
|
|
219
|
-
hardware_data['serial_number']
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
# The parsed HardwareDataType output from system_profiler
|
|
223
|
-
#
|
|
224
|
-
# @return [Hash] the HardwareDataType data from the system_profiler command
|
|
225
|
-
#
|
|
226
|
-
def self.hardware_data
|
|
227
|
-
raw = `/usr/sbin/system_profiler SPHardwareDataType -xml 2>/dev/null`
|
|
228
|
-
JSS.parse_plist(raw)[0]['_items'][0]
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
# Who's currently got an active GUI session? - might be
|
|
232
|
-
# more than one if Fast User Switching is in use.
|
|
233
|
-
#
|
|
234
|
-
# @return [Array<String>] The current users with GUI sessions
|
|
235
|
-
#
|
|
236
|
-
def self.console_users
|
|
237
|
-
output = `#{CONSOLE_USERS_SCUTIL_CMD}`
|
|
238
|
-
userlines = output.lines.select { |l| l =~ /SessionUserNameKey\s*:/ }
|
|
239
|
-
userlines.map! { |ul| ul.split(':').last.strip }
|
|
240
|
-
userlines.reject { |un| un == ROOT_USER }
|
|
241
|
-
end
|
|
242
|
-
|
|
243
|
-
# Which console user is using the primary GUI console?
|
|
244
|
-
# Returns nil if the primary GUI console is at the login window.
|
|
245
|
-
#
|
|
246
|
-
# @return [String,nil] The login name of the user is using the primary
|
|
247
|
-
# GUI console, or nil if at the login window.
|
|
248
|
-
#
|
|
249
|
-
def self.primary_console_user
|
|
250
|
-
`#{CONSOLE_USERS_SCUTIL_CMD}` =~ /^\s*Name : (\S+)$/
|
|
251
|
-
user = Regexp.last_match(1)
|
|
252
|
-
user == LOGINWINDOW_USER ? nil : user
|
|
253
|
-
end
|
|
254
|
-
|
|
255
|
-
# alias for primary_console_user
|
|
256
|
-
def self.console_user
|
|
257
|
-
primary_console_user
|
|
258
|
-
end
|
|
259
|
-
|
|
260
|
-
# Who's currently running Self Service.app? - might be
|
|
261
|
-
# more than one if Fast User Switching is in use.
|
|
262
|
-
#
|
|
263
|
-
# @return [Array<String>] The current users running Self Service.app
|
|
264
|
-
#
|
|
265
|
-
def self.self_service_users
|
|
266
|
-
ss_userlines = `#{PS_USER_COMM}`.lines.select { |l| l.include? SELF_SERVICE_EXECUTABLE_END }
|
|
267
|
-
ss_userlines.map { |ssl| ssl.split(' ').first }
|
|
268
|
-
end
|
|
269
|
-
|
|
270
|
-
# @param user[String, nil] The user to query, the current user if nil.
|
|
271
|
-
#
|
|
272
|
-
# @return [Boolean, nil] Is 'Do Not Disturb' enabled for the user?
|
|
273
|
-
# nil if unknown/not-applicable
|
|
274
|
-
#
|
|
275
|
-
def self.do_not_disturb?(user = nil)
|
|
276
|
-
home = user ? homedir(user) : Dir.home
|
|
277
|
-
myudid = udid
|
|
278
|
-
nc_prefs_file = Pathname.new "#{home}/#{USER_PREFS_BYHOST_FOLDER}/com.apple.notificationcenterui.#{myudid}.plist"
|
|
279
|
-
return nil unless nc_prefs_file.readable?
|
|
280
|
-
JSS.parse_plist(nc_prefs_file)['doNotDisturb']
|
|
281
|
-
end
|
|
282
|
-
|
|
283
|
-
# The home dir of the specified user, nil if
|
|
284
|
-
# no homedir in local dscl.
|
|
285
|
-
#
|
|
286
|
-
# @param user[String] the user whose homedir to look up
|
|
287
|
-
#
|
|
288
|
-
# @return [Pathname, nil] The user's homedir or nil if no such user
|
|
289
|
-
#
|
|
290
|
-
def self.homedir(user)
|
|
291
|
-
dir = `/usr/bin/dscl . -read /Users/#{user} NFSHomeDirectory 2>/dev/null`.chomp.split(': ').last
|
|
292
|
-
dir ? Pathname.new(dir) : nil
|
|
293
|
-
end
|
|
294
|
-
|
|
295
|
-
end # class Client
|
|
296
|
-
|
|
297
|
-
end # module
|
|
298
|
-
|
|
299
|
-
require 'jss/client/jamf_binary'
|
|
300
|
-
require 'jss/client/jamf_helper'
|
|
301
|
-
require 'jss/client/management_action'
|
data/lib/jss/compatibility.rb
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Copyright 2020 Pixar
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
5
|
-
# with the following modification; you may not use this file except in
|
|
6
|
-
# compliance with the Apache License and the following modification to it:
|
|
7
|
-
# Section 6. Trademarks. is deleted and replaced with:
|
|
8
|
-
#
|
|
9
|
-
# 6. Trademarks. This License does not grant permission to use the trade
|
|
10
|
-
# names, trademarks, service marks, or product names of the Licensor
|
|
11
|
-
# and its affiliates, except as required to comply with Section 4(c) of
|
|
12
|
-
# the License and to reproduce the content of the NOTICE file.
|
|
13
|
-
#
|
|
14
|
-
# You may obtain a copy of the Apache License at
|
|
15
|
-
#
|
|
16
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
#
|
|
18
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
# distributed under the Apache License with the above modification is
|
|
20
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
21
|
-
# KIND, either express or implied. See the Apache License for the specific
|
|
22
|
-
# language governing permissions and limitations under the Apache License.
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
# backporting of some newer ruby methods into older rubies
|
|
27
|
-
#
|
|
28
|
-
|
|
29
|
-
# Hash.key
|
|
30
|
-
#
|
|
31
|
-
# #key exists in ruby 1.9+, in 1.8 its called #index
|
|
32
|
-
# it returns the hash key for a given value, if the value exists
|
|
33
|
-
# in the hash
|
|
34
|
-
#
|
|
35
|
-
###########################################
|
|
36
|
-
unless {}.respond_to? :key
|
|
37
|
-
class Hash
|
|
38
|
-
|
|
39
|
-
alias key index
|
|
40
|
-
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# Array.sample
|
|
45
|
-
#
|
|
46
|
-
# #sample exists in ruby 1.9+, in 1.8 its called #choice
|
|
47
|
-
# it returns a randomly chosen element of the given array
|
|
48
|
-
# eg: [1, 2, 3].sample returns either 1, 2, or 3
|
|
49
|
-
#
|
|
50
|
-
###########################################
|
|
51
|
-
unless [].respond_to? :sample
|
|
52
|
-
class Array
|
|
53
|
-
|
|
54
|
-
alias sample choice
|
|
55
|
-
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
# String.force_encoding
|
|
60
|
-
#
|
|
61
|
-
#
|
|
62
|
-
###########################################
|
|
63
|
-
unless ''.respond_to? :force_encoding
|
|
64
|
-
class String
|
|
65
|
-
|
|
66
|
-
def force_encoding(_args = nil)
|
|
67
|
-
self
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
# String.casecmp?
|
|
75
|
-
#
|
|
76
|
-
#
|
|
77
|
-
###########################################
|
|
78
|
-
unless ''.respond_to? :casecmp?
|
|
79
|
-
class String
|
|
80
|
-
|
|
81
|
-
def casecmp?(other)
|
|
82
|
-
return nil unless other.is_a? String
|
|
83
|
-
|
|
84
|
-
casecmp(other).zero?
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
end
|
|
88
|
-
end
|
data/lib/jss/composer.rb
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
### Copyright 2020 Pixar
|
|
2
|
-
|
|
3
|
-
###
|
|
4
|
-
### Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
5
|
-
### with the following modification; you may not use this file except in
|
|
6
|
-
### compliance with the Apache License and the following modification to it:
|
|
7
|
-
### Section 6. Trademarks. is deleted and replaced with:
|
|
8
|
-
###
|
|
9
|
-
### 6. Trademarks. This License does not grant permission to use the trade
|
|
10
|
-
### names, trademarks, service marks, or product names of the Licensor
|
|
11
|
-
### and its affiliates, except as required to comply with Section 4(c) of
|
|
12
|
-
### the License and to reproduce the content of the NOTICE file.
|
|
13
|
-
###
|
|
14
|
-
### You may obtain a copy of the Apache License at
|
|
15
|
-
###
|
|
16
|
-
### http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
###
|
|
18
|
-
### Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
### distributed under the Apache License with the above modification is
|
|
20
|
-
### distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
21
|
-
### KIND, either express or implied. See the Apache License for the specific
|
|
22
|
-
### language governing permissions and limitations under the Apache License.
|
|
23
|
-
###
|
|
24
|
-
###
|
|
25
|
-
|
|
26
|
-
###
|
|
27
|
-
module JSS
|
|
28
|
-
|
|
29
|
-
###
|
|
30
|
-
### This module provides two methods for building very simple Casper-happy .pkg and .dmg packages for deployment.
|
|
31
|
-
###
|
|
32
|
-
### Unlike Composer.app from JAMF, this module currently doesn't offer a way to do a before/after disk scan
|
|
33
|
-
### and use the differences to build the root folder from which the package is built. Nor does the module support
|
|
34
|
-
### editing the pre/post install scripts in .pkgs.
|
|
35
|
-
###
|
|
36
|
-
### The 'root folder', a folder representing the root filesystem of the target machine where the package will be installed,
|
|
37
|
-
### must already exist and be fully populated and with correct permissions.
|
|
38
|
-
###
|
|
39
|
-
module Composer
|
|
40
|
-
|
|
41
|
-
#####################################
|
|
42
|
-
### Constants
|
|
43
|
-
#####################################
|
|
44
|
-
|
|
45
|
-
### the apple pkgutil tool
|
|
46
|
-
PKG_UTIL = Pathname.new '/usr/sbin/pkgutil'
|
|
47
|
-
|
|
48
|
-
### The location of the cli tool for making .pkgs
|
|
49
|
-
PKGBUILD = Pathname.new '/usr/bin/pkgbuild'
|
|
50
|
-
|
|
51
|
-
### the default bundle identifier prefix for pkgs
|
|
52
|
-
PKG_BUNDLE_ID_PFX = 'ruby-jss-composer'.freeze
|
|
53
|
-
|
|
54
|
-
### Apple's hdiutil for making dmgs
|
|
55
|
-
HDI_UTIL = '/usr/bin/hdiutil'.freeze
|
|
56
|
-
|
|
57
|
-
### Where to save the output ?
|
|
58
|
-
DEFAULT_OUT_DIR = Pathname.new '/Users/Shared'
|
|
59
|
-
|
|
60
|
-
### Make a casper-happy .pkg out of a root folder, permissions are assumed to be correct.
|
|
61
|
-
###
|
|
62
|
-
### @param name[String] the name of the .pkg. The .pkg suffix will be added if not present
|
|
63
|
-
###
|
|
64
|
-
### @param version[String] the version of the .pkg, needed for building the .pkg
|
|
65
|
-
###
|
|
66
|
-
### @param root[String, Pathname] the path to the 'root folder' representing
|
|
67
|
-
### the root file system of the target install drive
|
|
68
|
-
###
|
|
69
|
-
### @param opts[Hash] the options for building the .pkg
|
|
70
|
-
###
|
|
71
|
-
### @options opts :pkg_id[String] the full package if for the new pkg.
|
|
72
|
-
### e.g. 'com.mycompany.myapp'
|
|
73
|
-
###
|
|
74
|
-
### @option opts :bundle_id_prefix[String] the pkg bundle identifier prefix.
|
|
75
|
-
### If no :pkg_id is provided, one is made using this prefix and
|
|
76
|
-
### the name provided. e.g. 'com.mycompany'
|
|
77
|
-
### Defaults to '{PKG_BUNDLE_ID_PFX}'. See 'man pkgbuild' for more info
|
|
78
|
-
###
|
|
79
|
-
### @option opts :out_dir[String,Pathname] he folder in which the .pkg will be
|
|
80
|
-
### created. Defaults to {DEFAULT_OUT_DIR}
|
|
81
|
-
###
|
|
82
|
-
### @option opts :preserve_ownership[Boolean] If true, the owner/group of the
|
|
83
|
-
### rootpath are preserved.
|
|
84
|
-
### Default is false: they become the pkgbuild/installer 'recommended'
|
|
85
|
-
### (root/wheel or root/admin)
|
|
86
|
-
###
|
|
87
|
-
### @option opts :signing_identity[String] the optional name of the signing identity (certificate) to
|
|
88
|
-
### use for signing the pkg. See `man pkgbuild` for details
|
|
89
|
-
###
|
|
90
|
-
### @option opts :signing_options[String] the optional string of options to pass to pkgbuild.
|
|
91
|
-
### See `man pkgbuild` for details
|
|
92
|
-
###
|
|
93
|
-
### @return [Pathname] the local path to the new .pkg
|
|
94
|
-
###
|
|
95
|
-
def self.mk_pkg(name, version, root, opts = {})
|
|
96
|
-
raise NoSuchItemError, "Missing pkgbuild tool. Please make sure you're running 10.8 or later." unless PKGBUILD.executable?
|
|
97
|
-
|
|
98
|
-
opts[:out_dir] ||= DEFAULT_OUT_DIR
|
|
99
|
-
opts[:bundle_id_prefix] ||= PKG_BUNDLE_ID_PFX
|
|
100
|
-
|
|
101
|
-
pkg_filename = name.end_with?('.pkg') ? name : name + '.pkg'
|
|
102
|
-
pkg_id = opts[:pkg_id]
|
|
103
|
-
pkg_id ||= opts[:bundle_id_prefix] + '.' + name
|
|
104
|
-
pkg_out = "#{opts[:out_dir]}/#{pkg_filename}"
|
|
105
|
-
pkg_ownership = opts[:preserve_ownership] ? 'preserve' : 'recommended'
|
|
106
|
-
|
|
107
|
-
if opts[:signing_identity]
|
|
108
|
-
signing = "--sign '#{opts[:signing_identity]}'"
|
|
109
|
-
signing << " #{opts[:signing_options]}" if opts[:signing_options]
|
|
110
|
-
else
|
|
111
|
-
signing = ''
|
|
112
|
-
end # if opts[:signing_identity]
|
|
113
|
-
|
|
114
|
-
### first, run 'analyze' to get a 'component plist' in which we can change some settings
|
|
115
|
-
### for any bundles in the root (bundles like .apps, frameworks, plugins, etc..)
|
|
116
|
-
###
|
|
117
|
-
### we edit the settings thus:
|
|
118
|
-
### BundleOverwriteAction = upgrade, totally replace any version current on disk
|
|
119
|
-
### BundleIsVersionChecked = false, allow us to install regardless of what version is currently installed
|
|
120
|
-
### BundleIsRelocatable = false, if there's a version of this in some other location, Do Not move this one there after installation
|
|
121
|
-
### BundleHasStrictIdentifier = false, don't care if there's something at the install path with a different bundle id.
|
|
122
|
-
###
|
|
123
|
-
### In other words, just install the thing!
|
|
124
|
-
### (see 'man pkgbuild' for more info)
|
|
125
|
-
###
|
|
126
|
-
###
|
|
127
|
-
comp_plist_out = Pathname.new "/tmp/#{PKG_BUNDLE_ID_PFX}-#{pkg_filename}.plist"
|
|
128
|
-
system "#{PKGBUILD} --analyze --root '#{root}' '#{comp_plist_out}'"
|
|
129
|
-
comp_plist = JSS.parse_plist comp_plist_out
|
|
130
|
-
|
|
131
|
-
### if the plist is empty, there are no bundles in the pkg
|
|
132
|
-
if comp_plist[0].nil?
|
|
133
|
-
comp_plist_arg = ''
|
|
134
|
-
else
|
|
135
|
-
### otherwise, edit the bundle dictionaries
|
|
136
|
-
comp_plist.each do |bndl|
|
|
137
|
-
bndl.delete 'ChildBundles' if bndl['ChildBundles']
|
|
138
|
-
bndl['BundleOverwriteAction'] = 'upgrade'
|
|
139
|
-
bndl['BundleIsVersionChecked'] = false
|
|
140
|
-
bndl['BundleIsRelocatable'] = false
|
|
141
|
-
bndl['BundleHasStrictIdentifier'] = false
|
|
142
|
-
end
|
|
143
|
-
### write out the edits
|
|
144
|
-
comp_plist_out.open('w') { |f| f.write JSS.xml_plist_from(comp_plist) }
|
|
145
|
-
comp_plist_arg = "--component-plist '#{comp_plist_out}'"
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
### now build the pkg
|
|
149
|
-
begin
|
|
150
|
-
it_built = system "#{PKGBUILD} --identifier '#{pkg_id}' --version '#{version}' --ownership #{pkg_ownership} --install-location / --root '#{root}' #{signing} #{comp_plist_arg} '#{pkg_out}'"
|
|
151
|
-
|
|
152
|
-
raise 'There was an error building the .pkg' unless it_built
|
|
153
|
-
ensure
|
|
154
|
-
comp_plist_out.delete if comp_plist_out.exist?
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
Pathname.new pkg_out
|
|
158
|
-
end # mk_dot_pkg
|
|
159
|
-
|
|
160
|
-
###
|
|
161
|
-
### Make a casper-happy .dmg out of a root folder, permissions are assumed to be correct.
|
|
162
|
-
###
|
|
163
|
-
### @param name[String] The name of the .dmg, the suffix will be added if needed
|
|
164
|
-
###
|
|
165
|
-
### @param root[String, Pathname] the path to the "root folder" representing the root file system of the target install drive
|
|
166
|
-
###
|
|
167
|
-
### @param out_dir[String, Pathname] the folder in which the .pkg will be created. Defaults to {DEFAULT_OUT_DIR}
|
|
168
|
-
###
|
|
169
|
-
### @return [Pathname] the local path to the new .dmg
|
|
170
|
-
###
|
|
171
|
-
###
|
|
172
|
-
def self.mk_dmg(name, root, out_dir = DEFAULT_OUT_DIR)
|
|
173
|
-
dmg_filename = "#{name}.dmg"
|
|
174
|
-
dmg_vol = name
|
|
175
|
-
dmg_out = Pathname.new "#{out_dir}/#{dmg_filename}"
|
|
176
|
-
if dmg_out.exist?
|
|
177
|
-
mv_to = dmg_out.dirname + "#{dmg_out.basename}.#{Time.now.strftime('%Y%m%d%H%M%S')}"
|
|
178
|
-
dmg_out.rename mv_to
|
|
179
|
-
end # if dmg out exist
|
|
180
|
-
|
|
181
|
-
### TODO - this may need to be sudo'd to handle proper internal permissions.
|
|
182
|
-
system "#{HDI_UTIL} create -volname '#{dmg_vol}' -scrub -srcfolder '#{root}' '#{dmg_out}'"
|
|
183
|
-
|
|
184
|
-
raise 'There was an error building the .dmg' unless $?.exitstatus.zero?
|
|
185
|
-
Pathname.new dmg_out
|
|
186
|
-
end # mk_dmg
|
|
187
|
-
|
|
188
|
-
end # module Composer
|
|
189
|
-
|
|
190
|
-
end # module JSS
|