2016-09-24 3 views
0

1は、例えば、リソース名に変数を置くことができる場合、私は思ったんだけど:変数を使用してPuppetリソース名で連結することはできますか?

$c6release = $::operatingsystemmajrelease 
    ## [EPEL(5, 6, or 7)-x86_64] 
yumrepo { 'EPEL' + $c6release + '-x86_64': ## This is the part I'm asking about. 
    baseurl => "http://repo.centos.com/cobbler/repo_mirror/EPEL" + $c6release + "-x86_64/", 
    gpgcheck => false, 
    enabled => true, 
    priority => '2'; 
} 

私の前に、複数のファイルリソースを作成するために配列を使用することができましたが、私はそれを使用するように見えることはできません上記の方法。

http://www.nico.schottelius.org/blog/puppet-name-is-not-as-expected-but-classname/(これはしかし、パペット2.7用です)

https://ask.puppet.com/question/13266/trying-to-use-namevar-list-with-name-or-title-variable/

https://docs.puppet.com/puppet/latest/reference/lang_resources.html

一つはに定義されたリソースタイプを使用することができます。

私は私の研究では、以下のことがわかりましたこれの世話をする?とにかく

https://docs.puppet.com/puppet/latest/reference/lang_defined_types.html

、上記のは、私は人形のリソース名に変数を使用することができますが、私は彼らが仕事を得るように見えることはできませんことを示しているように見えます。

リソース名に変数を使用できますか?

答えて

2

はい、パペット言語は、リソース名の内挿をサポートしています。ドキュメントhereを参照してください。あなたが必要なもの

$c6release = $::operatingsystemmajrelease 
    yumrepo { "EPEL${c6release}-x86_64": 
    baseurl => "http://repo.centos.com/cobbler/repo_mirror/EPEL${c6release}-x86_64/", 
    gpgcheck => false, 
    enabled => true, 
    priority => '2', 
    } 
+0

また、彼は本当にただの補間に '$ :: operatingsystemmajrelease'を使用する必要があります。 –

+0

//はい、そうするでしょう。しかしこれは単なる例です。また、私はその80コラムの人形っぽい限界にもう少し注意を払うようになった。 –

+0

//、人形っぽいといえば、私は別の質問をするだろうと思う。この種の内挿を使用すると、よい人形のスタイルが得られますか? –

関連する問題