0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Terraformの文字列で ${ をそのまま表示したい

Posted at

Terraformの文字列に${...}シーケンスを使うと、式を評価して文字列として設定します。文字列として${をそのまま表示したい場合は、どのように設定したら良いのでしょうか?

結論

$を2つ続けて入力します。

"... $${...} "

文字列補間の基本

Terraformでは、文字列内で変数や式の値を埋め込むために、文字列補間(String Interpolation)という機能を使用します。この機能は${...}シーケンスを用いて実現されます。

例:

locals {
  name = "Sumomo"
}

output "greeting" {
  value = "Hello ${local.name}!"
}

この出力結果は次のようになります:

Hello Sumomo!

この場合、${local.name}Sumomoに置換され、出力は"Hello Sumomo!"となります。

${ をリテラルとして使用する方法

しかし、時には${をそのまま文字列として使用したい場合があります。このような場合、エスケープシーケンスを使用する必要があります。

Terraformでは、${をリテラルとして表現するために、$を重ねて$$と記述します。

使用方法は以下の通りです:

locals {
  name = "Sumomo"
}

output "greeting" {
  value = "Hello $${local.name}!"
}

この出力結果は次のようになります:

Hello ${local.name}!

この結果から、$${を使用することで${をリテラルとして扱えることが分かります。

まとめ

Terraformでは$${を使用することで、文字列補間とリテラルの${を区別し、意図した通りの文字列を生成できます。

確認をした環境

  • Terraform 1.9.2

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?