部署管理器:无法通过python temp公开输出

2024-09-30 02:17:51 发布

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

我用python创建了一个部署管理器模板,它在运行时生成资源名称,以便在google云平台上使用同一模板创建多个部署。我需要在成功部署后通过输出公开web服务器的外部IP地址。我在python模板中添加了以下内容:

def GenerateConfig(context):
    outputs = []
    resources = [
        {   
    }       ]
    outputs.append({'name': name, 
                    'value': value})

return {'resources': resources, 'outputs': outputs}

问题是,输出没有显示在控制台上,但是,我可以在部署布局中看到它。在


Tags: name服务器名称模板web管理器value部署
2条回答

我花了点时间才弄明白这一点。为了在控制台上显示输出,您需要在模式文件中包含这些输出。{and看起来像是你的模板{1}:

from lib.helper import Helper

def GenerateConfig(context):
  outputs = []
  resources = [
    {
      "name": "resource-1",
      "type": "resource.py"
    }
  ]
  outputs.append({'name': "myField", 
                  'value': "$(ref.resource-1.someValue)"})
  outputs.append({'name': "myOtherField", 
                  'value': "$(ref.resource-1.someOtherValue)"})

  return {'resources': resources, 'outputs': outputs}

然后,您将拥有一个名为template.py.schema的模式文件,其中包含以下内容:

^{pr2}$

已经很晚了,但我希望这能帮助到别人!在

额外提示:当使用Python文件作为模板时,您必须使用模式文件来指定包含(甚至库!),如上例所示。在

参考文献: Exposing Information Using Outputs

你显示的配置对我来说似乎是合适的,我认为没有理由不在控制台中显示它。也许您可以考虑一下这里所解释的类似实现

相关问题 更多 >

    热门问题