私はEC2停止インスタンスで何かをリストアップして何かをしようとしています。 ec2_remote_factsは私の友人で、結果を得ることができます。しかし、私の人生は、返されたオブジェクトの 'id'コンポーネントをどうやって得るのかについて、私は不可能なノブとして私はできません。ドキュメントは概略的であり、返されるタイプや使用方法はカバーしていません。不可能な2.x:ec2_remote_facts
---
- name: remote facts
hosts: localhost
tasks:
- ec2_remote_facts:
region: ap-southeast-2
register: info
- name: print
debug: var=info
これはうまく動作します:
は、ここで私が使って実験しています非常に基本的な脚本です。
また、これは動作します:私の周り私の頭を取得することはできませんどのような
---
- name: remote facts
hosts: localhost
tasks:
- ec2_remote_facts:
region: ap-southeast-2
register: info
- name: print
debug: var=info.instances[0].id
は、現在のすべてのインスタンス(3)のために私にちょうど「ID」の要素を与える呪文ですので、私は何かを行うことができますそれらのすべて - 削除、設定、開始、何でも。私はすべてのループ構造とwith_ *オプションを見てきたので、私が望むことをすることができません。
間違いなくこれは「ああ!答えを知っている人には問題ですが、現時点では恐れています。返されるオブジェクトは、次のようになります。
ok: [localhost] => {
"info": {
"changed": false,
"instances": [
{
"ami_launch_index": "0",
"architecture": "x86_64",
"client_token": "vpOGxxxxxxxxxxxxxx",
"ebs_optimized": false,
"groups": [
{
"id": "sg-xxxxxxxx",
"name": "launch-wizard-3"
}
],
"hypervisor": "xen",
"id": "i-01xxxxxxxxxxxxxxxx",
[...]
"tags": {},
"virtualization_type": "hvm",
"vpc_id": "vpc-xxxxxxxx"
},
{
"ami_launch_index": "1",
"architecture": "x86_64",
[中略、2つの以上のインスタンス]
任意の考えの人は? debug: var=info
の完全な出力を共有していない場合は
- ec2_remote_facts:
region: ap-southeast-2
register: info
- name: print
debug: var=item.id
with_items: info_instances
:
からの出力ということは何ですか?最初のブロック( 'debug:var = info')ですか? – ydaetskcoR
はい。私は全体の出力を貼り付けることは冗長になると思った。それぞれが "ami_launch_index"で始まり "vpc_id"で終わる3つの要素を持つオブジェクト 'instances'があります。私にとっては、それは構造の配列のように見えるが、有能な人はすべてのことについて異なる言葉を持つように見える。私がしたいのは、見つかったすべてのインスタンスの "id"値を参照し、後でそれらと別のことをすることができるということです。私は停止したインスタンスに興味があるので、ec2.pyは現在の状態では動作しません。停止したインスタンスは処理できません。私はバグとして他のところで報告していますが、それは不完全です。 – MrChuck