我正忙着用pyplates来创建AWS CloudFormation JSON模板。我对python编程相当陌生,遇到了一个不确定如何解决的问题。在
CF模板可以很快变得非常大,因此当我使用一个单一文件来存储所有资源时,也会发生同样的情况。我想将资源等拆分成单独的文件,使事情更加模块化。在
要生成JSON,必须通过cli运行以下命令:
cfpy_generate <pyplate> [<outfile>]
该文件是一个python文件,因此您(至少对我来说)应该能够在其中运行任何python代码,但是当我尝试导入这些文件时,我会遇到错误。在
例如:
平板电脑_子文件.py公司名称:
^{pr2}$平板电脑_主.py公司名称:
import pyplates_subfile
ctf = CloudFormationTemplate(description='Test Template')
ctf.parameters.add( Parameter(
'VPCID', 'String',
{
'Default': VPCID,
'Description': 'The default VPC to use',
})
)
ctf.resources.add( pyplates_subfile.subnet )
当我尝试生成该文件时,会得到以下结果:
$ cfn_py_generate pyplates_main.py
Traceback (most recent call last):
File "/Users/marcus/dev/virtenvs/cfn/bin/cfn_py_generate", line 9, in <module>
load_entry_point('cfn-pyplates==0.3.0', 'console_scripts', 'cfn_py_generate')()
File "/Users/marcus/dev/virtenvs/cfn/lib/python2.7/site-packages/cfn_pyplates/cli.py", line 120, in generate
pyplate = _load_pyplate(args['<pyplate>'], options_mapping)
File "/Users/marcus/dev/virtenvs/cfn/lib/python2.7/site-packages/cfn_pyplates/cli.py", line 40, in _load_pyplate
exec pyplate in exec_namespace
File "pyplates_main.py", line 1, in <module>
import pyplates_subfile
ImportError: No module named pyplates_subfile
不过,我可以通过python控制台或可执行脚本导入。在
此外,我还查看了源代码,以确定是否有方法使用库创建自己的脚本来生成输出,但是我似乎找不到这样做的方法。在
感谢任何帮助。在
目前没有回答
相关问题 更多 >
编程相关推荐