Chef-resources
シェフ-リソース
Chefリソースは、望ましい状態のオペレーティングシステムの一部を表します。 これは、現在の構成を使用してリソースプロバイダーを使用するノードの望ましい状態を記述する構成ポリシーのステートメントです。 ChefのOhaiメカニズムを使用して、ターゲットマシンの現在のステータスを知るのに役立ちます。 また、ターゲットマシンをその状態にするために実行するために必要な手順を定義するのにも役立ちます。 リソースは、作業構成を説明するレシピにグループ化されます。
- Chefの場合、chef
- Platformは各ノードのプロバイダーとプラットフォームバージョンをマップします。 すべてのChefクライアントの実行の開始時に、Chefサーバーは現在のマシンの詳細を収集します。 後で、Chefサーバーはこれらの値を使用して正しいプロバイダーを識別します。
リソース構文
上記の構文では、「タイプ」はリソースタイプであり、「名前」は使用する名前です。 「do」ブロックと「end」ブロックには、そのリソースの属性と、その特定のリソースに対して実行する必要があるアクションがあります。
レシピで使用するすべてのリソースには、「do」ブロックと「end」ブロック内で定義される独自のアクションセットがあります。
例
すべてのリソースは、機能、アクション、プロパティ、条件付き実行、通知、およびアクションの関連パスの共通セットを共有します。
Actions | The *:nothing *action can be used with any resource or custom resource. |
Properties | The ignore_failure, provider, retries, retry_delay, and supports properties can be used with any resource or custom resources. |
Guards | The not_if and only_if conditional executions can be used to put additional guards around certain resources, so that they are only run when the condition is met. |
Guard Interpreters | Evaluates a string command using a* script*-based resource: bash, csh, perl, powershell_script, python, *or ruby*. |
Notifications | The notifies and subscribes notifications can be used with any resource. |
Relative Paths | The #\{ENV['HOME']} relative path can be used with any resource. |
Windows File Security | The template, file, remote_file, cookbook_file, directory, *and remote_directory* resources support the use of inheritance and access control lists (ACLs) within recipes. |
Run in Compile Phase | Sometimes a resource needs to be run before every other resource or after all resources have been added to the resource collection. |
利用可能な資源
apt_package
Bash
バッチ
このリソースは、 execute リソースからアクション(:runおよび:nothing)およびプロパティ(creates、cwd、environment、group、path、timeout、およびuser)を継承します。 このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_if および only_if を使用して、このリソースをべき等性から保護します。
bff_package
chef_gem
cookbook_file
ファイルはファイルの特異性に従って選択されるため、ホスト名、ホストプラットフォーム(オペレーティングシステム、ディストリビューション、または必要に応じて)、またはプラットフォームバージョンに基づいて、さまざまなソースファイルを使用できます。 COOKBOOK_NAME/files/defaultサブディレクトリにあるファイルは、どのプラットフォームでも使用できます。
Cron
cronリソースを使用して、時間ベースのジョブスケジューリング用のcronエントリを管理します。 スケジュールのプロパティはデフォルトで*になります。提供されない場合。 cronリソースには、crontabプログラム(通常はcron)へのアクセスが必要です。
Csh
cshインタープリターを使用してスクリプトを実行するには、cshリソースを使用します。 このリソースは、実行リソースで使用可能なアクションとプロパティのいずれかを使用する場合もあります。
このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_ifおよびonly_ifを使用して、このリソースのべき等性を保護します。
展開する
ディレクトリ
- ディレクトリ*リソースを使用してディレクトリを管理します。ディレクトリは、コンピュータに保存されているすべての情報を含むフォルダの階層です。 ルートディレクトリはトップレベルで、その下に残りのディレクトリが編成されます。
dpkg_package
easy_install_package
Env
erl_call
実行する
File
freebsd_package
gem_package
Git
グループ
homebrew_package
http_request
ifconfig
インターフェイスを管理するには、 ifconfig リソースを使用します。
ips_package
Ksh
このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_ifおよびonly_ifを使用して、このリソースのべき等性を保護します。
Link
Log
- log リソースを使用して、ログエントリを作成します。 ログリソースは他のリソースと同様に動作します。コンパイルフェーズでリソースコレクションに組み込まれ、実行フェーズで実行されます。 (リソースコレクションに組み込まれていないログエントリを作成するには、ログリソースの代わりにChef
- Logを使用します)
macports_package
macports_packageリソースを使用して、Mac OS Xプラットフォームのパッケージを管理します。
MDADM
構成ファイルが必要な場合は、正しいアレイレイアウトのテンプレートを指定してから、マウントプロバイダーを使用してファイルシステムテーブル(fstab)エントリを作成する必要があります。
マウント
マウントリソースを使用して、マウントされたファイルシステムを管理します。
Ohai
パッケージ
pacman_package
powershell_script
Python
Pythonインタープリターを使用してスクリプトを実行するには、 python リソースを使用します。 このリソースは、実行リソースで使用可能なアクションとプロパティのいずれかを使用する場合もあります。
このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_ifおよびonly_ifを使用して、このリソースのべき等性を保護します。
リブート
registry_key
remote_directory
remote_directoryリソースはファイルの特異性に従います。
remote_file
ルート
Linuxリソースでは、ルートリソースを使用してシステムルーティングテーブルを管理します。
rpm_package
Ruby
Rubyインタープリターを使用してスクリプトを実行するには、 ruby リソースを使用します。 このリソースは、実行リソースで使用可能なアクションとプロパティのいずれかを使用する場合もあります。
このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_ifおよびonly_ifを使用して、このリソースのべき等性を保護します。
ruby_block
スクリプト
スクリプトリソースを使用して、Bash、csh、Perl、Python、Rubyなどの指定されたインタープリターを使用してスクリプトを実行します。 このリソースは、実行リソースで使用可能なアクションとプロパティのいずれかを使用する場合もあります。
このリソースで実行されるコマンドは、それらが実行される環境に通常一意であるため、(本来)by等ではありません。 not_ifおよびonly_ifを使用して、このリソースのべき等性を保護します。