我想从Python中构建一个puppet资源。如果我有一个键和值的散列,或者带有值的变量,那怎么可能这样做?
这是一个简单的木偶资源示例。
file { '/etc/passwd':
owner => root,
group => root,
mode => 644
}
如果我有字符串/etc/passwd
,变量的值为root
,另一个变量的值为root
,变量mode
的值为{ {1}},我如何从Python中生成上述资源?
答案 0 :(得分:1)
从您的评论看来,您似乎只想将您的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资源的整个包,并在您的代码中使用它。希望这是你正在寻找的。 p>