対象バージョン
v1.9.6 (https://github.com/itamae-kitchen/itamae/releases/tag/v1.9.6)
※随時更新の予定です
全リソース共通のアトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
aciton |
実行するアクション |
× |
Symbol or Array |
only_if |
あるコマンドが成功したときのみ実行 |
× |
String |
not_if |
あるコマンドが失敗した時のみ実行 |
× |
String |
user |
実行ユーザ |
× |
String |
リソース
execute
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
command |
実行するシェルコマンド |
○ |
String |
デフォルト値
Ex
execute "update yum repo" do
user "root"
command "yum -y update"
end
git
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
repository |
cloneしたいgitリポジトリ |
○ |
String |
デフォルト値
Ex
git "/usr/local/rbenv" do
repository "git://github.com/sstephenson/rbenv.git"
end
remote_file
概要
- ファイルを転送する
- Chefでいうところのcookbook_file
- sourceは相対パスで指定
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
owner |
所有者 |
× |
String |
group |
所属グループ |
× |
String |
source |
転送したいファイルのパス |
○ |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
remote_file "/etc/profile.d/rbenv.sh" do
owner "root"
group "root"
source "remote_files/rbenv.sh"
end
remote_directory
概要
- ディレクトリを転送する
- Chefでいうところのremote_directory
- sourceは相対パスで指定
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
owner |
所有者 |
× |
String |
group |
所属グループ |
× |
String |
source |
転送したいファイルのパス |
○ |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
remote_directory "/etc/var/www" do
owner "root"
group "root"
source "remote_files/etc/var/www"
end
template
概要
- 用意したテンプレートファイル(erb)を転送する
- テンプレートファイルにはノード or variablesで定義した変数かを埋め込む
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
owner |
所有者 |
× |
String |
group |
所属グループ |
× |
String |
source |
転送したいテンプレートファイルのパス |
○ |
String |
variables |
テンプレートファイルに引き渡したい変数 |
× |
Hash |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
template "/tmp/template" do
source "hello.erb"
variables(goodbye: "Good bye")
end
package
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
name |
インストールしたいパッケージ名 |
× |
String |
version |
インストールしたいパッケージのバージョン |
× |
String |
options |
インストール時の実行オプション |
× |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:install |
Ex
package "nginx" do
version "1.6.1"
options "--force-yes"
end
directory
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
mode |
パーミッション |
× |
String |
owner |
所有者 |
× |
String |
group |
所属グループ |
× |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
directory "/var/foo/bar" do
mode "775"
owner "hoge"
group "hoge"
end
link
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
link |
リンク先のパス |
× |
String |
to |
リンク先のパス |
○ |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
link "/tmp-link" do
to "/tmp"
end
local_ruby_block
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
block do 〜 end |
block内のコードを実行する |
○ |
Proc |
Ex
local_ruby_block "greeting" do
block do
Itamae::Logger.info "板前"
end
end
file
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
mode |
パーミッション |
× |
String |
owner |
所有者 |
× |
String |
group |
所属グループ |
× |
String |
content |
ファイルの内容 |
○ |
String |
content_file |
存在するファイルのパス |
○ |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
file "/tmp/file1" do
content "Hello, World"
end
user
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
uid |
ユーザID |
× |
String or Integer |
gid |
グループID |
× |
String |
username |
ユーザ名 |
× |
String |
password |
パスワード |
× |
String |
home |
作成するユーザのホームディレクトリ |
× |
String |
shell |
ログインシェル |
× |
String |
system_user |
システムユーザとするか否か |
× |
true or false |
デフォルト値
アトリビュート名 |
値 |
action |
:create |
Ex
user "create user" do
uid "123456789"
username "hoge"
password "abcdffg"
end
service
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
name |
サービス名 |
○ |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:nothing |
Ex
service "cron" do
action :stop
end
gem_package
概要
アトリビュート
アトリビュート名 |
用途 |
必須 |
型 |
package_name |
gem名 |
○ |
String |
gem_binary |
利用するgemコマンドのバイナリのパス |
× |
String or Array |
version |
インストールするgemのバージョン |
× |
String |
options |
gemコマンドのオプション |
× |
Array |
source |
インストールするgemの取得先のURL |
× |
String |
デフォルト値
アトリビュート名 |
値 |
action |
:install |
gem_binary |
:gem |
Ex
gem_package 'bundler' do
gem_binary 'usr/local/rbenv/shims/gem'
options ['--no-ri', '--no-rdoc']
end
謝辞
参考サイト