A.6. ホスト固有の変数

以下の変数により、テンプレート内でホストデータを使用できます。ジョブテンプレートは @host 変数のみを受け入れる点にご留意ください。

表A.2 ホスト固有の変数およびマクロ

名前説明

@host.architecture

ホストのアーキテクチャーです。

@host.bond_interfaces

すべてのボンディングインターフェイスのアレイを返します。「アレイの解析」を参照してください。

@host.capabilities

システムプロビジョニングの方法には、ビルド (キックスタートなど) またはイメージのいずれかを使用できます。

@host.certname

ホストの SSL 証明書名です。

@host.diskLayout

ホストのディスクレイアウトです。オペレーティングシステムから継承できます。

@host.domain

ホストのドメインです。

@host.environment 非推奨 代わりに host_puppet_environment 変数を使用してください。

ホストの Puppet 環境です。

@host.facts

Facter からファクトの Ruby ハッシュを返します。たとえば、出力の 'ipaddress' ファクトにアクセスするには、@host.facts['ipaddress'] を指定します。

@host.grub_pass

ホストのブートローダーパスワードを返します。

@host.hostgroup

ホストのホストグループです。

host_enc['parameters']

ホストパラメーターの情報が含まれる Ruby ハッシュを返します。たとえば、host_enc['parameters']['lifecycle_environment'] を使用してホストのライフサイクル環境を取得します。

@host.image_build?

ホストがイメージを使用してプロビジョニングされる場合は true を返します。

@host.interfaces

プライマリーインターフェイスを含む利用可能なすべてのホストインターフェイスのアレイが含まれます。「アレイの解析」を参照してください。

@host.interfaces_with_identifier('IDs')

指定された ID を持つインターフェイスのアレイを返します。複数の ID のアレイを入力として渡すことができます (例: @host.interfaces_with_identifier(['eth0', 'eth1']))。「アレイの解析」を参照してください。

@host.ip

ホストの IP アドレスです。

@host.location

ホストの位置です。

@host.mac

ホストの MAC アドレスです。

@host.managed_interfaces

マネージドインターフェイスのアレイを返します (BMC およびボンディングインターフェイスを除く)。「アレイの解析」を参照してください。

@host.medium

割り当てられたオペレーティングシステムのインストールメディアです。

@host.name

ホストの完全名です。

@host.operatingsystem.family

オペレーティングシステムファミリーです。

@host.operatingsystem.major

割り当てられたオペレーティングシステムのメジャーバージョンの番号です。

@host.operatingsystem.minor

割り当てられたオペレーティングシステムのマイナーバージョンの番号です。

@host.operatingsystem.name

割り当てられたオペレーティングシステムの名前です。

@host.operatingsystem.boot_files_uri(medium_provider)

カーネルおよび initrd への完全パスで、アレイを返します。

@host.os.medium_uri(@host)

プロビジョニングに使用される URI です (インストールメディアに設定されるパス)。

host_param('parameter_name')

指定したホストパラメーターの値を返します。

host_param_false?('parameter_name')

指定したホストパラメーターが false と評価されると、false を返します。

host_param_true?('parameter_name')

指定したホストパラメーターが true と評価されると、true を返します。

@host.primary_interface

ホストのプライマリーインスタンスを返します。

@host.provider

コンピュートリソースプロバイダーです。

@host.provision_interface

ホストのプロビジョニングインターフェイスを返します。インターフェイスオブジェクトを返します。

@host.ptable

パーティションテーブル名です。

@host.puppet_ca_server 非推奨 代わりに host_puppet_ca_server 変数を使用してください。

ホストが使用すべき Puppet CA サーバーです。

@host.puppetmaster 非推奨 代わりに host_puppet_server 変数を使用してください。

ホストが使用すべき Puppet サーバー。

@host.pxe_build?

ホストがネットワークまたは PXE を使用してプロビジョニングされる場合に true を返します。

@host.shortname

ホストの省略名です。

@host.sp_ip

BMC インターフェイスの IP アドレスです。

@host.sp_mac

BMC インターフェイスの MAC アドレスです。

@host.sp_name

BMC インターフェイスの名前です。

@host.sp_subnet

BMC ネットワークのサブネットです。

@host.subnet.dhcp

DHCP プロキシーがこのホストに設定されている場合は true を返します。

@host.subnet.dns_primary

ホストのプライマリー DNS サーバーです。

@host.subnet.dns_secondary

ホストのセカンダリー DNS サーバーです。

@host.subnet.gateway

ホストのゲートウェイです。

@host.subnet.mask

ホストのサブネットマスクです。

@host.url_for_boot(:initrd)

このホストに関連付けられる initrd イメージへの完全パスです。変数を補間しないので推奨されません。

@host.url_for_boot(:kernel)

このホストに関連付けられたカーネルへの完全パスです。変数を補間しないので推奨されません。boot_files_uri が優先されます。

@provisioning_type

プロビジョニングのタイプに応じて host または hostgroup と等しくなります。

@static

ネットワーク設定が静的な場合、true を返します。

@template_name

レンダリングされるテンプレートの名前です。

grub_pass

--md5pass =#{@host.grub_pass} などの暗号化されたブートローダーパスワードを設定するためのブートローダー引数を返します。

ks_console

ポートを使用して組み立てられる文字列、およびカーネル行に追加できるボーレートを返します(例: console=ttyS1,9600)。

root_pass

システムに設定される root パスワードを返します。

一般的な Ruby メソッドのほとんどは、ホスト固有の変数に適用できます。たとえば、ホストの IP アドレスの最後のセグメントを抽出するには、以下を使用できます。

<% @host.ip.split('.').last %>