2017-05-10 5 views
0

私は、AWS上にインフラストラクチャのスタックを展開するために、CloudFreezeモジュールを使用したいと思います。したがって、私はこれを使用してAnsible CloudFormation exampleを使用します。 AWSテンプレートにパラメータを渡す例で別ファイルからの可能な人口辞書の値

ここ

args: 
    template_parameters: 
    KeyName: jmartin 
    DiskType: ephemeral 
    InstanceType: m1.small 
    ClusterSize: 3 
register: stack 

template_parametersような部分は、キーと値を持つ辞書があるれています。同様

"template_parameters": { 
       "DiskType": "ephemeral", 
       "ClusterSize": "3", 
       "InstanceType": "m1.small", 
       "KeyName": "jmartin" 
      } 

だから、今、私は、キーと値のプレーンなリストを作成し、別のファイルからの辞書の値を移入します。同様

args: 
    template_parameters: 
    - include: param_values.yml 
register: stack 

そしてparam_values.ymlでは次のようになります:

KeyName: jmartin 
DiskType: ephemeral 
InstanceType: m1.small 
ClusterSize: 3 

しかし、これはファイルから値をロードしていません。代わりに、それをリストとして含めています。最終的にこのエラーを返す

​​

"msg": "argument template_parameters is of type and we were unable to convert to dict"

だけで辞書値としてそれを含むのではなく、ファイルの内容をロードする方法はありますか?

答えて

0

あなたは不可能な環境でinclude_varsモジュールを使用する必要があります。ドキュメントから

http://docs.ansible.com/ansible/include_vars_module.html

- >

Loads variables from a YAML/JSON files dynamically from within a file or from a directory recursively during task runtime. 
関連する問題