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', }