Ansibleのfortios用のモジュールには、バックアップモジュールはありません。 実際には、fortios_configというモジュールで取得ができたようなのですが、pyFGが必要なようです。 自分の環境ではpyFGが入らないので、うーんと思っていました。(細かい原因は追ってません…)
先日書いた汎用のuriを、こちらのブログを参考にして少しいじったら、バックアップを取得することができました。 参考にしたブログではAPI_KEYを利用されていましたが、現時点ではセッションのCookieでも取得は可能でした。(将来が若干不安ではありますが…) Ansible関連の実践記事一覧はこちら。
作成したPlaybook
---
- hosts : fortigate
gather_facts : false
vars :
api_type : "monitor"
api_path : "system"
api_name : "config"
tasks :
- name : Login
uri :
url : https://{{ ansible_host }}/logincheck
validate_certs : no
method : "POST"
force_basic_auth : yes
body_format : "form-urlencoded"
url_username : "{{ ansible_user }}"
url_password : "{{ ansible_password }}"
body :
- [ username, "{{ ansible_user }}" ]
- [ secretkey, "{{ ansible_password }}" ]
- [ ajax, "1" ]
register : http_response
- name : GET Config Backup
uri :
url : https://{{ ansible_host }}/api/v2/{{ api_type }}/{{ api_path }}/{{ api_name }}/backup?scope=global
validate_certs : no
method : "GET"
headers :
Cookie : "{{ http_response.set_cookie }}"
return_content : yes
register : get_obj
- name : Backup File
copy :
content : "{{ get_obj.content }}"
dest : ./backup.txt # バックアップ出力先指定
取得できたバックアップ
2バイト文字もばっちり。
うーん、この参考にしたブログの方はAPIリファレンスお持ちなのかな…
やっぱりフル活用するにはAPIリファレンスが読みたいなあ…
https://tenko.hatenablog.jp/entry/2019/11/28/224615
バックアップ日時: 2026年11月11日