まくろぐ
更新: / 作成:

Ansible で空のファイルを作成するには、ansible.builtin.file モジュールstate パラメーターに touch を指定します。 Linux の touch コマンドに相当する動きをするので、ファイルがなければ空のファイルを作成し、ファイルが存在する場合はタイムスタンプを更新する、という振る舞いになります。

空のファイルを作成する

tasks:
  - name: Create file
    ansible.builtin.file:
      path: ~/sample.txt
      state: touch

上記のようにすると、path で指定したファイルを作成します。 ファイルが既に存在する場合は、ファイルの中身は変更せずに、タイムスタンプを更新します。 つまり、このタスクはすでにファイルが存在する場合も実行されます(changed になる)。

タイムスタンプを更新しない

- name: Create empty file
  ansible.builtin.file:
    path: ~/sample.txt
    state: touch
    access_time: preserve
    modification_time: preserve

ファイルがすでに存在する場合に、タイムスタンプを更新しないようにするには、access_time および modification_time パラメーターに preserve を指定します(両方とも指定する必要があります)。 この指定により、ファイルがすでに存在している場合は、このタスクはスキップされるようになります。

関連記事

まくろぐ
サイトマップまくへのメッセージ