模板模式导入文件夹中的所有文件

时间:2018-08-07 15:13:13

标签: google-deployment-manager

这是架构文件中的一个部分

   imports:
    - path: configs/folder1/resources/gcpresource/test/*

我正在尝试使用模板的架构文件导入文件夹中的所有文件。 我知道这行不通。

我的问题是 使用*或合适的方式导入所有文件的更好方法是什么,以便Deployment Manager可以导入文件夹中的所有文件而无需显式指定它们?

1 个答案:

答案 0 :(得分:0)

如果它们都是yaml配置文件,则可以在python中这样做

# my-template.yaml
imports:
- path: omni-importer.py

然后在middleware-like python模板中执行以下操作:

# omni-importer.py
import yaml
from os import listdir
from os.path import isfile, join
def generate_config(ctx):
  mypath = ctx.properties['path']
  files = [f for f in listdir(mypath) if isfile(join(mypath, f)) and f.endswith('yaml')]
  yamls = map(lambda f: yaml.load(open('test.txt')['resources']), files)
  return {
    'resources': yamls,
  }

这不是工作代码,而是概念证明