2017-09-06 6 views
0
"provisioner": { 
    "file": { 
     "connection": { 
       "private_key": "${file(\"/KeyPair.pem\")}", 
       "user": "id" 
     }, 
     "content": "${template_file.x1}", 
     "destination": "/path/to/dest1" 

    }, 

    "file": { 
      "connection": { 
        "private_key": "${file(\"/KeyPair.pem\")}", 
        "user": "id" 
      }, 
      "content": "${template_file.x2}", 
      "destination": "/path/to/dest2" 
    } 
} 

私はJSON Terraformスクリプレットを持っています。私はファイルの提供者をマージ/グループ化する必要があることを理解していますが、それを行う方法があまりにもわかりません。JSONの複数ファイルプロビジョナTerraform

妥当性検査中にエラーが発生し続けます。

SyntaxError: Duplicate key 'file' on line 78 

インライン機能を使用する必要がありますか?

編集..

私はこれが正しいかもしれないと思いますか?誰かが確認する?

"file": { 
    "connection": { 
     "private_key": "${file(\"/KeyPair.pem\")}", 
     "user": "id" 
    }, 
    "content": [ 
     "${template_file.1}", 
     "${template_file.2}" 
    ], 
    "destination": [ 
     "/path/dest/", 
     "/path/dest/" 
    ] 
} 
+0

私はそれを働いたと思いますか?これは正しいです ...? ' "ファイル":{ \t "接続":{ \t \t "PRIVATE_KEY": "$ {ファイル(\"/ KeyPair.pem \ ")}"、 \t \t "ユーザ": "ID" \t} 、 \t "コンテンツ":[ \t \t "$ {template_file.1}"、 \t \t "$ {template_file.2}" \t]、 \t "宛先":[ \t \t「/パス/ DEST /」、 \t \t "/ path/dest /" \t } – lankan

答えて

0

だから、2つのプロビジョニングの部分にコードを分割する必要があり、公式サンプルhere

を通過してください。

"provisioner": { 
    "file": { 
     "connection": { 
       "private_key": "${file(\"/KeyPair.pem\")}", 
       "user": "id" 
     }, 
     "content": "${template_file.x1}", 
     "destination": "/path/to/dest1" 

    } 
} 

"provisioner": { 
    "file": { 
      "connection": { 
        "private_key": "${file(\"/KeyPair.pem\")}", 
        "user": "id" 
      }, 
      "content": "${template_file.x2}", 
      "destination": "/path/to/dest2" 
    } 
} 

アップロードするファイルがたくさんある場合は、プロビジョニングfileは、フォルダ/ディレクトリのアップロードをサポートしています。そうでない場合、それは提案を与えるのは難しい、あなたはエラーメッセージが表示されました場合は、詳細なエラーを貼り付けてください

https://www.terraform.io/docs/provisioners/file.html#directory-uploads

詳細を通過してください。

+0

ありがとう、私はすでにそれを試みたが、それはエラーをスローする。元の投稿にエラーをアップロードしました。 JSONの構文ではキーが重複しているようです。私も公式の資料を見てきましたが、JSONの構文でテラフォームについての情報をあまり伝えていないので、Q. – lankan

+0

あなたは私の答えに必ず従っていますか?あなたが貼り付けたエラーは、1つの 'provisioner'で2つの' file'を使用しようとする問題に関するものです。私のソリューションに切り替えるとどんなエラーが出るのですか? – BMW

+0

申し訳ありませんが、私があなたのアプローチをしようとするとエラーが発生します。 'SyntaxError:Duplicate key' provisioner on line 63 ' – lankan

関連する問題