【问题标题】:Is there a way to set project metadata in GCP deployment manager有没有办法在 GCP 部署管理器中设置项目元数据
【发布时间】:2018-11-19 13:50:48
【问题描述】:
我们正在使用 GCP 部署管理器来发布我们的基础架构。我们需要有一个可以从所有组访问的共享位置(例如项目元数据)。我认为如果我们可以将它作为代码的基础设施的一部分,那就太好了,这样我们就可以将它与所有组联系起来。
我认为目前 GCP 部署管理器中没有这样的 resource,但我也不希望有一些单独的脚本来执行此模式之外的更新。
有人可以帮忙吗?在云中存储通用元数据的最佳方式是什么,如果云无法提供正确的工具,我们如何以清晰/好的方式解决这个问题?
【问题讨论】:
标签:
google-cloud-platform
google-deployment-manager
【解决方案2】:
这是一个 yaml 配置文件及其模板:
project.yaml 配置:
# Set project metadata
imports:
- path: project.jinja
resources:
- name: project
type: project.jinja
properties:
key: 'abcd'
value: 1234
还有 project.jinja 模板:
{#
Template: Set Project Metadata
#}
resources:
- name: data
action: gcp-types/compute-v1:compute.projects.setCommonInstanceMetadata
metadata:
runtimePolicy:
- UPDATE_ON_CHANGE
properties:
items:
- key: {{ properties["key"] }}
value: {{ properties["value"] }}