From 12ef537dddf00b337b9a39a9b5a76ce02808d5e0 Mon Sep 17 00:00:00 2001 From: arnol377 Date: Wed, 5 Feb 2025 12:38:52 -0500 Subject: [PATCH] Refactor downloads.tf to use a dynamic list of downloads --- downloads.tf | 19 ++----------------- variables.tf | 12 ++++++++++++ 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/downloads.tf b/downloads.tf index 912a79e..8ef849f 100644 --- a/downloads.tf +++ b/downloads.tf @@ -1,29 +1,14 @@ locals { # Define a set of Morpheus binaries to be downloaded - morpheus_binaries = [ - { - name = "morpheus-appliance-fips-7.0.10-1.el8.x86_64.rpm" - url = "https://downloads.morpheusdata.com/files/morpheus-appliance-fips-7.0.10-1.el8.x86_64.rpm" - path_prefix = "morpheus" - output_path = "${path.root}/downloads" - }, - { - name = "morpheus-appliance-7.0.10-1.el8.x86_64.rpm" - url = "https://downloads.morpheusdata.com/files/morpheus-appliance-7.0.10-1.el8.x86_64.rpm" - path_prefix = "morpheus" - output_path = "${path.root}/downloads" - } - ] - # Create a set of download configurations for each binary downloads = concat( - local.morpheus_binaries + var.downloads ) } module downloader { # Iterate over each download configuration - for_each = tomap({ for download in local.downloads : download.name => download }) + for_each = tomap({ for download in local.downloads : download.name => download if download.download }) source = "HappyPathway/downloader/url" url = each.value.url output_path = "${each.value.output_path}/${each.key}" diff --git a/variables.tf b/variables.tf index cf9dee5..aa69149 100644 --- a/variables.tf +++ b/variables.tf @@ -2,4 +2,16 @@ variable "use_rhel9_ami" { description = "Use RHEL 9 AMI" type = bool default = true +} + +variable downloads { + description = "List of downloads" + type = list(object({ + name = string + url = optional(string, "") + path_prefix = optional(string, "") + output_path = optional(string, "./downloads") + download = optional(bool, true) + })) + default = [] } \ No newline at end of file