### Configure macOS Onboarding Settings Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/macos_onboarding_settings.md Example of how to enable macOS onboarding and define a list of items to be displayed during device setup. Each item specifies its entity ID, type, and priority. ```terraform resource "jamfpro_macos_onboarding_settings" "example" { enabled = true onboarding_items { entity_id = "1" self_service_entity_type = "OS_X_POLICY" priority = 1 } onboarding_items { entity_id = "5" self_service_entity_type = "OS_X_MAC_APP" priority = 2 } onboarding_items { entity_id = "3" self_service_entity_type = "OS_X_CONFIGURATION_PROFILE" priority = 3 } } ``` -------------------------------- ### jamfpro_app_installer_global_settings Resource Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/app_installer_global_settings.md Example of how to configure the jamfpro_app_installer_global_settings resource to manage global app installer settings. ```APIDOC ## jamfpro_app_installer_global_settings (Resource) ### Description Configures global settings for App Installers in Jamf Pro. These settings control user notifications, update deadlines, and relaunch behavior for app installations. ### Method Not Applicable (Terraform Resource) ### Endpoint Not Applicable (Terraform Resource) ### Parameters #### Optional - **complete_message** (String) - Optional - Message to display as the push notification (up to 150 characters) when an update is complete. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **deadline** (Number) - Optional - How long the user can defer the update before the app is forced to quit to complete the update in hours. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **deadline_message** (String) - Optional - Message to display as the push notification (up to 150 characters) when the app is forced to quit to complete the update. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **notification_interval** (Number) - Optional - How often the notification message is displayed in hours. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **notification_message** (String) - Optional - Message to display as the push notification (up to 150 characters) when an app installer update is available. This message applies to all App Installers deployments unless overridden in a specific app deployment. - **quit_delay** (Number) - Optional - Additional time for users to save work and close the app in minutes. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **relaunch** (Boolean) - Optional - If true, the app will be relaunched after installation. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **suppress** (Boolean) - Optional - If true, suppresses all user-facing notifications globally. This applies globally to all App Installers deployments unless overridden in an individual deployment. - **timeouts** (Block) - Optional - Configuration for timeouts for create, delete, read, and update operations. #### Nested Schema for `timeouts` - **create** (String) - Optional - **delete** (String) - Optional - **read** (String) - Optional - **update** (String) - Optional ### Read-Only - **id** (String) - The ID of this resource. ### Request Example ```terraform resource "jamfpro_app_installer_global_settings" "jamfpro_app_installer_singleton" { notification_message = "A new version of this app is ready to install." notification_interval = 24 deadline_message = "Please install the update to continue using the app." deadline = 48 quit_delay = 5 complete_message = "Installation complete. You may now relaunch the app." relaunch = true suppress = false } ``` ### Response #### Success Response (200) - **id** (String) - The ID of this resource. #### Response Example (Terraform apply output will show resource creation status and ID) ``` -------------------------------- ### Create macOS Configuration Profile (Automatic Install) Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/macos_configuration_profile_plist.md Example of creating a macOS configuration profile for automatic installation. Ensure the `payloads` path points to a valid `.mobileconfig` file. ```terraform variable "version_number" { description = "The version number to include in the name and install button text." type = string default = "v1.0" } // Minimum viable example of creating a macOS configuration profile in Jamf Pro for automatic installation using a plist source file resource "jamfpro_macos_configuration_profile_plist" "jamfpro_macos_configuration_profile_064" { name = "your-name-${var.version_number}" description = "An example mobile device configuration profile." level = "System" distribution_method = "Install Automatically" // "Make Available in Self Service", "Install Automatically" redeploy_on_update = "Newly Assigned" payloads = file("${path.module}/path/to/your/file.mobileconfig") payload_validate = true user_removable = false scope { all_computers = true all_jss_users = false } } ``` -------------------------------- ### Set Up Python Virtual Environment and Install Requirements Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/testing/README.md Use these commands to create a Python virtual environment and install necessary dependencies from requirements.txt for running provider tests. ```bash python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` -------------------------------- ### Configure Jamf Pro App Installer Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/app_installer.md Example of configuring an app installer for Jamf Pro. This includes settings for deployment type, update behavior, and notification preferences. Use 'SELF_SERVICE' for user-initiated installs and 'AUTOMATIC' for background updates. ```terraform resource "jamfpro_app_installer" "jamfpro_app_installer_001" { name = "010 Editor" enabled = true deployment_type = "SELF_SERVICE" update_behavior = "AUTOMATIC" category_id = "-1" site_id = "-1" smart_group_id = "1" install_predefined_config_profiles = false trigger_admin_notifications = false notification_settings { notification_message = "A new update is available" notification_interval = 1 deadline_message = "Update deadline approaching" deadline = 1 quit_delay = 1 complete_message = "Update completed successfully" relaunch = true suppress = false } self_service_settings { include_in_featured_category = true include_in_compliance_category = true force_view_description = true description = "This is an example app deployment" categories { id = "5" featured = true } } } ``` -------------------------------- ### Skip Setup Items Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/mobile_device_prestage_enrollment.md Configure which setup items to skip during device enrollment. ```APIDOC ## Skip Setup Items Configuration ### Description This schema defines boolean flags to skip specific setup items during the device enrollment process in Jamf Pro. ### Parameters #### Request Body - **action_button** (Boolean) - Required - Skip Action Button setup during device enrollment. - **android** (Boolean) - Required - Skip Android Migration setup during device enrollment. - **appearance** (Boolean) - Required - Skip Appearance setup during device enrollment. - **apple_id** (Boolean) - Required - Skip Apple ID setup during device enrollment. - **biometric** (Boolean) - Required - Skip Biometric setup during device enrollment. - **camera_button** (Boolean) - Required - Skip Camera Button setup during device enrollment. - **cloud_storage** (Boolean) - Required - Skip Cloud Storage setup during device enrollment. - **diagnostics** (Boolean) - Required - Skip Diagnostics setup during device enrollment. - **display_tone** (Boolean) - Required - Skip Display Tone setup during device enrollment. - **enable_lockdown_mode** (Boolean) - Required - Skip Enable Lockdown Mode setup during device enrollment. - **express_language** (Boolean) - Required - Skip Express Language setup during device enrollment. - **home_button_sensitivity** (Boolean) - Required - Skip Home Button Sensitivity setup during device enrollment. - **imessage_and_facetime** (Boolean) - Required - Skip iMessage and FaceTime setup during device enrollment. - **intelligence** (Boolean) - Required - Skip Intelligence setup during device enrollment. - **keyboard** (Boolean) - Required - Skip Keyboard setup during device enrollment. - **location** (Boolean) - Required - Skip Location setup during device enrollment. - **multitasking** (Boolean) - Required - Skip Multitasking setup during device enrollment. - **onboarding** (Boolean) - Required - Skip Onboarding setup during device enrollment. - **os_showcase** (Boolean) - Required - Skip OS Showcase setup during device enrollment. - **passcode** (Boolean) - Required - Skip Passcode setup during device enrollment. - **payment** (Boolean) - Required - Skip Payment setup during device enrollment. - **preferred_language** (Boolean) - Required - Skip Preferred Language setup during device enrollment. - **privacy** (Boolean) - Required - Skip Privacy setup during device enrollment. - **restore** (Boolean) - Required - Skip Restore setup during device enrollment. - **restore_completed** (Boolean) - Required - Skip Restore Completed setup during device enrollment. - **safety** (Boolean) - Required - Skip Safety setup during device enrollment. - **safety_and_handling** (Boolean) - Required - Skip Safety and Handling setup during device enrollment. - **screen_saver** (Boolean) - Required - Skip Screen Saver setup during device enrollment. - **screen_time** (Boolean) - Required - Skip Screen Time setup during device enrollment. - **sim_setup** (Boolean) - Required - Skip SIM setup during device enrollment. - **siri** (Boolean) - Required - Skip Siri setup during device enrollment. - **software_update** (Boolean) - Required - Skip Software Update setup during device enrollment. - **spoken_language** (Boolean) - Required - Skip Spoken Language setup during device enrollment. - **tap_to_setup** (Boolean) - Required - Skip Tap to Setup during device enrollment. - **terms_of_address** (Boolean) - Required - Skip Terms of Address setup during device enrollment. - **tos** (Boolean) - Required - Skip Terms of Service setup during device enrollment. - **transfer_data** (Boolean) - Required - Skip Transfer Data setup during device enrollment. - **tv_home_screen_sync** (Boolean) - Required - Skip TV Home Screen Sync during device enrollment. - **tv_provider_sign_in** (Boolean) - Required - Skip TV Provider Sign In during device enrollment. - **tv_room** (Boolean) - Required - Skip TV Room setup during device enrollment. - **update_completed** (Boolean) - Required - Skip Update Completed setup during device enrollment. - **voice_selection** (Boolean) - Required - Skip Voice Selection setup during device enrollment. - **watch_migration** (Boolean) - Required - Skip Watch Migration setup during device enrollment. - **welcome** (Boolean) - Required - Skip Welcome setup during device enrollment. - **zoom** (Boolean) - Required - Skip Zoom setup during device enrollment. ### Request Example ```json { "action_button": true, "android": false, "appearance": true, "apple_id": false, "biometric": true, "camera_button": false, "cloud_storage": true, "diagnostics": false, "display_tone": true, "enable_lockdown_mode": false, "express_language": true, "home_button_sensitivity": false, "imessage_and_facetime": true, "intelligence": false, "keyboard": true, "location": false, "multitasking": true, "onboarding": false, "os_showcase": true, "passcode": false, "payment": true, "preferred_language": false, "privacy": true, "restore": false, "restore_completed": true, "safety": false, "safety_and_handling": true, "screen_saver": false, "screen_time": true, "sim_setup": false, "siri": true, "software_update": false, "spoken_language": true, "tap_to_setup": false, "terms_of_address": true, "tos": false, "transfer_data": true, "tv_home_screen_sync": false, "tv_provider_sign_in": true, "tv_room": false, "update_completed": true, "voice_selection": false, "watch_migration": true, "welcome": false, "zoom": true } ``` ### Response #### Success Response (200) - **action_button** (Boolean) - Skip Action Button setup during device enrollment. - **android** (Boolean) - Skip Android Migration setup during device enrollment. - **appearance** (Boolean) - Skip Appearance setup during device enrollment. - **apple_id** (Boolean) - Skip Apple ID setup during device enrollment. - **biometric** (Boolean) - Skip Biometric setup during device enrollment. - **camera_button** (Boolean) - Skip Camera Button setup during device enrollment. - **cloud_storage** (Boolean) - Skip Cloud Storage setup during device enrollment. - **diagnostics** (Boolean) - Skip Diagnostics setup during device enrollment. - **display_tone** (Boolean) - Skip Display Tone setup during device enrollment. - **enable_lockdown_mode** (Boolean) - Skip Enable Lockdown Mode setup during device enrollment. - **express_language** (Boolean) - Skip Express Language setup during device enrollment. - **home_button_sensitivity** (Boolean) - Skip Home Button Sensitivity setup during device enrollment. - **imessage_and_facetime** (Boolean) - Skip iMessage and FaceTime setup during device enrollment. - **intelligence** (Boolean) - Skip Intelligence setup during device enrollment. - **keyboard** (Boolean) - Skip Keyboard setup during device enrollment. - **location** (Boolean) - Skip Location setup during device enrollment. - **multitasking** (Boolean) - Skip Multitasking setup during device enrollment. - **onboarding** (Boolean) - Skip Onboarding setup during device enrollment. - **os_showcase** (Boolean) - Skip OS Showcase setup during device enrollment. - **passcode** (Boolean) - Skip Passcode setup during device enrollment. - **payment** (Boolean) - Skip Payment setup during device enrollment. - **preferred_language** (Boolean) - Skip Preferred Language setup during device enrollment. - **privacy** (Boolean) - Skip Privacy setup during device enrollment. - **restore** (Boolean) - Skip Restore setup during device enrollment. - **restore_completed** (Boolean) - Skip Restore Completed setup during device enrollment. - **safety** (Boolean) - Skip Safety setup during device enrollment. - **safety_and_handling** (Boolean) - Skip Safety and Handling setup during device enrollment. - **screen_saver** (Boolean) - Skip Screen Saver setup during device enrollment. - **screen_time** (Boolean) - Skip Screen Time setup during device enrollment. - **sim_setup** (Boolean) - Skip SIM setup during device enrollment. - **siri** (Boolean) - Skip Siri setup during device enrollment. - **software_update** (Boolean) - Skip Software Update setup during device enrollment. - **spoken_language** (Boolean) - Skip Spoken Language setup during device enrollment. - **tap_to_setup** (Boolean) - Skip Tap to Setup during device enrollment. - **terms_of_address** (Boolean) - Skip Terms of Address setup during device enrollment. - **tos** (Boolean) - Skip Terms of Service setup during device enrollment. - **transfer_data** (Boolean) - Skip Transfer Data setup during device enrollment. - **tv_home_screen_sync** (Boolean) - Skip TV Home Screen Sync during device enrollment. - **tv_provider_sign_in** (Boolean) - Skip TV Provider Sign In during device enrollment. - **tv_room** (Boolean) - Skip TV Room setup during device enrollment. - **update_completed** (Boolean) - Skip Update Completed setup during device enrollment. - **voice_selection** (Boolean) - Skip Voice Selection setup during device enrollment. - **watch_migration** (Boolean) - Skip Watch Migration setup during device enrollment. - **welcome** (Boolean) - Skip Welcome setup during device enrollment. - **zoom** (Boolean) - Skip Zoom setup during device enrollment. #### Response Example ```json { "action_button": true, "android": false, "appearance": true, "apple_id": false, "biometric": true, "camera_button": false, "cloud_storage": true, "diagnostics": false, "display_tone": true, "enable_lockdown_mode": false, "express_language": true, "home_button_sensitivity": false, "imessage_and_facetime": true, "intelligence": false, "keyboard": true, "location": false, "multitasking": true, "onboarding": false, "os_showcase": true, "passcode": false, "payment": true, "preferred_language": false, "privacy": true, "restore": false, "restore_completed": true, "safety": false, "safety_and_handling": true, "screen_saver": false, "screen_time": true, "sim_setup": false, "siri": true, "software_update": false, "spoken_language": true, "tap_to_setup": false, "terms_of_address": true, "tos": false, "transfer_data": true, "tv_home_screen_sync": false, "tv_provider_sign_in": true, "tv_room": false, "update_completed": true, "voice_selection": false, "watch_migration": true, "welcome": false, "zoom": true } ``` ``` -------------------------------- ### jamfpro_macos_onboarding_settings Resource Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/macos_onboarding_settings.md Example of how to configure the jamfpro_macos_onboarding_settings resource in Terraform. ```APIDOC ## jamfpro_macos_onboarding_settings ### Description This resource allows you to manage the settings for macOS onboarding, including enabling the feature and defining the list of onboarding items that will be displayed during device setup. ### Schema #### Required - `enabled` (Boolean) - Enable or disable macOS onboarding #### Optional - `onboarding_items` (Block Set) - List of onboarding items to display during device setup. - `entity_id` (String) - Required - ID of the Self Service entity (policy, app, or configuration profile) - `priority` (Number) - Required - Priority order for the onboarding item (lower numbers appear first) - `self_service_entity_type` (String) - Required - Type of Self Service entity. Supported values are 'OS_X_POLICY', 'OS_X_MAC_APP', 'OS_X_CONFIGURATION_PROFILE' - `timeouts` (Block, Optional) - `create` (String) - Optional - `delete` (String) - Optional - `read` (String) - Optional - `update` (String) - Optional #### Read-Only - `id` (String) - The ID of this resource. - `entity_name` (String) - Name of the entity (computed) - `id` (String) - Unique identifier for the onboarding item (computed) - `scope_description` (String) - Description of the scope (computed) - `site_description` (String) - Description of the site (computed) ### Request Example ```terraform resource "jamfpro_macos_onboarding_settings" "example" { enabled = true onboarding_items { entity_id = "1" self_service_entity_type = "OS_X_POLICY" priority = 1 } onboarding_items { entity_id = "5" self_service_entity_type = "OS_X_MAC_APP" priority = 2 } onboarding_items { entity_id = "3" self_service_entity_type = "OS_X_CONFIGURATION_PROFILE" priority = 3 } } ``` ``` -------------------------------- ### Full Example of File Share Distribution Point Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/file_share_distribution_point.md This example demonstrates the configuration of a comprehensive file share distribution point, including all available settings for connection type, authentication, and HTTPS access. ```terraform resource "jamfpro_file_share_distribution_points" "full_example" { // Page 1 name = "tf-example-fileshare-distribution-point" ip_address = "ny.company.com" is_master = false failover_point = "Cloud Distribution Point" // Cloud Distribution Point / or any other dp defined with jamf pro enable_load_balancing = false // Page 2 connection_type = "AFP" // SMB / AFP share_name = "FullExampleShareName" share_port = 445 workgroup_or_domain = "EXAMPLEDOMAIN" read_only_username = "fullreadonlyuser" read_only_password = "funky_password_qwerty" read_write_username = "fullreadwriteuser" read_write_password = "funky_password_qwerty" no_authentication_required = false // page 3 https_downloads_enabled = true https_port = 443 https_share_path = "/contextpath" https_username_password_required = true https_username = "fullhttpuser" https_password = "funky_password_qwerty" } ``` -------------------------------- ### List Installed Applications on a Computer Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/data-sources/computer_inventory.md Fetches a list of all applications installed on a computer. This output includes application name, version, and bundle ID. ```terraform data "jamfpro_computer_inventory" "app_inventory" { id = "707" } output "installed_applications" { value = [ for app in data.jamfpro_computer_inventory.app_inventory.applications : { name = app.name version = app.version bundle_id = app.bundle_id mac_app_store = app.mac_app_store update_available = app.update_available } ] description = "List of all installed applications" } ``` -------------------------------- ### jamfpro_mobile_device_prestage_enrollment Resource Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/mobile_device_prestage_enrollment.md Example configuration for creating a mobile device prestage enrollment. ```APIDOC ## jamfpro_mobile_device_prestage_enrollment Resource ### Description Manages the mobile device prestage enrollment configuration in Jamf Pro. ### Method Not Applicable (Terraform Resource) ### Endpoint Not Applicable (Terraform Resource) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body This resource does not have a request body in the traditional API sense, but it is configured via Terraform arguments. **Arguments:** - **display_name** (string) - Required - The display name for the prestage enrollment. - **mandatory** (bool) - Required - Whether the enrollment is mandatory. - **mdm_removable** (bool) - Required - Whether the MDM profile is removable. - **support_phone_number** (string) - Optional - The support phone number. - **support_email_address** (string) - Optional - The support email address. - **department** (string) - Optional - The department name. - **default_prestage** (bool) - Optional - Whether this is the default prestage. - **enrollment_site_id** (string) - Optional - The ID of the enrollment site. Use "-1" for default. - **keep_existing_site_membership** (bool) - Optional - Whether to keep existing site membership. - **keep_existing_location_information** (bool) - Optional - Whether to keep existing location information. - **require_authentication** (bool) - Optional - Whether to require authentication. - **authentication_prompt** (string) - Optional - The authentication prompt message. - **prevent_activation_lock** (bool) - Optional - Whether to prevent activation lock. - **enable_device_based_activation_lock** (bool) - Optional - Whether to enable device-based activation lock. - **device_enrollment_program_instance_id** (string) - Optional - The ID of the DEP/ADE instance. - **enrollment_customization_id** (string) - Optional - The ID of the enrollment customization. - **language** (string) - Optional - The default language for the device. - **region** (string) - Optional - The default region for the device. - **auto_advance_setup** (bool) - Optional - Whether to automatically advance setup. - **allow_pairing** (bool) - Optional - Whether to allow pairing. - **multi_user** (bool) - Optional - Whether the device is for multi-user enrollment. - **supervised** (bool) - Optional - Whether the device should be supervised. - **maximum_shared_accounts** (number) - Optional - The maximum number of shared accounts for multi-user devices. - **configure_device_before_setup_assistant** (bool) - Optional - Whether to configure the device before the Setup Assistant. - **site_id** (string) - Optional - The ID of the site. Use "-1" for default. - **anchor_certificates** (list) - Optional - A list of anchor certificates. #### Nested Blocks: ##### skip_setup_items - **location** (bool) - Optional - Skip Location screen. - **privacy** (bool) - Optional - Skip Privacy screen. - **biometric** (bool) - Optional - Skip Biometric screen. - **software_update** (bool) - Optional - Skip Software Update screen. - **diagnostics** (bool) - Optional - Skip Diagnostics screen. - **imessage_and_facetime** (bool) - Optional - Skip iMessage & FaceTime screen. - **intelligence** (bool) - Optional - Skip Intelligence screen. - **tv_room** (bool) - Optional - Skip TV Room screen. - **passcode** (bool) - Optional - Skip Passcode screen. - **sim_setup** (bool) - Optional - Skip SIM Setup screen. - **screen_time** (bool) - Optional - Skip Screen Time screen. - **restore_completed** (bool) - Optional - Skip Restore Completed screen. - **tv_provider_sign_in** (bool) - Optional - Skip TV Provider Sign In screen. - **siri** (bool) - Optional - Skip Siri screen. - **restore** (bool) - Optional - Skip Restore screen. - **screen_saver** (bool) - Optional - Skip Screen Saver screen. - **home_button_sensitivity** (bool) - Optional - Skip Home Button Sensitivity screen. - **cloud_storage** (bool) - Optional - Skip Cloud Storage screen. - **action_button** (bool) - Optional - Skip Action Button screen. - **transfer_data** (bool) - Optional - Skip Transfer Data screen. - **enable_lockdown_mode** (bool) - Optional - Skip Enable Lockdown Mode screen. - **zoom** (bool) - Optional - Skip Zoom screen. - **preferred_language** (bool) - Optional - Skip Preferred Language screen. - **voice_selection** (bool) - Optional - Skip Voice Selection screen. - **tv_home_screen_sync** (bool) - Optional - Skip TV Home Screen Sync screen. - **safety** (bool) - Optional - Skip Safety screen. - **terms_of_address** (bool) - Optional - Skip Terms of Address screen. - **express_language** (bool) - Optional - Skip Express Language screen. - **camera_button** (bool) - Optional - Skip Camera Button screen. - **apple_id** (bool) - Optional - Skip Apple ID screen. - **display_tone** (bool) - Optional - Skip Display Tone screen. - **watch_migration** (bool) - Optional - Skip Watch Migration screen. - **update_completed** (bool) - Optional - Skip Update Completed screen. - **appearance** (bool) - Optional - Skip Appearance screen. - **android** (bool) - Optional - Skip Android screen. - **payment** (bool) - Optional - Skip Payment screen. - **onboarding** (bool) - Optional - Skip Onboarding screen. - **tos** (bool) - Optional - Skip Terms of Service screen. - **welcome** (bool) - Optional - Skip Welcome screen. - **tap_to_setup** (bool) - Optional - Skip Tap to Setup screen. ##### location_information - **username** (string) - Optional - Username for location information. - **realname** (string) - Optional - Real name for location information. - **phone** (string) - Optional - Phone number for location information. - **email** (string) - Optional - Email address for location information. - **room** (string) - Optional - Room number for location information. - **position** (string) - Optional - Position for location information. - **department_id** (string) - Optional - Department ID for location information. Use "-1" for default. - **building_id** (string) - Optional - Building ID for location information. Use "-1" for default. ##### purchasing_information - **leased** (bool) - Optional - Whether the device is leased. - **purchased** (bool) - Optional - Whether the device is purchased. - **apple_care_id** (string) - Optional - AppleCare ID. - **po_number** (string) - Optional - Purchase Order number. - **vendor** (string) - Optional - Vendor name. - **purchase_price** (string) - Optional - Purchase price. - **life_expectancy** (number) - Optional - Life expectancy in years. - **purchasing_account** (string) - Optional - Purchasing account number. - **purchasing_contact** (string) - Optional - Purchasing contact person. - **lease_date** (string) - Optional - Lease date (YYYY-MM-DD). - **po_date** (string) - Optional - Purchase Order date (YYYY-MM-DD). - **warranty_date** (string) - Optional - Warranty expiration date (YYYY-MM-DD). ##### names - **assign_names_using** (string) - Optional - Method for assigning device names (e.g., "Serial Numbers"). - **device_name_prefix** (string) - Optional - Prefix for device names. - **device_name_suffix** (string) - Optional - Suffix for device names. - **manage_names** (bool) - Optional - Whether to manage device names. - **device_naming_configured** (bool) - Optional - Whether device naming is configured. **OS Version Targeting:** - **prestage_minimum_os_target_version_type_ios** (string) - Optional - OS version targeting type for iOS (e.g., "MINIMUM_OS_SPECIFIC_VERSION", "NO_ENFORCEMENT"). - **minimum_os_specific_version_ios** (string) - Optional - Specific minimum OS version for iOS. - **prestage_minimum_os_target_version_type_ipad** (string) - Optional - OS version targeting type for iPadOS (e.g., "MINIMUM_OS_SPECIFIC_VERSION", "NO_ENFORCEMENT"). - **minimum_os_specific_version_ipad** (string) - Optional - Specific minimum OS version for iPadOS. **Other Settings:** - **timezone** (string) - Optional - The timezone for the device. - **storage_quota_size_megabytes** (number) - Optional - Storage quota in megabytes. ### Request Example ```terraform resource "jamfpro_mobile_device_prestage_enrollment" "example_prestage" { display_name = "iOS Device Prestage" mandatory = true mdm_removable = false support_phone_number = "+44-1234-567890" support_email_address = "support@mycompany.org" department = "IT Department" default_prestage = false enrollment_site_id = "-1" keep_existing_site_membership = false keep_existing_location_information = false require_authentication = true authentication_prompt = "Sign in to continue setup" prevent_activation_lock = true enable_device_based_activation_lock = false device_enrollment_program_instance_id = "1" enrollment_customization_id = "0" language = "" region = "" auto_advance_setup = false allow_pairing = false multi_user = false supervised = true maximum_shared_accounts = 10 configure_device_before_setup_assistant = true site_id = "-1" anchor_certificates = [] skip_setup_items { location = false privacy = true biometric = false software_update = false diagnostics = true imessage_and_facetime = true intelligence = true tv_room = true passcode = false sim_setup = true screen_time = true restore_completed = true tv_provider_sign_in = true siri = true restore = true screen_saver = true home_button_sensitivity = true cloud_storage = true action_button = true transfer_data = true enable_lockdown_mode = true zoom = true preferred_language = true voice_selection = true tv_home_screen_sync = true safety = true terms_of_address = true express_language = true camera_button = true apple_id = true display_tone = true watch_migration = true update_completed = false appearance = true android = true payment = true onboarding = true tos = true welcome = true tap_to_setup = true } location_information { username = "" realname = "" phone = "" email = "" room = "" position = "" department_id = "-1" building_id = "-1" } purchasing_information { leased = false purchased = true apple_care_id = "" po_number = "" vendor = "" purchase_price = "" life_expectancy = 0 purchasing_account = "" purchasing_contact = "" lease_date = "1970-01-01" po_date = "1970-01-01" warranty_date = "1970-01-01" } names { assign_names_using = "Serial Numbers" device_name_prefix = "ABC-" device_name_suffix = "" manage_names = true device_naming_configured = true } timezone = "UTC" storage_quota_size_megabytes = 1024 prestage_minimum_os_target_version_type_ios = "MINIMUM_OS_SPECIFIC_VERSION" minimum_os_specific_version_ios = "18.4.1" prestage_minimum_os_target_version_type_ipad = "NO_ENFORCEMENT" } ``` ### Response This resource does not have a direct API response in the traditional sense. Terraform applies the configuration and reports success or failure. #### Success Response (200) Not Applicable (Terraform Resource) #### Response Example Not Applicable (Terraform Resource) ``` -------------------------------- ### jamfpro_self_service_branding_ios Resource Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/self_service_branding_ios.md Example configuration for the jamfpro_self_service_branding_ios resource. ```APIDOC ## jamfpro_self_service_branding_ios Resource ### Description This resource allows for the configuration of Self Service branding specifically for iOS devices in Jamf Pro. ### Method Not Applicable (Terraform Resource) ### Endpoint Not Applicable (Terraform Resource) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body This resource does not use a request body in the traditional API sense. Configuration is managed through Terraform resource arguments. ### Request Example ```terraform resource "jamfpro_self_service_branding_ios" "example" { main_header = "My Organization (iOS)" icon_id = 5 header_background_color_code = "0066CC" menu_icon_color_code = "FFFFFF" branding_name_color_code = "FFFFFF" status_bar_text_color = "light" } ``` ### Response #### Success Response (200) Not Applicable (Terraform Resource - state is managed by Terraform) #### Response Example Not Applicable (Terraform Resource - state is managed by Terraform) ### Schema #### Required - **main_header** (String) - The main header for the branding configuration. #### Optional - **branding_name_color_code** (String) - Branding name color code (RRGGBB, without leading '#'). - **header_background_color_code** (String) - Header background color code (RRGGBB, without leading '#'). - **icon_id** (Number) - Icon ID to use for the branding. - **menu_icon_color_code** (String) - Menu icon color code (RRGGBB, without leading '#'). - **status_bar_text_color** (String) - Status bar text color; typically 'light' or 'dark'. - **timeouts** (Block, Optional) - Configuration for timeouts. ### Nested Schema for timeouts Optional: - **create** (String) - **delete** (String) - **read** (String) - **update** (String) #### Read-Only - **id** (String) - The unique identifier of the Self Service branding configuration. ``` -------------------------------- ### jamfpro_file_share_distribution_point Resource Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/file_share_distribution_point.md Example configuration for creating a jamfpro_file_share_distribution_point resource. ```APIDOC ## jamfpro_file_share_distribution_point Resource ### Description Manages a File Share Distribution Point in Jamf Pro. ### Method Not Applicable (Terraform Resource) ### Endpoint Not Applicable (Terraform Resource) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body This resource is configured via Terraform HCL, not a direct API request body. ### Request Example ```terraform resource "jamfpro_file_share_distribution_point" "example" { name = "tf-example-fileshare-distribution-point" ip_address = "ny.company.com" is_master = false failover_point = "Cloud Distribution Point" enable_load_balancing = false connection_type = "AFP" share_name = "FullExampleShareName" share_port = 445 workgroup_or_domain = "EXAMPLEDOMAIN" read_only_username = "fullreadonlyuser" read_only_password = "funky_password_qwerty" read_write_username = "fullreadwriteuser" read_write_password = "funky_password_qwerty" no_authentication_required = false https_downloads_enabled = true https_port = 443 https_share_path = "/contextpath" https_username_password_required = true https_username = "fullhttpuser" https_password = "funky_password_qwerty" } ``` ### Response This resource is managed by Terraform and does not have direct API responses in this format. #### Success Response (200) N/A #### Response Example N/A ### Schema #### Required - `connection_type` (String) The type of connection protocol to the distribution point. Can be either 'AFP', or 'SMB'. - `name` (String) The name of the distribution point. #### Optional - `enable_load_balancing` (Boolean) Indicates if load balancing is enabled. - `failover_point` (String) The failover point for the distribution point. - `https_downloads_enabled` (Boolean) Indicates if HTTP downloads are enabled. - `https_password` (String, Sensitive) The password for HTTP access, if username/password authentication is required. This field is marked as sensitive. - `https_port` (Number) The port number for the https share. - `https_share_path` (String) Path to the https share (e.g. if the share is accessible at http://192.168.10.10/JamfShare, the context is 'JamfShare'). - `https_username` (String) The username for HTTP access, if username/password authentication is required. - `https_username_password_required` (Boolean) Indicates if username/password authentication is required for accessing the distribution point. - `ip_address` (String) Hostname or IP address of the distribution point server. - `is_master` (Boolean) Indicates if the distribution point is the principal distribution point, used as the authoritative source for all files. - `no_authentication_required` (Boolean) Indicates if no authentication is required for accessing the distribution point. - `read_only_password` (String, Sensitive) The password for read-only access. This field is marked as sensitive. - `read_only_username` (String) The username for read-only access to the distribution point. - `read_write_password` (String, Sensitive) The password for read-write access. This field is marked as sensitive. - `read_write_username` (String) The username for read-write access to the distribution point. - `share_name` (String) The name of the network share. - `share_port` (Number) The port number used for the fileshare distribution point. - `timeouts` (Block, Optional) Configuration for timeouts. - `workgroup_or_domain` (String) The workgroup or domain of the distribution point. #### Read-Only - `failover_point_url` (String) The URL of the failover point. - `http_url` (String) The URL for HTTP downloads. Constructed from the protocol, IP address, and port. - `id` (String) The unique identifier of the distribution point. - `ipaddress` (String) Hostname or IP address of the distribution point server. - `local_path` (String) The local path to the distribution point. - `password` (String, Sensitive) The password for the distribution point. This field is marked as sensitive and will not be displayed in logs or console output. - `protocol` (String) The protocol used if HTTPS is enabled for the distribution point. Result will always be 'https' if enabled. - `ssh_username` (String) The SSH username for the distribution point. #### Nested Schema for `timeouts` Optional: - `create` (String) - `delete` (String) - `read` (String) - `update` (String) ``` -------------------------------- ### jamfpro_local_admin_password_settings Resource Configuration Source: https://github.com/deploymenttheory/terraform-provider-jamfpro/blob/main/docs/resources/local_admin_password_settings.md Example configuration for the jamfpro_local_admin_password_settings resource. ```APIDOC ## jamfpro_local_admin_password_settings Resource ### Description Manages local administrator password settings for Jamf Pro. ### Method Not Applicable (Terraform Resource) ### Endpoint Not Applicable (Terraform Resource) ### Parameters #### Optional - **auto_deploy_enabled** (Boolean) - Optional - When enabled, all appropriate computers will have the SetAutoAdminPassword command sent to them automatically. - **auto_rotate_enabled** (Boolean) - Optional - When enabled, all appropriate computers will automatically have their password expired and rotated after the configured autoRotateExpirationTime. - **auto_rotate_expiration_time_seconds** (Number) - Optional - The amount of time in seconds that the local admin password will be rotated automatically if it is never viewed. - **password_rotation_time_seconds** (Number) - Optional - The amount of time in seconds that the local admin password will be rotated after viewing. - **timeouts** (Block) - Optional - Configuration for timeouts. ### Nested Schema for `timeouts` #### Optional - **create** (String) - Optional - **delete** (String) - Optional - **read** (String) - Optional - **update** (String) - Optional ### Read-Only - **id** (String) - The ID of this resource. ### Request Example ```terraform resource "jamfpro_local_admin_password_settings" "local_admin_password_settings_001" { auto_deploy_enabled = false password_rotation_time_seconds = 3600 auto_rotate_enabled = false auto_rotate_expiration_time_seconds = 7776000 } ``` ### Response #### Success Response (200) - **id** (String) - The ID of this resource. #### Response Example ```json { "id": "some-resource-id" } ``` ```