Terraform-provider-local: local_fileリソースにはモードが必要であり、デフォルトで実行可能ビットを設定する必要はありません

作成日 2018年11月07日  ·  8コメント  ·  ソース: hashicorp/terraform-provider-local

_この問題は、もともと@kojiromikeによってhashicorp / terraform# 14768として開かれました。 プロバイダーの分割の結果として、ここに移行されました。 問題の元の本文は以下のとおりです。_


Terraformバージョン

0.9.5

影響を受けるリソース

  • local_file

Terraform構成ファイル

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
}

ここの私のumaskは0022です

予想される行動

ファイルはモード-rw-r--r--で作成されている必要があります。

実際の動作

ファイルはモード-rwxr-xr-xで作成されました。

謙虚な意見

tf構成で特定のモードを提供するオプションを希望しますが、Terraformは、ファイルが実行可能でなくなる結果となるopenの標準動作のサポートにフォールバックする必要があると思います。

最も参考になるコメント

そのための適切な解決策はありませんが、次の回避策を使用しています。

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

最善の解決策ではありませんが、私のためにトリックを行いました! それが役に立てば幸い。

全てのコメント8件

modeは属性である必要があると思います。 たとえば、インスタンスのセットに動的に生成された秘密鍵を使用しますが、後でsshしてトラブルシューティングする必要がある場合に備えて、loca_fileを使用してローカルパスに配置します。 ただし、私の場合、生成された.pemファイルは、 ssh -i <*.pem> <host>コマンドで使用するために、 600モードである必要があります。

私は同意します。許容度の低いモードを必要とするファイルを保存するときにこの問題が発生します。

そのための適切な解決策はありませんが、次の回避策を使用しています。

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

最善の解決策ではありませんが、私のためにトリックを行いました! それが役に立てば幸い。

@rodrigocmn回避策をありがとう、それは私のシナリオに最適です!

そのための適切な解決策はありませんが、次の回避策を使用しています。

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

最善の解決策ではありませんが、私のためにトリックを行いました! それが役に立てば幸い。

とてもいいトリックです!

モードがサポートされるようになりました(プルリクエスト#30で実装)。 v1.4.0でリリースされた$ file_permission引数を使用します。

これは私にはうまくいきません。 ローカルファイルを作成するときに、このパラメーターをfile_permission = "0600"に設定します。 ただし、ファイルは755で作成されます。

このページは役に立ちましたか?
0 / 5 - 0 評価