puppet resource コマンドを使用して、システムのリソースの状態を表示および変更できます。このコマンドは、現在のシステム状態を Puppet の宣言型言語に変換します。次にこれを使用して、ほかのシステム上で構成を適用できます。
次の例は、zone リソースタイプの状態を表示する方法を示しています。
# puppet resource zone
zone { 'global':
ensure => 'running',
brand => 'solaris',
iptype => 'shared',
zonepath => '/',
}
zone { 'myzone':
ensure => 'running',
brand => 'solaris-kz',
iptype => 'excl',
zonepath => '/system/volatile/zones/myzone/zonepath',
}
前の例では、大域ゾーンとインストールされたカーネルゾーンの 2 つの zone リソースが宣言されています。これらの各リソースには、ensure、brand、iptype、zonepath の 4 つの属性があります。各属性には値が関連付けられています。この値は、Puppet の宣言型言語の中心的なコンポーネントです。
次の例は、service リソースタイプの状態を表示する方法を示しています。
# puppet resource service svc:/network
/dns/client:default
service {'svc:/network/dns/client:default':
ensure => 'running',
enable =>'true',
}
puppet resource コマンドは、リソースの状態を変更するためにも使用できます。この方法は、Puppet マニフェスト内で構成を直接変更する代わりに使用します。
たとえば、service リソースタイプの状態を次のように変更します。
# puppet resource service svc:/network/dns/client:default enable=false
Notice: /Service[svc:/network/dns/client:default]/enable: enable changed 'true' to 'false'
service { 'svc:/network/dns/client:default':
ensure => 'stopped',
enable => 'false',
}