📖 Scenario: You are working as a cloud engineer for a company that wants to automate the creation of a simple Google Cloud Storage bucket using Deployment Manager. This will help the team avoid manual steps and keep infrastructure consistent.
🎯 Goal: Build a Deployment Manager configuration that defines a Google Cloud Storage bucket as infrastructure as code (IaC). You will create the initial configuration data, add a property for the bucket name, define the resource, and complete the configuration for deployment.
📋 What You'll Learn
Create a dictionary called resources to hold the deployment resources.
Add a variable called bucket_name with the exact value my-sample-bucket-123.
Define a resource dictionary for a storage bucket using the type storage.v1.bucket and the name my-bucket.
Complete the configuration by adding the name and properties keys correctly inside the resource.
💡 Why This Matters
🌍 Real World
Automating cloud infrastructure creation helps teams deploy resources quickly and consistently without manual errors.
💼 Career
Cloud engineers and DevOps professionals use Deployment Manager or similar IaC tools daily to manage cloud resources efficiently.
Progress0 / 4 steps
1
Create the initial resources dictionary
Create a variable called resources and set it to an empty list to hold deployment resources.
GCP
Hint
Think of resources as a list where you will add your cloud components.
2
Add the bucket name variable
Add a variable called bucket_name and set it to the string "my-sample-bucket-123".
GCP
Hint
This variable will hold the exact name of the storage bucket.
3
Define the storage bucket resource
Add a dictionary to the resources list with keys: name set to "my-bucket", type set to "storage.v1.bucket", and properties as an empty dictionary.
GCP
Hint
This dictionary describes the bucket resource for Deployment Manager.
4
Complete the bucket properties with the bucket name
Inside the properties dictionary of the first resource in resources, add the key name with the value from the variable bucket_name.
GCP
Hint
This sets the actual bucket name in the deployment configuration.
Practice
(1/5)
1. What is the main purpose of Google Cloud Deployment Manager?
easy
A. To define and manage cloud resources using code
B. To manually create resources through the console
C. To monitor cloud resource usage in real-time
D. To provide a graphical interface for cloud billing
Solution
Step 1: Understand Deployment Manager's role
Deployment Manager lets you write code to define cloud resources instead of manual setup.
Step 2: Compare options
Only To define and manage cloud resources using code describes defining and managing resources using code, which matches Deployment Manager's purpose.
Final Answer:
To define and manage cloud resources using code -> Option A
Quick Check:
Deployment Manager = Infrastructure as Code [OK]
Hint: Deployment Manager = write code for cloud setup [OK]
Common Mistakes:
Confusing Deployment Manager with monitoring tools
Thinking it is a manual console tool
Mixing it with billing or cost tools
2. Which of the following is the correct way to start a Deployment Manager YAML configuration file?
easy
A. services:
B. resources:
C. instances:
D. deployments:
Solution
Step 1: Recall YAML structure for Deployment Manager
The root key to list cloud resources is resources:.
Step 2: Check other options
Options like deployments:, instances:, and services: are not valid root keys in Deployment Manager YAML.
Final Answer:
resources: -> Option B
Quick Check:
YAML starts with resources: [OK]
Hint: Deployment Manager YAML always starts with resources: [OK]
Common Mistakes:
Using wrong root keys like deployments or instances
machineType must include full path with zone prefix like zones/us-central1-a/machineTypes/n1-standard-1.
Step 2: Validate other fields
zone is valid, name is allowed, and type is current. Only machineType format is wrong.
Final Answer:
machineType property is missing zone prefix -> Option C
Quick Check:
machineType needs full path [OK]
Hint: machineType needs full zone path like zones/zone/machineTypes/type [OK]
Common Mistakes:
Using short machineType without zone prefix
Changing name to fix error
Assuming type is deprecated
5. You want to create two VM instances in Deployment Manager using one YAML file. Which approach is best?
hard
A. List two separate resource entries under resources with different names
B. Create one resource with two names separated by commas
C. Use a loop inside YAML to repeat the resource
D. Write two separate YAML files and deploy them separately
Solution
Step 1: Understand YAML resource listing
Deployment Manager YAML supports multiple resources by listing each with a unique name under resources:.
Step 2: Evaluate options
List two separate resource entries under resources with different names correctly lists two resources separately. Create one resource with two names separated by commas is invalid syntax. Use a loop inside YAML to repeat the resource is not supported natively in YAML. Write two separate YAML files and deploy them separately works but is less efficient and not best practice.
Final Answer:
List two separate resource entries under resources with different names -> Option A
Quick Check:
Multiple resources = multiple entries [OK]
Hint: Multiple resources = multiple entries under resources: [OK]
Common Mistakes:
Trying to name one resource with multiple names
Expecting loops inside YAML
Splitting into multiple files unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.