From 2d4499c146641222be6bb804e0c0c3ce2288cc9a Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 14:59:09 +0000 Subject: [PATCH 1/7] Refactor jamfpro policy scripts and update provider version --- workload/terraform/jamfpro/policy_scripts.tf | 229 ++++++++++--------- workload/terraform/jamfpro/provider.tf | 2 +- 2 files changed, 121 insertions(+), 110 deletions(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index f9e721c0..c7b2e6d8 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -1,112 +1,123 @@ -# resource "jamfpro_policy" "jamfpro_policy_script_001" { -# name = "tf-demo-policy-script-correct-application-permissions" -# enabled = true -# trigger_checkin = false -# trigger_enrollment_complete = false -# trigger_login = false -# trigger_network_state_changed = false -# trigger_startup = false -# trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger -# frequency = "Once per computer" -# retry_event = "none" -# retry_attempts = -1 -# notify_on_each_failed_retry = false -# target_drive = "/" -# offline = false -# category_id = -1 -# site_id = -1 - -# network_limitations { -# minimum_network_connection = "No Minimum" -# any_ip_address = false -# } - -# scope { -# all_computers = false -# all_jss_users = false -# } - -# self_service { -# use_for_self_service = true -# self_service_display_name = "" -# install_button_text = "Install" -# self_service_description = "" -# force_users_to_view_description = false - -# feature_on_main_page = false -# } - -# payloads { -# scripts { -# id = jamfpro_script.jamfpro_script_001.id -# priority = "After" -# parameter4 = "" -# parameter5 = "" -# parameter6 = "" -# parameter7 = "" -# parameter8 = "" -# parameter9 = "" -# parameter10 = "" -# parameter11 = "" - -# } -# } -# } - -# resource "jamfpro_policy" "jamfpro_policy_script_002" { -# name = "tf-demo-policy-script-reset_safari" -# enabled = false -# trigger_checkin = false -# trigger_enrollment_complete = false -# trigger_login = false -# trigger_network_state_changed = false -# trigger_startup = false -# trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger -# frequency = "Once per computer" -# retry_event = "none" -# retry_attempts = -1 -# notify_on_each_failed_retry = false -# target_drive = "/" -# offline = false -# category_id = -1 -# site_id = -1 - -# network_limitations { -# minimum_network_connection = "No Minimum" -# any_ip_address = false -# } - -# scope { -# all_computers = false -# all_jss_users = false -# } - -# self_service { -# use_for_self_service = true -# self_service_display_name = "" -# install_button_text = "Install" -# self_service_description = "" -# force_users_to_view_description = false - -# feature_on_main_page = false -# } - -# payloads { -# scripts { -# id = jamfpro_script.jamfpro_script_003.id -# priority = "After" -# parameter4 = "" -# parameter5 = "" -# parameter6 = "" -# parameter7 = "" -# parameter8 = "" -# parameter9 = "" -# parameter10 = "" -# parameter11 = "" - -# } -# } -# } +resource "jamfpro_policy" "jamfpro_policy_script_001" { + name = "tf-demo-policy-script-correct-application-permissions" + enabled = true + trigger_checkin = false + trigger_enrollment_complete = false + trigger_login = false + trigger_network_state_changed = false + trigger_startup = false + trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger + frequency = "Once per computer" + retry_event = "none" + retry_attempts = -1 + notify_on_each_failed_retry = false + target_drive = "/" + offline = false + category_id = -1 + site_id = -1 + + network_limitations { + minimum_network_connection = "No Minimum" + any_ip_address = false + } + + scope { + all_computers = false + all_jss_users = false + } + + self_service { + use_for_self_service = true + self_service_display_name = "" + install_button_text = "Install" + reinstall_button_text = "Reinstall" + self_service_description = "" + force_users_to_view_description = false + + feature_on_main_page = false + } + + + + payloads { + scripts { + id = jamfpro_script.jamfpro_script_001.id + priority = "After" + parameter4 = "" + parameter5 = "" + parameter6 = "" + parameter7 = "" + parameter8 = "" + parameter9 = "" + parameter10 = "" + parameter11 = "" + + } + + user_interaction { + message_start = "Policy is about to run." + allow_users_to_defer = true + allow_deferral_until_utc = "2024-12-31T23:59:59Z" + allow_deferral_minutes = 1440 + message_finish = "Policy has completed." + } + } +} + +resource "jamfpro_policy" "jamfpro_policy_script_002" { + name = "tf-demo-policy-script-reset_safari" + enabled = false + trigger_checkin = false + trigger_enrollment_complete = false + trigger_login = false + trigger_network_state_changed = false + trigger_startup = false + trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger + frequency = "Once per computer" + retry_event = "none" + retry_attempts = -1 + notify_on_each_failed_retry = false + target_drive = "/" + offline = false + category_id = -1 + site_id = -1 + + network_limitations { + minimum_network_connection = "No Minimum" + any_ip_address = false + } + + scope { + all_computers = false + all_jss_users = false + } + + self_service { + use_for_self_service = true + self_service_display_name = "" + install_button_text = "Install" + self_service_description = "" + force_users_to_view_description = false + + feature_on_main_page = false + } + + payloads { + scripts { + id = jamfpro_script.jamfpro_script_003.id + priority = "After" + parameter4 = "" + parameter5 = "" + parameter6 = "" + parameter7 = "" + parameter8 = "" + parameter9 = "" + parameter10 = "" + parameter11 = "" + + } + } +} diff --git a/workload/terraform/jamfpro/provider.tf b/workload/terraform/jamfpro/provider.tf index 701f3afe..808b738c 100644 --- a/workload/terraform/jamfpro/provider.tf +++ b/workload/terraform/jamfpro/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { jamfpro = { source = "deploymenttheory/jamfpro" - version = "~> 0.3.1" + version = "~> 0.5.1" } } } From f469dd1100c5babe97ae679d7174106a1b5716e2 Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:03:11 +0000 Subject: [PATCH 2/7] Clean up whitespace in jamfpro policy scripts --- workload/terraform/jamfpro/policy_scripts.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index c7b2e6d8..8198bfea 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -37,7 +37,7 @@ resource "jamfpro_policy" "jamfpro_policy_script_001" { feature_on_main_page = false } - + payloads { scripts { From 7d7a20b303c05b8101963491c6d739dfed173044 Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:06:24 +0000 Subject: [PATCH 3/7] Uncomment jamfpro_script resource definition for application permissions --- workload/terraform/jamfpro/scripts.tf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/workload/terraform/jamfpro/scripts.tf b/workload/terraform/jamfpro/scripts.tf index f3c24489..42486ae8 100644 --- a/workload/terraform/jamfpro/scripts.tf +++ b/workload/terraform/jamfpro/scripts.tf @@ -1,12 +1,12 @@ -# resource "jamfpro_script" "jamfpro_script_001" { -# name = "tf-demo-correct-application-permissions-v1.0" -# script_contents = file("${path.module}/support_files/scripts/Correct Application Permissions.sh") -# os_requirements = "13" -# priority = "BEFORE" -# info = "Adds target user or group to specified group membership, or removes said membership." -# notes = "Jamf Pro script parameters: 4 -> 7" -# parameter4 = "Google Chrome" // targetApplication -# } +resource "jamfpro_script" "jamfpro_script_001" { + name = "tf-demo-correct-application-permissions-v1.0" + script_contents = file("${path.module}/support_files/scripts/Correct Application Permissions.sh") + os_requirements = "13" + priority = "BEFORE" + info = "Adds target user or group to specified group membership, or removes said membership." + notes = "Jamf Pro script parameters: 4 -> 7" + parameter4 = "Google Chrome" // targetApplication +} # resource "jamfpro_script" "jamfpro_script_002" { # name = "tf-demo-encrypt-apfs-volume-v5.0.1" From 9f8f5954a7a09826302d4d5afbea9fd37ea7b9dc Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:07:58 +0000 Subject: [PATCH 4/7] Fix typo in user interaction settings for jamfpro policy script --- workload/terraform/jamfpro/policy_scripts.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index 8198bfea..ad06cc62 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -56,7 +56,7 @@ resource "jamfpro_policy" "jamfpro_policy_script_001" { user_interaction { message_start = "Policy is about to run." - allow_users_to_defer = true + allow_user_to_defer = true allow_deferral_until_utc = "2024-12-31T23:59:59Z" allow_deferral_minutes = 1440 message_finish = "Policy has completed." From b730cd984a5b2da032df2ddd31b9316c441f8e7a Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:09:33 +0000 Subject: [PATCH 5/7] Comment out jamfpro_policy_script_002 resource definition in policy_scripts.tf --- workload/terraform/jamfpro/policy_scripts.tf | 108 +++++++++---------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index ad06cc62..2a08a5fd 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -64,60 +64,60 @@ resource "jamfpro_policy" "jamfpro_policy_script_001" { } } -resource "jamfpro_policy" "jamfpro_policy_script_002" { - name = "tf-demo-policy-script-reset_safari" - enabled = false - trigger_checkin = false - trigger_enrollment_complete = false - trigger_login = false - trigger_network_state_changed = false - trigger_startup = false - trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger - frequency = "Once per computer" - retry_event = "none" - retry_attempts = -1 - notify_on_each_failed_retry = false - target_drive = "/" - offline = false - category_id = -1 - site_id = -1 - - network_limitations { - minimum_network_connection = "No Minimum" - any_ip_address = false - } - - scope { - all_computers = false - all_jss_users = false - } - - self_service { - use_for_self_service = true - self_service_display_name = "" - install_button_text = "Install" - self_service_description = "" - force_users_to_view_description = false - - feature_on_main_page = false - } - - payloads { - scripts { - id = jamfpro_script.jamfpro_script_003.id - priority = "After" - parameter4 = "" - parameter5 = "" - parameter6 = "" - parameter7 = "" - parameter8 = "" - parameter9 = "" - parameter10 = "" - parameter11 = "" - - } - } -} +# resource "jamfpro_policy" "jamfpro_policy_script_002" { +# name = "tf-demo-policy-script-reset_safari" +# enabled = false +# trigger_checkin = false +# trigger_enrollment_complete = false +# trigger_login = false +# trigger_network_state_changed = false +# trigger_startup = false +# trigger_other = "EVENT" // "USER_INITIATED" for self service trigger , "EVENT" for an event trigger +# frequency = "Once per computer" +# retry_event = "none" +# retry_attempts = -1 +# notify_on_each_failed_retry = false +# target_drive = "/" +# offline = false +# category_id = -1 +# site_id = -1 + +# network_limitations { +# minimum_network_connection = "No Minimum" +# any_ip_address = false +# } + +# scope { +# all_computers = false +# all_jss_users = false +# } + +# self_service { +# use_for_self_service = true +# self_service_display_name = "" +# install_button_text = "Install" +# self_service_description = "" +# force_users_to_view_description = false + +# feature_on_main_page = false +# } + +# payloads { +# scripts { +# id = jamfpro_script.jamfpro_script_003.id +# priority = "After" +# parameter4 = "" +# parameter5 = "" +# parameter6 = "" +# parameter7 = "" +# parameter8 = "" +# parameter9 = "" +# parameter10 = "" +# parameter11 = "" + +# } +# } +# } From 4e8c264ca1e7e7dd52fc4fdcb3d989823b72789d Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:13:04 +0000 Subject: [PATCH 6/7] Comment out user interaction settings in jamfpro policy script and update jamfpro provider version to 0.6.1 --- workload/terraform/jamfpro/policy_scripts.tf | 8 ++++++++ workload/terraform/jamfpro/provider.tf | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index 2a08a5fd..73e9ae23 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -61,6 +61,14 @@ resource "jamfpro_policy" "jamfpro_policy_script_001" { allow_deferral_minutes = 1440 message_finish = "Policy has completed." } + + # user_interaction { + # message_start = "Policy is about to run." + # allow_users_to_defer = true + # allow_deferral_until_utc = "2024-12-31T23:59:59Z" + # allow_deferral_minutes = 1440 + # message_finish = "Policy has completed." + # } } } diff --git a/workload/terraform/jamfpro/provider.tf b/workload/terraform/jamfpro/provider.tf index 808b738c..48329556 100644 --- a/workload/terraform/jamfpro/provider.tf +++ b/workload/terraform/jamfpro/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { jamfpro = { source = "deploymenttheory/jamfpro" - version = "~> 0.5.1" + version = "~> 0.6.1" } } } From a704a75126bb18170cc8016fe40789808d8d7b75 Mon Sep 17 00:00:00 2001 From: ShocOne <62835948+ShocOne@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:15:36 +0000 Subject: [PATCH 7/7] Update jamfpro provider version to 0.5.1 and adjust user interaction settings in policy script --- workload/terraform/jamfpro/policy_scripts.tf | 2 +- workload/terraform/jamfpro/provider.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workload/terraform/jamfpro/policy_scripts.tf b/workload/terraform/jamfpro/policy_scripts.tf index 73e9ae23..b15f59b0 100644 --- a/workload/terraform/jamfpro/policy_scripts.tf +++ b/workload/terraform/jamfpro/policy_scripts.tf @@ -56,7 +56,7 @@ resource "jamfpro_policy" "jamfpro_policy_script_001" { user_interaction { message_start = "Policy is about to run." - allow_user_to_defer = true + allow_user_to_defer = true allow_deferral_until_utc = "2024-12-31T23:59:59Z" allow_deferral_minutes = 1440 message_finish = "Policy has completed." diff --git a/workload/terraform/jamfpro/provider.tf b/workload/terraform/jamfpro/provider.tf index 48329556..70bf3702 100644 --- a/workload/terraform/jamfpro/provider.tf +++ b/workload/terraform/jamfpro/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { jamfpro = { source = "deploymenttheory/jamfpro" - version = "~> 0.6.1" + version = "0.5.1" // "~> 0.6.1" } } }