154911688a
HEREDOC tokens are a little more fussy than normal string sequences because we need to preserve the whitespace within them along with the start and end markers while we upgrade any interpolated expressions inside. We need to do some work locally here because the HCL heredoc processing "does too much" and throws away information we need to do a faithful upgrade. We also need to contend with the fact that Terraform <=0.11 had an older version of HCL that accidentally permitted a degenerate form of heredoc where the marker was at the end of the final line, like this: degenerate = <<EOT this should never have workedEOT When we migrate this, we'll introduce the additional newline that is now required, which will unfortunately slightly change the result string to include a newline when parsed by 0.12, and so we'll need to call this out as a caveat in the upgrade guide. |
||
---|---|---|
.. | ||
already-upgraded | ||
valid |