puppetスクリプトを実行するユーザーを変数として定義する方法

puppetスクリプトを実行するユーザーを変数として定義する方法

私はpuppetを使用しており、それを実行しているユーザーに関連するファイルを生成するスクリプトを作成しようとしています。ファイル/ソフトリンクが存在しない場合は、それを作成して他のアプリケーションがそれを編集してアーカイブに移動できるとします。

file { '/some/path/myuser.file':
    ensure => 'link',     -- ensure => 'file', if I want to create file
    target => '/orignal/path/file',
     }

注:myuserは、スクリプトを実行している実際のユーザーが編集する必要があります。
次のようにスクリプトを変更すると、問題なくうまく機能します。

file { '/some/path/aabuhasna.file':
        ensure => 'link',  -- ensure => 'file', if I want to create file
        target => '/orignal/path/file',
         }

ベストアンサー1

idpuppetには、「ファクトを実行しているユーザーのユーザーID(UID)を返す」というコアファクトがあります。https://docs.puppet.com/facter/latest/core_facts.html#id

したがって、単に以下を使用することが可能でなければなりません。

file { "/some/path/${id}":
  ensure => 'link',
  target => '/original/path/file',
}

おすすめ記事