Uploading artifacts
===================

``artifacts``
を定義して、ファイルを作成またはターゲットインスタンスにコピーできます。

.. code:: yaml

   cluster_vars:
     artifacts:
     - type: path
       path: /some/target/path
       state: directory
       owner: root
       group: root
       mode: 0755
     - type: file
       src: /host/path/to/file
       dest: /target/path/to/file
       owner: root
       group: root
       mode: 0644
     - type: archive
       src: example.tar.gz
       dest: /some/target/path
     - type: directory
       src: /host/path/a/
       dest: /target/path/b/

次のタイプがサポートされています。

-  ``path``
   を使用して、ファイルとディレクトリの所有権またはモードを作成、削除、および変更します（内部で使用するAnsibleの\ ``file``
   モジュールと同じパラメーターを取ります）

-  ``file``
   を使用して、コントローラーからファイルをコピーし、所有権とモードを設定します（\ ``copy``
   を使用）

-  ``archive``
   を使用して、アーカイブから指定した場所にファイルを抽出します（\ ``unarchive``
   を使用）

-  ``directory``
   を使用して、コントローラーからターゲットインスタンスにディレクトリをrsyncします（\ ``synchronize``
   を使用）

この例では、上記のアーティファクトタイプごとに1つのエントリを示していますが、これらまたは対応するAnsibleモジュールが受け入れる他のパラメーターを使用できます。

ファイルとディレクトリをターゲットインスタンスにコピーすることは、この機能が
 :ref:`custom hook <TPA hooks>` 
を記述する代わりに使用できる便利なショートカットを提供するための一般的なニーズです。
