Ansibleでコマンド実行結果のJSONを辞書型に変換して用いる

参考

メモ

Ansible で task の実行結果の json を dict オブジェクトとして後続の処理で利用する に記載の内容で問題ない。 自分の場合は、AnsibleでWindows PowerShellの実行結果を受け取るときに、オブジェクトをJSONに変換し、 それを辞書型に変換した上で後々when構文で使いたかった。

例)

1
2
3
4
5
6
7
8
9
10
- name: check_state_of_wsl
win_shell: Get-WindowsOptionalFeature -Online | ? FeatureName -Match "Microsoft-Windows-Subsystem-Linux" | ConvertTo-Json
register: wsl_check_json

- set_fact:
wsl_check: "{{ wsl_check_json.stdout }}"

- name: enable_wsl
win_shell: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
when: wsl_check.State != 2
共有