ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

Recipe には Resource を定義していきます。
Resource とは、プロビジョニング先の ”ある部分” の ”あるべき状態” を宣言的に定義したもので、具体的には以下の要素で構成されます。

Section
Column
Column

ResourceType

Resource の型を表します。
yum パッケージの状態を定義する yum_package Resource、任意のコマンドの実行状態を定義する execute Resource などがあります。

ResourceType によって、指定できる Attribute や Action は異なります。
詳細は各 ResourceType の公式ドキュメントに記載されているので、確認するようにしてください。

Name

Resource の名前を定義します。
公式ドキュメントを見るとわかりますが、yum_package では Resource の名前がそのまま package_name Attribute になる仕様になっています。

Attribute

Resource の "あるべき状態" について、詳細に定義します。
yum_package であれば version などを指定できます。 

Action

Resource の適用のされ方を定義します。
yum_package であれば、インストールされている状態(:install)、アンインストールされている状態(:remove)などを指定できます。

 

ヒント

ResourceType についての公式ドキュメントは Chef の公式ドキュメントから辿ると非常に見つけにくいです。
Google で「Opscode <ResourceType 名>」などと検索したほうが早く見つけられたりします。
また、Mac であれば Dash に Chef のドキュメントがあるので、これを使うのもオススメです。

Column

 

Resource の実行順序

Recipe は上から順に解釈され、Resource は基本的には Recipe に定義した順でキューイングされ、収束されます。
たとえば、「ファイルをダウンロード」してから「ダウンロードしたファイルを解凍」したい場合は、次のように記述できます。 

...