2017-11-11 7 views
2

テラフォーム文字列に別の文字列が含まれているかどうかを確認するにはどうすればよいですか?文字列にテラフォーム補間の部分文字列が含まれているかどうかを確認する方法は?

例えば、私は(例えばRDSインスタンスがスナップショットなしに削除できるように)特別な名前に「TMP」とテラフォームのワークスペースを扱いたいので、このような何か:私の知る限りとして

locals 
{ 
    is_tmp = "${"tmp" in terraform.workspace}" 
} 

それが実現しない場合、substr interpolation functionがわかります。

答えて

3

replaceを使用して部分文字列を間接的に確認できます。

locals 
{ 
    is_tmp = "${replace(terraform.workspace, "tmp", "") != terraform.workspace}" 
} 
+0

これは最良の回答ではないことを願っています。また、私が知る限り、私はterraform 'contains'関数を定義することはできません(これを行う' contains 'terraformモジュールを定義できると思いますが、モジュールのインスタンス化は単にこのロジックをコピーするよりも冗長です)。 – JDiMatteo

+0

'contains'関数はリストでのみ機能します。私は区切り文字を含む文字列を持っていますので、' split'を使ってテストできます...しかし、将来は区切り文字やその他のものを変更すると壊れます。 :( –

関連する問題