一些情况下,您的资源之间存在依赖项,例如先要具备环境中的特定部分才能部署环境的其他部分。例如,如果要创建部署中所包含的新项目,则需要确保先创建项目,再向该项目添加任何资源。
您可以使用配置文件或模板中的 dependsOn
选项指定这些依赖项。为资源添加 dependsOn
选项时,Deployment Manager 会在创建或更新资源之前创建或更新依赖项。
您可以在配置文件中或在用于部署的模板中,创建包含在部署中的基本类型之间的依赖项。 您无法设置模板文件或复合类型上的依赖项。
如需了解关于基本类型和复合类型的背景信息,请参阅类型概述。
准备工作
- 如果要使用本指南中的命令行示例,请安装 “gcloud” 命令行工具。
- 如果希望使用本指南中的 API 示例,请设置 API 访问权限。
创建依赖项
要向资源添加依赖项,请添加包含 dependsOn
部分的 metadata
部分。然后,在 dependsOn
部分中指定一个或多个依赖项。
在以下示例中,要使 a-special-vm
依赖于创建两个永久性磁盘,请为 a-special-vm
添加 metadata
和 dependsOn
部分。然后,添加每个永久性磁盘的依赖项。
在同一部署中,您必须定义作为依赖项的永久性磁盘。
在此示例中,磁盘是 persistent-disk-a
和 persistent-disk-b
:
resources:
- name: a-special-vm
type: compute.v1.instances
properties:
...
metadata:
dependsOn:
- persistent-disk-a
- persistent-disk-b
- name: persistent-disk-a
type: compute.v1.disks
properties:
...
- name: persistent-disk-b
type: compute.v1.disks
properties:
...
在此部署中,Deployment Manager 先创建 persistent-disk-a
和 persistent-disk-b
,再创建 a-special-vm
。