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日