Bird
Raised Fist0
GCPcloud~5 mins

Scripting with gcloud in GCP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

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
Recall & Review
beginner
What is the purpose of using gcloud in scripts?

gcloud is a command-line tool to manage Google Cloud resources. In scripts, it automates tasks like creating, updating, or deleting resources without manual clicks.

Click to reveal answer
beginner
How do you authenticate a script to use gcloud commands?

You use gcloud auth login for user authentication or gcloud auth activate-service-account --key-file=KEY.json to authenticate with a service account key file for scripts.

Click to reveal answer
beginner
What does the --quiet flag do in gcloud scripts?

The --quiet flag disables all interactive prompts, making scripts run without waiting for user input.

Click to reveal answer
intermediate
Why is it important to check the exit status of gcloud commands in scripts?

Checking exit status helps detect if a command succeeded or failed, so the script can handle errors or stop to avoid unwanted actions.

Click to reveal answer
intermediate
How can you capture the output of a gcloud command in a script?

You can capture output by assigning it to a variable using command substitution, for example: output=$(gcloud compute instances list --format=json).

Click to reveal answer
Which command authenticates a service account for scripting with gcloud?
Agcloud auth activate-service-account --key-file=KEY.json
Bgcloud auth login
Cgcloud config set project PROJECT_ID
Dgcloud init
What does the --quiet flag do when added to a gcloud command in a script?
ASkips authentication
BShows detailed logs
CRuns the command without any interactive prompts
DRuns the command in debug mode
How can you handle errors in a script using gcloud commands?
AIgnore errors and continue
BCheck the exit status after each command
CUse <code>gcloud error-check</code> command
DRestart the script automatically
Which format option helps get machine-readable output from gcloud commands?
A--format=json
B--verbose
C--quiet
D--interactive
What is a good practice when writing scripts with gcloud commands?
AAlways use interactive mode
BRun commands without authentication
CIgnore command outputs
DUse service account authentication and check command results
Explain how to authenticate and run a gcloud command in a script without user interaction.
Think about how scripts avoid prompts and authenticate automatically.
You got /3 concepts.
    Describe how to capture and use the output of a gcloud command inside a script.
    Consider how shell scripts store command results.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the gcloud compute instances list command do?
      easy
      A. It deletes all virtual machine instances.
      B. It creates a new virtual machine instance.
      C. It shows all virtual machine instances in your project.
      D. It updates the configuration of an instance.

      Solution

      1. Step 1: Understand the command structure

        The command uses gcloud compute instances list, which is designed to list resources.
      2. Step 2: Identify the resource targeted

        The resource targeted is virtual machine instances under compute service.
      3. Final Answer:

        It shows all virtual machine instances in your project. -> Option C
      4. Quick Check:

        List command = show resources [OK]
      Hint: List commands show resources, create commands add resources [OK]
      Common Mistakes:
      • Confusing list with create or delete commands
      • Assuming it modifies instances instead of listing
      • Ignoring the service and resource part of the command
      2. Which of the following is the correct syntax to create a new Compute Engine instance named my-vm in zone us-central1-a using gcloud?
      easy
      A. gcloud create instances my-vm --zone us-central1-a
      B. gcloud instances create my-vm --zone us-central1-a
      C. gcloud compute create instance my-vm zone=us-central1-a
      D. gcloud compute instances create my-vm --zone=us-central1-a

      Solution

      1. Step 1: Check the correct command order

        The correct order is gcloud compute instances create followed by the instance name.
      2. Step 2: Verify flag syntax

        The zone flag must be --zone=us-central1-a with an equals sign.
      3. Final Answer:

        gcloud compute instances create my-vm --zone=us-central1-a -> Option D
      4. Quick Check:

        Correct syntax uses 'compute instances create' and '--zone=' [OK]
      Hint: Use full service and resource names with flags using '=' [OK]
      Common Mistakes:
      • Omitting 'compute' or 'instances' keywords
      • Using space instead of '=' in flags
      • Wrong command order or missing flags
      3. What will be the output of this command if there are two instances named vm1 and vm2 in zone us-east1-b?

      gcloud compute instances list --filter="zone:(us-east1-b)" --format="value(name)"
      medium
      A. vm1 vm2
      B. vm1\nvm2
      C. ["vm1", "vm2"]
      D. Error: Invalid filter syntax

      Solution

      1. Step 1: Understand the filter flag

        The filter limits results to instances in zone us-east1-b, so both vm1 and vm2 match.
      2. Step 2: Understand the format flag

        The format value(name) outputs only the names, each on a new line.
      3. Final Answer:

        vm1\nvm2 -> Option B
      4. Quick Check:

        Filter + value format = names on separate lines [OK]
      Hint: value(name) outputs names line by line, not space separated [OK]
      Common Mistakes:
      • Expecting space-separated names instead of new lines
      • Thinking output is JSON array
      • Misreading filter syntax as invalid
      4. You wrote this script line to delete a Compute Engine instance:

      gcloud compute instances delete my-instance --zone us-west1-b

      But it fails with an error. What is the most likely cause?
      medium
      A. Missing '=' sign in the --zone flag
      B. Instance name is incorrect
      C. Delete command requires --force flag
      D. gcloud command does not support delete

      Solution

      1. Step 1: Check flag syntax

        The zone flag must be written as --zone=us-west1-b with an equals sign.
      2. Step 2: Confirm command support

        The delete command is valid and does not require --force unless confirmation is skipped.
      3. Final Answer:

        Missing '=' sign in the --zone flag -> Option A
      4. Quick Check:

        Flags need '=' between flag and value [OK]
      Hint: Flags require '=' between name and value [OK]
      Common Mistakes:
      • Using space instead of '=' in flags
      • Assuming delete needs --force always
      • Thinking delete command is unsupported
      5. You want to write a script that creates three Compute Engine instances named app-1, app-2, and app-3 in zone europe-west1-c. Which script snippet correctly uses a loop with gcloud commands?
      hard
      A. for i in 1 2 3; do gcloud compute instances create app-$i --zone=europe-west1-c; done
      B. gcloud compute instances create app-1 app-2 app-3 --zone europe-west1-c
      C. for i in 1..3; gcloud compute instances create app-i --zone=europe-west1-c; done
      D. gcloud create instances app-{1..3} --zone=europe-west1-c

      Solution

      1. Step 1: Understand shell loop syntax

        The correct bash loop syntax is for i in 1 2 3; do ... done.
      2. Step 2: Check command inside loop

        The command uses variable substitution app-$i and correct flag --zone=europe-west1-c.
      3. Step 3: Verify other options

        gcloud compute instances create app-1 app-2 app-3 --zone europe-west1-c creates all instances in one command but does not use a loop. Options A and D have syntax errors or invalid commands.
      4. Final Answer:

        for i in 1 2 3; do gcloud compute instances create app-$i --zone=europe-west1-c; done -> Option A
      5. Quick Check:

        Bash loop with correct flags and variable substitution [OK]
      Hint: Use 'for i in 1 2 3; do ... done' for loops in bash [OK]
      Common Mistakes:
      • Using invalid loop syntax like '1..3'
      • Missing 'do' and 'done' in loop
      • Incorrect flag syntax without '='
      • Trying to create multiple instances without loop or correct command