私は完全な環境を設定しています。何らかの理由で、変数値を取得していない可能性があります。 私はregister: ec2_vpc
と私のVPCを登録している:私はここにansible 2.1.1.0アシスタント:同じプレイブック内の他のプレイで使用するレジスタ変数から値を抽出します
を使用してい
は、私が何をしようとしているのストリップ例です。
1. #This didn't works
- name: Add to host vars
add_host:
name: vpc_vars
groups: vpc_subnets
vpc_subnet_id: "{{ ec2_vpc.subnets[0].id }}"
vpcid: "{{ ec2_vpc.vpc_id }}"
- debug: var=vpc_subnet_id
- debug: var=vpcid
2. These works
- name: Record vpc id
debug: var=ec2_vpc.vpc_id
- name: Record subnet id
debug: var=ec2_vpc.subnets[0].id
は、私の上記ストリップのJSONを結果:
TASK [debug] *******************************************************************
ok: [localhost] => {
"vpc_subnet_id": "VARIABLE IS NOT DEFINED!"
}
TASK [debug] *******************************************************************
ok: [localhost] => {
"vpcid": "VARIABLE IS NOT DEFINED!"
}
TASK [Record vpc id] ***********************************************************
ok: [localhost] => {
"ec2_vpc.vpc_id": "vpc-4sdh3832f"
}
TASK [Record subnet id] ********************************************************
ok: [localhost] => {
"ec2_vpc.subnets[0].id": "subnet-edfjdh3482"
}
は、なぜ私の最初の構文は、その更新VARIABLE IS NOT DEFINED!
を与える代わりに、値を摘みされていません。ここに私の2番目の構文は、私が正しくています説明登録された変数のJSON結果から値をソートします。しかし、私はそれが私は動的な在庫にホスト変数を追加することを意味する私の最初の構文のために動作します。私は別のプレイでそれを再利用することができるように
新しいホスト名に 'vpc subnets'とグループ名' vpc_vars'(何のために?)を追加するので、最初の構文は機能しません... 'vpc_vars'グループに対して後続の再生を実行すると、見えるようにする。私はあなたがこれで達成しようとしていることを理解できません。 –