Quickstart

In this quickstart, you use Google Cloud Deployment Manager to deploy a virtual machine
instance. The virtual machine is a resource, which you add to a deployment
configuration file. After you create a configuration file, you use it to
create a deployment, which is a collection of resources that you can create
or manage together.

Your deployments can contain dozens of resources from various Google Cloud
services, and you use Deployment Manager to manage them from a single
file.

This quickstart walks you through creating a basic configuration file, and using
that file to create a deployment. To complete this tutorial, you must be
comfortable running commands in a Linux, macOS, or Windows terminal.

You can follow the quickstart in Cloud Shell, where you can edit the sample
configuration, and deploy your resources without installing anything on your
computer. If you want to follow the tutorial on your own computer, skip to the
next section.

Before you begin

Note: If you don't plan to keep the
resources you create in this tutorial, create a new project instead of
selecting an existing project. After you finish, you can delete the
project, removing all resources associated with the project and
tutorial.

# 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.
# Put all your resources under `resources:`. For each resource, you need:
# - The type of resource. In this example, the type is a Compute VM instance.
# - An internal name for the resource.
# - The properties for the resource. In this example, for VM instances, you add
# the machine type, a boot disk, network information, and so on.
#
# For a list of supported resources,
# see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types.
resources:
- type: compute.v1.instance
name: quickstart-deployment-vm
properties:
# The properties of the resource depend on the type of resource. For a list
# of properties, see the API reference for the resource.
zone: us-central1-f
# Replace [MY_PROJECT] with your project ID
machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
# Replace [FAMILY_NAME] with the image family name.
# See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/[FAMILY_NAME]
# Replace [MY_PROJECT] with your project ID
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default
# Access Config required to give the instance a public IP address
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT

This basic configuration file describes a deployment that contains one
virtual machine instance with the following properties:

Machine type: f1-micro

Image family: debian-9

Zone: us-central1-f

Root persistent disk: boot

A randomly assigned external IP address

Replace the following placeholder variables:

Replace [MY_PROJECT] with your project ID

Replace [FAMILY_NAME] with the image family debian-9

Save the file as vm.yaml.

Deploy the resources

To deploy your resources, use the gcloud command-line tool to create a new
deployment, using your configuration file: