Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
GCP Configuration Properties Setup
📖 Scenario: You are setting up a Google Cloud Platform (GCP) project configuration to manage environment-specific properties for a web application deployment.
🎯 Goal: Build a configuration file that holds key properties such as project ID, region, and environment type, then use these properties to define deployment settings.
📋 What You'll Learn
Create a dictionary named config with specific keys and values
Add a variable environment to select the deployment environment
Use the environment variable to set the config dictionary's project_id accordingly
Add a final property deployment_name that combines environment and region
💡 Why This Matters
🌍 Real World
Managing configuration properties is essential for deploying cloud applications in different environments like development, testing, and production.
💼 Career
Cloud engineers and DevOps professionals often create and manage configuration files to automate deployments and maintain consistency across environments.
Progress0 / 4 steps
1
Create initial configuration dictionary
Create a dictionary called config with these exact entries: 'project_id': 'my-gcp-project', 'region': 'us-central1', and 'environment': 'dev'.
GCP
Hint
Use curly braces to create a dictionary and separate keys and values with colons.
2
Add environment variable
Create a variable called environment and set it to the string 'prod'.
GCP
Hint
Assign the string 'prod' to the variable named environment.
3
Update project_id based on environment
Use an if statement to check if environment equals 'prod'. If true, update config['project_id'] to 'my-gcp-project-prod'. Otherwise, keep it as 'my-gcp-project'.
GCP
Hint
Use an if-else block to update the project_id in the config dictionary.
4
Add deployment_name property
Add a new key 'deployment_name' to the config dictionary. Set its value to a string combining environment and config['region'] separated by a dash, like prod-us-central1.
GCP
Hint
Use an f-string to combine environment and region with a dash.
Practice
(1/5)
1. What is the purpose of configuration properties in Google Cloud Platform (GCP)?
easy
A. To define settings that control how cloud resources behave
B. To write application code for cloud functions
C. To store user data in databases
D. To monitor network traffic in real-time
Solution
Step 1: Understand configuration properties
Configuration properties are settings that control the behavior of cloud resources like virtual machines, storage, or services.
Step 2: Differentiate from other cloud tasks
Writing code, storing data, or monitoring traffic are different tasks not directly related to configuration properties.
Final Answer:
To define settings that control how cloud resources behave -> Option A
Quick Check:
Configuration properties = settings control behavior [OK]
Hint: Think of configuration as setting rules for cloud resources [OK]
Common Mistakes:
Confusing configuration with coding
Mixing configuration with data storage
Assuming configuration monitors traffic
2. Which of the following is the correct way to specify a configuration property in a GCP YAML deployment file?
easy
A. config:
instanceType = n1-standard-1
B. properties:
instanceType: n1-standard-1
C. settings:
instanceType: 'n1-standard-1'
D. parameters:
instanceType -> n1-standard-1
Solution
Step 1: Identify correct YAML syntax for properties
In GCP deployment manager, configuration properties are under 'properties:' with key-value pairs using colon and indentation.
Step 2: Check each option's syntax
properties:
instanceType: n1-standard-1 uses 'properties:' and colon syntax correctly. Options B, C, and D use incorrect keys or invalid syntax like '=' or '->'.
Final Answer:
properties:
instanceType: n1-standard-1 -> Option B
Quick Check:
YAML properties use colon and indentation [OK]
Hint: YAML uses colon and indentation for key-value pairs [OK]
B. versioning.enabled must be false for public buckets
C. accessControl should be acl
D. storageClass must be lowercase
Solution
Step 1: Check property names for storage bucket
The correct property for access control in GCP storage buckets is 'acl', not 'accessControl'.
Step 2: Validate other properties
Versioning can be true or false regardless of public access. StorageClass is case-insensitive but usually uppercase is accepted. Location is a region, which is correct.
Final Answer:
accessControl should be acl -> Option C
Quick Check:
Property names must match GCP specs exactly [OK]
Hint: Check exact property names in GCP docs [OK]
Common Mistakes:
Using incorrect property name 'accessControl' instead of 'acl'
Assuming versioning must be false for public buckets
Confusing region and zone names
5. You want to configure a GCP Compute Engine instance with a startup script and custom metadata. Which configuration properties should you use in your deployment YAML to achieve this?
hard
A. startupScript: |
#!/bin/bash
echo Hello World
B. scripts:
startup: '#!/bin/bash\necho Hello World'
C. customMetadata:
startup-script: '#!/bin/bash\necho Hello World'
D. metadata:
items:
- key: startup-script
value: |-
#!/bin/bash
echo Hello World
Solution
Step 1: Identify correct metadata property for startup scripts
GCP Compute Engine uses 'metadata' with 'items' list containing key-value pairs for custom metadata like 'startup-script'.
Step 2: Verify syntax for multiline script
Using '|-' in YAML allows multiline script values correctly under 'value'. Other options use incorrect property names or formats.
Final Answer:
metadata:
items:
- key: startup-script
value: |-
#!/bin/bash
echo Hello World -> Option D
Quick Check:
Use metadata.items with key startup-script [OK]
Hint: Startup scripts go under metadata.items with key 'startup-script' [OK]
Common Mistakes:
Using wrong property names like startupScript or scripts