properties:指定資源屬性。建立資源所需的屬性與資源 API 要求的屬性相同。舉例來說,當您建立 Compute Engine VM 執行個體時,您必須提供機器類型、映像檔、網路介面,以及開機磁碟規格。
調整設定檔
在 two-vms.yaml 中,將 MY_PROJECT 替換為您的專案 ID。
# 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.resources:-name:the-first-vmtype:compute.v1.instanceproperties:zone:us-central1-fmachineType:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/f1-microdisks:-deviceName:boottype:PERSISTENTboot:trueautoDelete:trueinitializeParams:sourceImage:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11networkInterfaces:-network:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/defaultaccessConfigs:-name:External NATtype:ONE_TO_ONE_NAT-name:the-second-vmtype:compute.v1.instanceproperties:zone:us-central1-fmachineType:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/g1-smalldisks:-deviceName:boottype:PERSISTENTboot:trueautoDelete:trueinitializeParams:sourceImage:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11networkInterfaces:-network:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/defaultaccessConfigs:-name:External NATtype:ONE_TO_ONE_NAT
儲存變更
只要擁有這個基本設定檔,即可建立第一個部署作業。在您宣告想要建立的資源後 (在本範例中為兩個屬於不同機器類型的 VM 執行個體),Deployment Manager 就會為您建立資源。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-03 (世界標準時間)。"],[[["\u003cp\u003eA configuration defines the structure of a deployment, and it is required to create one.\u003c/p\u003e\n"],["\u003cp\u003eThis configuration example creates a deployment with two Compute Engine virtual machine (VM) instances, demonstrating how to define resources.\u003c/p\u003e\n"],["\u003cp\u003eEach resource within the configuration has a \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, and \u003ccode\u003eproperties\u003c/code\u003e field, specifying what is created and how.\u003c/p\u003e\n"],["\u003cp\u003eThe configuration file \u003ccode\u003etwo-vms.yaml\u003c/code\u003e details the creation of two distinct VM instances with varying machine types, demonstrating how to specify different types of VMs.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager uses the defined configuration to create the specified resources, abstracting away the low level creation.\u003c/p\u003e\n"]]],[],null,["# Understanding configurations\n\nA configuration defines the structure of your deployment. You must specify a\nconfiguration to create a deployment.\n\nIn this step, you will access a configuration that creates a deployment with two\nCompute Engine virtual machine (VM) instances. A VM instance is one of\nseveral kinds of resources you can deploy with Deployment Manager.\n\nIn this step, you'll examine a configuration for a deployment with\ntwo VM instances.\n\nOpen the configuration YAML file\n--------------------------------\n\nChange to the directory you created in\n[Installation and setup](/deployment-manager/docs/step-by-step-guide/installation-and-setup): \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration\n\nThen, open `two-vms.yaml`: \n\n nano two-vms.yaml # use your preferred text editor\n\nIn the `resources` section, note that there are two resources: `the-first-vm`\nand `the-second-vm`. Each resource has a `name`, `type`, and `properties`\nfield:\n\n- `name`: A name that you define for the resource.\n\n- `type`: Specifies what type of resource you're creating. For example, a VM\n is `compute.v1.instance`. Similarly, a Cloud SQL \n\n instance has the type `sql.v1beta4.instance`.\n\n- `properties`: Specifies the properties of the resource. The properties\n required to create the resource are the same properties required by the\n resource's API. For example, when you create a Compute Engine VM\n instance, you must provide a machine type, an image, a network interface,\n and a boot disk specification.\n\nSet up the configuration file\n-----------------------------\n\nIn `two-vms.yaml`, replace \u003cvar translate=\"no\"\u003eMY_PROJECT\u003c/var\u003e with your project\nID. \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 resources:\n - name: the-first-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-f\n machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/f1-micro\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default\n accessConfigs:\n - name: External NAT\n type: ONE_TO_ONE_NAT\n - name: the-second-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-f\n machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/g1-small\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default\n accessConfigs:\n - name: External NAT\n type: ONE_TO_ONE_NAT\n\nSave your changes\n-----------------\n\nThis basic configuration file is all you need to create your first deployment.\nYou declared the resources that you want to create (in this case, two VM\ninstances that had different machine types), and Deployment Manager takes\ncare of creating the resources.\n\nIn the next step, you use this configuration to deploy new resources."]]