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 este paso, explorarás una plantilla que importa otras plantillas.
Después de incorporar estas plantillas, tu configuración solo necesita llamar a una plantilla única para crear una implementación con todos estos recursos.
Abre la plantilla para una red
Abre la plantilla llamada compute-engine-template.py:
cddeploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python
nanocompute-engine-template.py# use your preferred text editor
Esta plantilla importa otras plantillas para todos los recursos en la implementación: vm-template.py, vm-template-2.py para máquinas virtuales, network-template.py para una red y firewall-template.py para una regla de firewall.
# Copyright 2016 Google Inc. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License."""Creates the Compute Engine."""defGenerateConfig(context):"""Creates the Compute Engine with network and firewall."""resources=[{'name':'vm-1','type':'vm-template.py'},{'name':'vm-2','type':'vm-template-2.py'},{'name':'network-1','type':'network-template.py'},{'name':'firewall-1','type':'firewall-template.py'}]return{'resources':resources}
Visualiza la configuración
Abre el archivo de configuración para la implementación:
cddeploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python
nanoconfig-with-many-templates.yaml# use your preferred text editor
Ten en cuenta que la configuración no llamó de forma directa a las otras plantillas.
Sin embargo, las otras plantillas se importan porque compute-engine-template.py depende de las otras plantillas.
# Copyright 2016 Google Inc. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.imports:-path:vm-template.py-path:vm-template-2.py-path:network-template.py-path:firewall-template.py-path:compute-engine-template.pyresources:-name:compute-engine-setuptype:compute-engine-template.py
Guarda la configuración y, luego, impleméntala
Ejecuta este comando para implementar la configuración:
De cara al futuro: propiedades de la plantilla y variables de entorno
A continuación, reemplazarás algunas partes codificadas de las plantillas con patrones que puedes volver a usar como plantillas personalizadas y variables de entorno.
Borrar tu implementación
Te recomendamos borrar la implementación para evitar cambios. No necesitas esta implementación para el siguiente paso. Ejecuta el siguiente comando para borrar la implementación:
[[["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\u003eThis step involves exploring a template, \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e, which imports other templates to manage various resources within a deployment.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e imports templates such as \u003ccode\u003evm-template.py\u003c/code\u003e, \u003ccode\u003evm-template-2.py\u003c/code\u003e, \u003ccode\u003enetwork-template.py\u003c/code\u003e, and \u003ccode\u003efirewall-template.py\u003c/code\u003e to create virtual machines, a network, and a firewall rule.\u003c/p\u003e\n"],["\u003cp\u003eThe configuration file, \u003ccode\u003econfig-with-many-templates.yaml\u003c/code\u003e, only needs to call \u003ccode\u003ecompute-engine-template.py\u003c/code\u003e, as this template handles the importing of the other templates.\u003c/p\u003e\n"],["\u003cp\u003eDeploying the configuration is done using the command \u003ccode\u003egcloud deployment-manager deployments create deployment-with-many-templates --config config-with-many-templates.yaml\u003c/code\u003e, and the deployment can be deleted later with the delete command.\u003c/p\u003e\n"]]],[],null,["# Using multiple templates\n\nIn this step, you will explore a template that imports other templates.\n\nAfter incorporating these templates, your configuration only needs to call a\nsingle template to create a deployment with all of these resources.\n\nOpening the template for a network\n----------------------------------\n\nOpen the template named `compute-engine-template.py`: \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python\n\n nano compute-engine-template.py # use your preferred text editor\n\nThis template imports other templates, for all the resources in the deployment:\n`vm-template.py`, `vm-template-2.py` for virtual machines (VMs),\n`network-template.py` for a network, and `firewall-template.py` for a firewall\nrule. \n\n # Copyright 2016 Google Inc. All rights reserved.\n #\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n\n \"\"\"Creates the Compute Engine.\"\"\"\n\n\n def GenerateConfig(context):\n \"\"\"Creates the Compute Engine with network and firewall.\"\"\"\n\n resources = [{\n 'name': 'vm-1',\n 'type': 'vm-template.py'\n }, {\n 'name': 'vm-2',\n 'type': 'vm-template-2.py'\n }, {\n 'name': 'network-1',\n 'type': 'network-template.py'\n }, {\n 'name': 'firewall-1',\n 'type': 'firewall-template.py'\n }]\n return {'resources': resources}\n\nViewing the configuration\n-------------------------\n\nOpen the configuration file for the deployment: \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python\n\n nano config-with-many-templates.yaml # use your preferred text editor\n\nNotice that the configuration did not directly call the other templates.\nHowever, the other templates are imported because `compute-engine-template.py`\ndepends on the other templates. \n\n # Copyright 2016 Google Inc. All rights reserved.\n #\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n\n imports:\n - path: vm-template.py\n - path: vm-template-2.py\n - path: network-template.py\n - path: firewall-template.py\n - path: compute-engine-template.py\n\n resources:\n - name: compute-engine-setup\n type: compute-engine-template.py\n\nSaving the configuration and deploying it\n-----------------------------------------\n\nRun this command to deploy the configuration: \n\n gcloud deployment-manager deployments create deployment-with-many-templates \\\n --config config-with-many-templates.yaml\n\nTo view the deployment, run: \n\n gcloud deployment-manager deployments describe deployment-with-many-templates\n\nLooking ahead: template properties and environment variables\n------------------------------------------------------------\n\nNext, you will replace some hard-coded parts of templates with reusable\npatterns such as custom template and environment variables.\n\nDeleting your deployment\n------------------------\n\nWe recommend that you delete the deployment to avoid charges. You\ndon't need this deployment for the next step. Run the following command to\ndelete the deployment: \n\n gcloud deployment-manager deployments delete deployment-with-many-templates"]]