有没有一种方法可以在GCP Deployment Manager中设置项目元数据

时间:2018-11-19 13:50:48

标签: google-cloud-platform google-deployment-manager

我们正在使用GCP部署管理器发布基础架构。我们需要有一个可以从所有组访问的共享位置(例如,项目元数据)。我认为,如果可以将其作为代码作为基础结构的一部分,那应该很棒,这样我们就可以将其与所有组联系起来。
我认为目前GCP部署管理器中没有这样的resource,但我也不希望有一些单独的脚本来完成此更新。
有人可以帮忙吗?在云中存储通用元数据的最佳方法是什么,如果云无法提供正确的工具,我们如何以清晰/巧妙的方式解决此问题?

2 个答案:

答案 0 :(得分:1)

使用compute.v1.projects API设置项目范围的元数据是DM不支持的。您可以查看DM here支持的资源列表。 您可能希望通过Feature Request

建议对此资源提供支持

答案 1 :(得分:0)

这是一个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"] }}