modules/files/main.tf (20 lines of code) (raw):
locals {
has_configuration_file = var.configuration_file_path != ""
}
locals {
starter_module_files = { for file in fileset(var.starter_module_folder_path, "**") : file => {
path = "${var.starter_module_folder_path}/${file}"
} if(!local.has_configuration_file || !contains(var.built_in_configuration_file_names, file)) && !strcontains(file, var.starter_module_folder_path_exclusion)
}
additional_folders_files = length(var.additional_folders_path) != 0 ? merge(
[for folder_path in var.additional_folders_path : { for file in fileset(folder_path, "**") : "${basename(folder_path)}/${file}" => {
path = "${folder_path}/${file}"
}
}]...) : {}
final_additional_files = concat(var.additional_files, local.has_configuration_file ? [var.configuration_file_path] : [])
additional_repo_files = { for file in local.final_additional_files : basename(file) => {
path = file
}
}
all_repo_files = merge(local.starter_module_files, local.additional_repo_files, local.additional_folders_files)
}