...
Recipe には Resource を定義していきます。
Resource とは、プロビジョニング先の ”ある部分” の ”あるべき状態” を宣言的に定義したもので、具体的には以下の要素で構成されます。
Section |
---|
Column |
---|
Column |
---|
ResourceTypeResource の型を表します。 yum パッケージの状態を定義する yum_package Resource、任意のコマンドの実行状態を定義する execute Resource などがあります。 ResourceType によって、指定できる Attribute や Action は異なります。 詳細は各 ResourceType の公式ドキュメントに記載されているので、確認するようにしてください。 NameResource の名前を定義します。 公式ドキュメントを見るとわかりますが、yum_package では Resource の名前がそのまま package_name Attribute になる仕様になっています。 AttributeResource の "あるべき状態" について、詳細に定義します。 yum_package であれば version などを指定できます。 ActionResource の適用のされ方を定義します。 yum_package であれば、インストールされている状態(:install)、アンインストールされている状態(:remove)などを指定できます。 ヒント |
---|
ResourceType についての公式ドキュメントは Chef の公式ドキュメントから辿ると非常に見つけにくいです。 Google で「Opscode <ResourceType 名>」などと検索したほうが早く見つけられたりします。 また、Mac であれば Dash に Chef のドキュメントがあるので、これを使うのもオススメです。 |
|
|
Resource の実行順序
Recipe は上から順に解釈され、Resource は基本的には Recipe に定義した順でキューイングされ、収束されます。
たとえば、「ファイルをダウンロード」してから「ダウンロードしたファイルを解凍」したい場合は、次のように記述できます。
...