Is there a way to specify a source using a variables instead of hard coded value? Specifically, was trying to specify a git path to the module that need to vary depending on whether we are deploying to one environment vs a sandbox
Hi @mizunos. Thanks for reaching out. Is it possible for you to provide a snippet of code to provide context for your question?
Thanks @hcrhall
I have 2 repos in gitlab
“org1/sandbox” for my sandbox to develop and play with module approach
“org1/prod-modules” for my finish module code
git package is the same - for example : moduleA.git
so the path to the module would be
org1/sandbox/moduleA.git
org1/prod-modules/moduleA.git depending on whether I build/test for sandbox or for prod
So I am looking to substitute the parent path as an environment variable that can be set dynamically at build time so that I can automate .gitlab-ci.yml. The objective is not to have to hard coded the source name in the code
so the terraform code would be
variable “parent_path” {
default = “org1/sandbox”
}
module “add-res” {
source = “${var.parent_path}/moduleA.git”
#…
}
Have not been able to get that to work yet. Keep getting the error along the line of variable are not allowed for source
Hi @mizunos,
It looks like your question is regarding Terraform and not Sentinel. All good though, I can answer the question because I have come across this query previously
The module source value must be a literal string with no template sequences and therefore interpolations are not allowed. There is a lengthy thread on this topic available in the reference below that may be of interest.
Hope this helps clear up the confusion regarding the behaviour you are experiencing.
Online References