Google cloud platform VPC路由列表作为输入到jinja

Google cloud platform VPC路由列表作为输入到jinja,google-cloud-platform,jinja2,google-deployment-manager,Google Cloud Platform,Jinja2,Google Deployment Manager,我正在尝试获取可用默认路由的列表,然后将其删除 我有以下代码 config.yaml imports: - path: action-1.jinja - path: action-2.jinja resources: - name: action-1 type: action-1.jinja - name: action-2 type: action-2.jinja properties: routes: $(ref.action-1.defaultlist) 行动-1.

我正在尝试获取可用默认路由的列表,然后将其删除

我有以下代码

config.yaml

imports:
- path: action-1.jinja
- path: action-2.jinja

resources:
- name: action-1
  type: action-1.jinja
- name: action-2
  type: action-2.jinja
  properties:
    routes: $(ref.action-1.defaultlist)
行动-1.金贾

resources:
- name: default-routes
  action: 'gcp-types/compute-v1:compute.routes.list'
  properties:
    project: 'PROJECT_ID'
    filter: name=default*
outputs:
- name: defaultlist
  value: $(ref.default-routes.items)
{% set routes = properties['routes'] %}

resources:
{% for route in routes %}
- name: delete-{{ route.name }}
  action: gcp-types/compute-v1:compute.routes.delete
  properties:
    route: {{ route.name }}
    project: 'PROJECT_ID'
  metadata:
    runtimePolicy:
    - CREATE
{% endfor %}
行动-2.金贾

resources:
- name: default-routes
  action: 'gcp-types/compute-v1:compute.routes.list'
  properties:
    project: 'PROJECT_ID'
    filter: name=default*
outputs:
- name: defaultlist
  value: $(ref.default-routes.items)
{% set routes = properties['routes'] %}

resources:
{% for route in routes %}
- name: delete-{{ route.name }}
  action: gcp-types/compute-v1:compute.routes.delete
  properties:
    route: {{ route.name }}
    project: 'PROJECT_ID'
  metadata:
    runtimePolicy:
    - CREATE
{% endfor %}
我得到以下错误。。。不确定route.name为什么为空,如果routes为空,则执行for循环的原因

Manifest expansion encountered the following errors: Resource name 'delete-' is not unique in action-2.jinja. Resource: {'name': 'delete-', 'action': 'gcp-types/compute-v1:compute.routes.delete', 'metadata': {'runtimePolicy': ['CREATE']}, 'properties': {'project': 'PROJECT_ID', 'route': None}} Resource: config
编辑#1我想我知道问题所在,那就是当我将列表作为输出传递给主YAML时,它作为字符串存在,因此第二个jinja中的for循环不起作用,但我不确定如何将此字符串转换为JSON/list/Dict