O Cloud Deployment Manager vai chegar ao fim do suporte em 31 de dezembro de 2025. Se você usa o Deployment Manager, migre para o Infrastructure Manager ou uma tecnologia de implantação alternativa até 31 de dezembro de 2025 para garantir que seus serviços continuem sem interrupções.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta etapa, você vai explorar um modelo que importa outros modelos.
Depois de incorporar esses modelos, sua configuração só precisa chamar um único modelo para criar uma implantação com todos esses recursos.
Como abrir o modelo para uma rede
Abra o modelo chamado 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
Esse modelo importa outros modelos para todos os recursos na implantação:
vm-template.py, vm-template-2.py para máquinas virtuais (VMs),
network-template.py para uma rede e firewall-template.py para uma regra
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}
Como visualizar a configuração
Abra o arquivo de configuração para a implantação:
cddeploymentmanager-samples/examples/v2/step_by_step_guide/step6_use_multiple_templates/python
nanoconfig-with-many-templates.yaml# use your preferred text editor
A configuração não chamou diretamente os outros modelos.
No entanto, os outros modelos são importados porque compute-engine-template.py depende deles.
# 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
Como salvar e implantar a configuração
Execute este comando para implantar a configuração:
Pensando no futuro: propriedades de modelo e variáveis de ambiente
Em seguida, você vai substituir algumas partes codificadas de modelos por padrões reutilizáveis, como o modelo personalizado e as variáveis de ambiente.
Como excluir a implantação
Recomendamos que você exclua a implantação para evitar cobranças. Você não precisa desta implantação para a próxima etapa. Execute o seguinte comando para excluir a implantação:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-08 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"]]