首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据木偶数组内容生成文件?

如何根据木偶数组内容生成文件?
EN

Stack Overflow用户
提问于 2015-04-24 05:18:09
回答 1查看 1.7K关注 0票数 0

我希望能够根据数组的内容创建文件。以下是我尝试过的:

代码语言:javascript
复制
class make_files (
    $servers = ['server-1','server-2','server-3'],
) {
    file { $servers :
        path    => '/tmp',
        content => $servers,
    }
}

..。但当我这么做的时候.

代码语言:javascript
复制
# puppet apply --modulepath=/root/modules -e 'include make_files'

..。我得到了这个输出:

代码语言:javascript
复制
Notice: Compiled catalog for host-001 in environment production in 0.13 seconds
Error: Cannot alias File[server-2] to ["/tmp"] at /root/modules/make_files/manifests/init.pp:9; resource ["File", "/tmp"] already declared at /root/modules/make_files/manifests/init.pp:9

我希望有三份文件..。

代码语言:javascript
复制
# ls /tmp/server-?
/tmp/server-1  /tmp/server-2  /tmp/server-3
# cat /tmp/server-?
server-1
server-2
server-3

如果有人能告诉我如何将文件命名为: server-1.cfg、server-2.cfg和server-3.cfg,那就太酷了。任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-24 07:37:13

首先,您已经在File['/tmp']文件中定义了资源init.pp。这是你遇到问题的主要原因:

错误:别名Fileserver-2不能在/root//tmp/make_files/舱单/init.pp:9处声明为"/tmp“;资源"File","/tmp”已经声明在/root/模块/make_files/舱单/init.pp:9

请检查路径属性的含义。也许这会澄清问题。创建

代码语言:javascript
复制
$files_to_create = ['/path/server-1','/path/server-2','/path/server-3']

然后用它:

代码语言:javascript
复制
    file { $files_to_create :
        content => $servers,
    }

还请确保文件系统中已经存在/path目录。到目前为止,木偶还不能创建中间目录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29839273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档