Cloud Deployment Manager dejará de estar disponible el 31 de diciembre de 2025. Si actualmente usas Deployment Manager, migra a Infrastructure Manager o a una tecnología de implementación alternativa antes del 31 de diciembre de 2025 para asegurarte de que tus servicios continúen sin interrupciones.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En algunos casos, puedes tener dependencias entre tus recursos, como cuando necesitas que existan ciertas partes del entorno antes de realizar la implementación de otras. Por ejemplo, si quieres crear un proyecto nuevo como parte de una implementación, debes asegurarte de crear el proyecto antes de agregarle recursos.
Puedes especificar estas dependencias con la opción dependsOn en tus plantillas o archivos de configuración. Cuando agregas la opción dependsOn para un recurso, Deployment Manager crea o actualiza las dependencias antes de crear o actualizar el recurso.
Puedes crear dependencias entre tipos de base que sean parte de tu implementación, ya sea en el archivo de configuración o en las plantillas que usas para la implementación.
No puedes establecer una dependencia en los archivos de las plantillas o en tipos compuestos.
Si deseas usar los ejemplos de la API en esta guía, configura el acceso a la API.
Crear dependencias
Para agregar una dependencia a un recurso, agrega una sección metadata que contenga una sección dependsOn. Luego, en la sección dependsOn, especifica una o más dependencias.
En el ejemplo siguiente, a fin de hacer que a-special-vm dependa de la creación de dos discos persistentes, agrega las secciones metadata y dependsOn para a-special-vm.
Después, agrega las dependencias para cada uno de los discos persistentes.
En la misma implementación, debes definir qué discos persistentes son dependencias.
En este ejemplo, los discos son persistent-disk-a y persistent-disk-b:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-03 (UTC)"],[[["\u003cp\u003eDependencies between resources ensure that certain parts of an environment are created or updated before others, which is specified with the \u003ccode\u003edependsOn\u003c/code\u003e option in configuration files or templates.\u003c/p\u003e\n"],["\u003cp\u003eYou can establish dependencies between base types in configuration files or templates, but not on template files or composite types.\u003c/p\u003e\n"],["\u003cp\u003eTo create a dependency, you must include a \u003ccode\u003emetadata\u003c/code\u003e section with a \u003ccode\u003edependsOn\u003c/code\u003e subsection in the resource definition, listing the names of the resources it depends on, such as the example provided where \u003ccode\u003ea-special-vm\u003c/code\u003e depends on \u003ccode\u003epersistent-disk-a\u003c/code\u003e and \u003ccode\u003epersistent-disk-b\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager will create or update the dependent resources before creating or updating the resource that lists them as a dependency.\u003c/p\u003e\n"],["\u003cp\u003eDependency loops, where resource A depends on resource B and vice-versa, are not allowed and will cause the deployment to fail.\u003c/p\u003e\n"]]],[],null,["# Creating Explicit Dependencies\n\nIn some cases, you can have dependencies between your resources, such as when\nyou need certain parts of your environment to exist before you can deploy other\nparts of the environment. For example, if you want to create a new project as\npart of a deployment, you need to ensure that the project is created before you\nadd any resources to it.\n\nYou can specify these dependencies using the `dependsOn` option in your configuration\nfiles or templates. When you add the `dependsOn` option for a resource, Deployment\nManager creates or updates the dependencies before creating or updating\nthe resource.\n\nYou can create dependencies between base types that are part of your deployment,\neither in the configuration file, or in the templates that you use for the deployment.\nYou cannot set a dependency on template files or composite types.\n\nFor background information on base and composite types, see the\n[Types Overview](/deployment-manager/docs/fundamentals#types).\n\nBefore you begin\n----------------\n\n- If you want to use the command-line examples in this guide, install the [\\`gcloud\\` command-line tool](/sdk).\n- If you want to use the API examples in this guide, set up [API access](/deployment-manager/docs/reference/latest).\n\nCreating dependencies\n---------------------\n\nTo add a dependency to a resource, add a `metadata` section that contains a\n`dependsOn` section. Then, in the `dependsOn` section, specify one or more\ndependencies.\n\nIn the following example, to make `a-special-vm` dependent on the creation of two\npersistent disks, add the `metadata` and `dependsOn` sections for `a-special-vm`.\nThen, add the dependencies for each persistent disk.\n\nIn the same deployment, you must define the persistent disks that are dependencies.\nIn this example, the disks are `persistent-disk-a` and `persistent-disk-b`: \n\n resources:\n - name: a-special-vm\n type: compute.v1.instances\n properties:\n ...\n\n metadata:\n dependsOn:\n - persistent-disk-a\n - persistent-disk-b\n\n - name: persistent-disk-a\n type: compute.v1.disks\n properties:\n ...\n\n - name: persistent-disk-b\n type: compute.v1.disks\n properties:\n ...\n\nIn this deployment, Deployment Manager creates `persistent-disk-a` and\n`persistent-disk-b` before creating `a-special-vm`.\n| **Warning:** Avoid creating dependency loops. For example, if you specify that resource A depends on resource B, and resource B depends on resource A, a dependency loop is created, and the deployment fails. Additionally, if you use [references](/deployment-manager/docs/configuration/use-references) in your deployment, implicit dependencies are created, which might also cause dependency loops.\n\nWhat's next\n-----------\n\n- [Create a deployment](/deployment-manager/docs/deployments).\n- Learn about [references](/deployment-manager/docs/configuration/use-references).\n- Learn more about [templates](/deployment-manager/docs/configuration/templates/create-basic-template)."]]