Google cloud platform VPC路由列表作为输入到jinja
我正在尝试获取可用默认路由的列表,然后将其删除 我有以下代码 config.yamlGoogle 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.
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