google-cloud-platform - 有没有办法在 GCP 部署管理器中设置项目元数据
问题描述
我们正在使用 GCP 部署管理器来发布我们的基础架构。我们需要有一个可以从所有组访问的共享位置(例如项目元数据)。我认为如果我们可以将它作为代码的基础设施的一部分,那应该很棒,这样我们就可以将它与所有组连接起来。
我认为目前 GCP 部署管理器中没有这样的资源,但我也不希望有一些单独的脚本来执行此模式之外的更新。
有人可以帮忙吗?在云中存储通用元数据的最佳方式是什么,如果云无法提供正确的工具,我们如何以清晰/好的方式解决这个问题?
解决方案
这是一个 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"] }}
推荐阅读
- php - 如何用html标签替换特殊字符
- html - 对 HTML 使用要求验证时,Select2 不起作用
- php - 对 sql 查询的结果求和
- python - 如何将重叠的键:值声明与正则表达式匹配?
- image - 如何在 Flutter 中实现图像背景
- sql - 在数据集上运行循环以检查分配给销售代表的帐户的变化
- hangouts-chat - 谷歌环聊聊天机器人是否支持日期和时间选择器?
- java - 当我为 Set 执行 addAll 时出现 ConcurrentModificationException
- css - Lucida 书法字体在 android chrome 中无法使用 wordpress 网站
- javascript - 使用 jquery 从 JSON 访问 obj 属性