如何从Python构建puppet资源

2024-03-29 15:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Python内部构造一个puppet资源。如果我有一个散列的键和值,或变量的值,这可以怎么做?你知道吗

这是一个简单的木偶资源示例。你知道吗

file { '/etc/passwd':
  owner => root,
  group => root,
  mode  => 644
}

如果我有字符串/etc/passwd,值为root的变量,值为root的另一个变量,值为mode的变量644,我将如何从Python中生成上述资源?你知道吗


Tags: 字符串示例modegroupetcroot资源file
1条回答
网友
1楼 · 发布于 2024-03-29 15:30:38

从您的评论来看,您似乎只是希望能够将python对象输出为puppet清单格式。由于没有一个python包可以做到这一点,我建议编写自己的类来处理所需的资源类型,然后重写str函数,以便它输出所需的清单。你知道吗

class fileresource:

    def __init__(self, mfile, owner, group, mode):
        self.mfile = mfile
        self.owner = owner
        self.group = group
        self.mode = mode

    def __str__(self):
        mystring = "file {'" + self.mfile + "':\n"
        mystring += "  owner => " + self.owner + "\n"
        mystring += "  group => " + self.group + "\n"
        mystring += "  mode => " + self.mode + "\n"
        mystring += "}\n"
        return mystring

if __name__ == "__main__":
    myfile = fileresource("/etc/passwd", "root", "root", "0644")
    print myfile

这将是输出:

$ python fileresource.py 
file {'/etc/passwd':
  owner => root
  group => root
  mode => 0644
}

您可以编写一个完整的包来处理所有不同类型的puppet资源,并在代码中使用它。希望这就是你要找的。你知道吗

相关问题 更多 >