Bird
Raised Fist0
GCPcloud~5 mins

Resource definitions for GCP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a resource definition in Google Cloud Platform (GCP)?
A resource definition in GCP describes a specific cloud service or component, like a virtual machine or storage bucket, including its properties and configuration.
Click to reveal answer
beginner
Name three common resource types you can define in GCP.
Compute Engine VM instances, Cloud Storage buckets, and Cloud Pub/Sub topics are common resource types in GCP.
Click to reveal answer
intermediate
Why is it important to define resources declaratively in GCP?
Declarative resource definitions let you specify the desired state of resources, making it easier to manage, automate, and reproduce infrastructure reliably.
Click to reveal answer
beginner
What file format is commonly used for defining GCP resources in Infrastructure as Code?
YAML or JSON files are commonly used to define GCP resources in Infrastructure as Code tools like Deployment Manager or Terraform.
Click to reveal answer
intermediate
How does GCP identify a resource uniquely?
GCP uses a resource name and a unique identifier within a project and region or zone to uniquely identify each resource.
Click to reveal answer
Which of the following is NOT a typical GCP resource?
ACloud Pub/Sub topic
BCloud Storage bucket
CCompute Engine VM instance
DLocal desktop folder
What is the main benefit of defining resources declaratively in GCP?
AManual configuration is faster
BIt only works for storage resources
CIt allows specifying the desired state for automation
DIt requires no permissions
Which file formats are commonly used for GCP resource definitions?
AYAML and JSON
BXML and CSV
CTXT and DOCX
DHTML and CSS
In GCP, what uniquely identifies a resource?
AOnly the resource name
BResource name and project ID
CUser email address
DOperating system version
Which GCP service is used to manage resource definitions declaratively?
ACloud Deployment Manager
BCloud Functions
CBigQuery
DCloud Run
Explain what a resource definition is in GCP and why it is useful.
Think about how you tell GCP what you want to create and manage.
You got /3 concepts.
    Describe how GCP uniquely identifies resources and why this is important.
    Consider how GCP keeps track of many resources without confusion.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a resource definition in Google Cloud Platform (GCP)?
      easy
      A. To manually start and stop virtual machines
      B. To write application code that runs on GCP
      C. To monitor the usage of cloud resources
      D. To tell GCP what cloud parts to create and how to configure them

      Solution

      1. Step 1: Understand the role of resource definitions

        Resource definitions specify what cloud resources to create and their settings.
      2. Step 2: Compare options to the definition role

        Only To tell GCP what cloud parts to create and how to configure them describes creating and configuring cloud parts, which matches resource definitions.
      3. Final Answer:

        To tell GCP what cloud parts to create and how to configure them -> Option D
      4. Quick Check:

        Resource definitions = create and configure cloud parts [OK]
      Hint: Resource definitions describe cloud parts to create [OK]
      Common Mistakes:
      • Confusing resource definitions with application code
      • Thinking resource definitions monitor usage
      • Believing resource definitions manually control VMs
      2. Which of the following is the correct minimal structure for a GCP resource definition in YAML?
      easy
      A. resources:\n - name: my-vm\n type: compute.instance\n properties:\n location: us-central1-a
      B. resources:\n - id: my-vm\n kind: compute.v1.instance\n settings:\n zone: us-central1-a
      C. resources:\n - name: my-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-a
      D. resource_list:\n - name: my-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-a

      Solution

      1. Step 1: Check the required keys in GCP resource definitions

        GCP expects 'resources' list with each item having 'name', 'type', and 'properties'.
      2. Step 2: Validate each option

        resources:\n - name: my-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-a uses correct keys and valid type 'compute.v1.instance'. Others use wrong keys like 'id', 'kind', or wrong root key 'resource_list'. resources:\n - name: my-vm\n type: compute.instance\n properties:\n location: us-central1-a uses incorrect type 'compute.instance'.
      3. Final Answer:

        resources:\n - name: my-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-a -> Option C
      4. Quick Check:

        Correct keys and type = resources:\n - name: my-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-a [OK]
      Hint: Look for 'resources', 'name', 'type', 'properties' keys [OK]
      Common Mistakes:
      • Using 'id' instead of 'name'
      • Using 'kind' instead of 'type'
      • Wrong root key like 'resource_list'
      • Incorrect resource type format
      3. Given this resource definition snippet, what will be the zone of the created VM?
      resources:
        - name: test-vm
          type: compute.v1.instance
          properties:
            zone: europe-west1-b
            machineType: n1-standard-1
            disks:
              - deviceName: boot
                boot: true
                autoDelete: true
                initializeParams:
                  sourceImage: projects/debian-cloud/global/images/family/debian-11
      
      medium
      A. europe-west1-b
      B. us-central1-a
      C. asia-east1-a
      D. No zone specified, deployment will fail

      Solution

      1. Step 1: Locate the zone property in the resource definition

        The 'zone' property is set to 'europe-west1-b' under 'properties'.
      2. Step 2: Understand zone usage in VM creation

        The VM will be created in the specified zone 'europe-west1-b'.
      3. Final Answer:

        europe-west1-b -> Option A
      4. Quick Check:

        Zone property value = europe-west1-b [OK]
      Hint: Check 'zone' under 'properties' for VM location [OK]
      Common Mistakes:
      • Assuming default zone if specified
      • Confusing machineType with zone
      • Thinking deployment fails without explicit zone
      4. Identify the error in this resource definition snippet:
      resources:
        - name: my-bucket
          type: storage.v1.bucket
          properties:
            location: us-east1
            storageClass: STANDARD
        - name: my-bucket
          type: storage.v1.bucket
          properties:
            location: us-west1
            storageClass: NEARLINE
      
      medium
      A. Invalid storageClass values used
      B. Duplicate resource names cause deployment failure
      C. Missing 'type' field in second resource
      D. Location values are not allowed in bucket properties

      Solution

      1. Step 1: Check resource names for uniqueness

        Both resources have the same name 'my-bucket', which is not allowed.
      2. Step 2: Verify other fields

        Both have 'type' and valid 'storageClass' and 'location'. Only duplicate names cause error.
      3. Final Answer:

        Duplicate resource names cause deployment failure -> Option B
      4. Quick Check:

        Unique resource names required = Duplicate resource names cause deployment failure [OK]
      Hint: Resource names must be unique in definitions [OK]
      Common Mistakes:
      • Ignoring duplicate names
      • Thinking storageClass values are invalid
      • Believing location is disallowed
      5. You want to define a GCP resource that creates a Compute Engine VM with a specific network interface and a startup script. Which of the following resource definitions correctly includes both properties?
      hard
      A. resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 networkInterfaces: - network: global/networks/default metadata: items: - key: startup-script value: |- #!/bin/bash echo Hello World > /var/log/startup.log
      B. resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 network: default startupScript: | #!/bin/bash echo Hello World > /var/log/startup.log
      C. resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 networkInterfaces: - network: default metadata: startup-script: | #!/bin/bash echo Hello World > /var/log/startup.log
      D. resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 networkInterfaces: - network: default metadata: items: - key: startup value: echo Hello World

      Solution

      1. Step 1: Check network interface property format

        Correct format uses 'networkInterfaces' list with 'network' as full resource path or relative path like 'global/networks/default'.
      2. Step 2: Check metadata startup script format

        Metadata must have 'items' list with 'key' and 'value' pairs. The key for startup script is 'startup-script'.
      3. Step 3: Validate each option

        resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 networkInterfaces: - network: global/networks/default metadata: items: - key: startup-script value: |- #!/bin/bash echo Hello World > /var/log/startup.log correctly uses 'networkInterfaces' with full network path and metadata with 'items' list and proper startup script. Others have incorrect keys or missing 'items' list.
      4. Final Answer:

        Option A correctly defines network interface and startup script -> Option A
      5. Quick Check:

        Correct networkInterfaces and metadata items = resources: - name: vm-with-script type: compute.v1.instance properties: zone: us-central1-a machineType: n1-standard-1 networkInterfaces: - network: global/networks/default metadata: items: - key: startup-script value: |- #!/bin/bash echo Hello World > /var/log/startup.log [OK]
      Hint: Use 'networkInterfaces' list and metadata 'items' with key/value [OK]
      Common Mistakes:
      • Using 'network' instead of 'networkInterfaces'
      • Missing 'items' list in metadata
      • Wrong key name for startup script
      • Incorrect network path format
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard