かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleのwin_fileでファイルやフォルダを作成/削除する

概要

Ansibleのwin_fileモジュールを利用して、Windows上にファイルやフォルダを作ったり、それを削除してみたいと思います。

ファイルを作成する

以下のようなかんじでファイルを作成することができます。
ファイルが存在しない場合は空ファイルが作成されます。

- hosts: windows
  gather_facts: false
  tasks:
    - name: Touch a file (creates if not present, updates modification time if present)
      win_file:
        path: F:\test\wawawa.txt
        state: touch

ファイルを削除する

pathに指定したファイルを削除します。
ファイルが存在しない場合でもfailedになりません。
存在する場合のみ削除が行われます。

- hosts: windows
  gather_facts: false
  tasks:
    - name: Remove a file, if present
      win_file:
        path: F:\test\wawawa.txt
        state: absent

フォルダを作成する

pathに指定したフォルダを作成してくれます。
存在しないものをすべて作成してくれます。
mkdir -pと同じ動きと考えるとわかりやすいです。

- hosts: windows
  gather_facts: false
  tasks:
    - name: Create directory structure
      win_file:
        path: F:\test\wawawa\sasasa
        state: directory

フォルダを削除する

pathに指定したフォルダを削除します。
たとえば以下の例ならsasasaフォルダだけを削除します。
pathのフォルダを存在しなくてもfailedにはなりません。

- hosts: windows
  gather_facts: false
  tasks:
    - name: Remove directory structure
      win_file:
        path: F:\test\wawawa\sasasa
        state: absent

おわりに

基本的にこれの内容
https://docs.ansible.com/ansible/latest/modules/win_file_module.html

あとstate: fileの使いみちがわからぬ

インフラCI実践ガイド Ansible/GitLabを使ったインフラ改善サイクルの実現

インフラCI実践ガイド Ansible/GitLabを使ったインフラ改善サイクルの実現