作成する必要があるansible
モジュールでは苦労しています。すべてが行われ、モジュールはjson
ファイルを第三者からfs
に配信します。このjson
ファイルは、json
ファイルを登録してそのコンテンツにアクセスするためにアクセスできる(または、出力に何らかの形で正しくアクセスできるようにする)ための出力となることが期待されます。fs/diskに保存されたjsonファイルをAnsibleモジュールの出力として使用します。
出力ファイルは、適切なjson
ファイルで構成されており、私は目標を達成するためにさまざまなものを試しました。
含む:
マニュアルに従って、
ansible
は、単にstdout
がかかるため、単純に、print
またはos.stdout.write
を使用してjson
ファイルをプリントアウトします。は
json
とダンプjson.dumps(data)
を使用するか、またはこのようなものですインポート:with open('path-to-file', 'r') as tmpfile: data = json.load(tmpfile) module.exit_json(changed=True, message="API call to %s successfull" % endpoint, meta=data)
- これは出力でJSONを持つことになったが、エスケープバリアントと
ansible
でエスケープ一部にアクセスすることを拒否します。
- これは出力でJSONを持つことになったが、エスケープバリアントと
は何他の用途のためのjson
データにアクセスできるようにするための正しい方法でしょうか?
編集:json
はこの(まあ、それは巨大なjson
だ、これは単にそれの一部である)のように見えます
:register
後
{
"total_results": 51,
"total_pages": 2,
"prev_url": null,
"next_url": "/v2/apps?order-direction=asc&page=2&results-per-page=50",
、debug
出力は次のようになりますし、I例えばoutput.meta.total_results
にアクセスすることはできません。
ok: [localhost] => {
"output": {
"changed": true,
"message": "API call filtering /v2/apps with name and yes-no was successfull",
"meta": "{\"total_results\": 51, \"next_url\": \"/v2/apps?order-direction=asc&page=2&results-per-page=50\", \"total_pages\": 2, \"prev_url\": null, (...)
VARにアクセスしようとしansible
出力:
ok: [localhost] => {
"output.meta.total_results": "VARIABLE IS NOT DEFINED!"
}
jsonファイルの例と、あなたが提供するエラーメッセージを入力してください。一般的なケースでは、コードは正常に動作するはずです。 –
@ ConstantinSuvorov:確かに、私はメインポスト – Jan