title: Google Compute Engine: Startup Script Not Downloading
body: <p><strong>I am using an instance template with the following metadata:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/XcYjM.png" alt="enter image description here"></p>
  
  <p><strong>And project access:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/RfsNX.png" alt="enter image description here"></p>
  
  <p><strong>Which is equivalent to the following command-line parameters:</strong></p>
  
  <pre><code>gcloud compute --project "myProj" instance-templates create "myProj-template" --machine-type "n1-standard-2" --network "default" --metadata "startup-script-url=gs://my-bucket/startup-script.sh" --scopes "https://www.googleapis.com/auth/devstorage.read_only" --image "https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1404-trusty-v20150316" --boot-disk-type "pd-ssd" --boot-disk-device-name "myProj-template"
  </code></pre>
  
  <p><strong>But when it comes to executing I'm getting the following error:</strong></p>
  
  <pre><code>google: URL gs://my-bucket/startup-script.sh is not located in Google Storage
  google: Downloading url from gs://my-bucket/startup-script.sh to /var/run/google.startup.script using curl
  google: Failed to download gs://my-bucket/startup-script.sh
  google: AccessDeniedException: 403 Access Not Configured. Please go to the Google Developers Console (https://cloud.google.com/console#/project) for your project, select APIs and Auth and enable the Google Cloud Storage JSON API.
  google: curl: (1) Protocol gs not supported or disabled in libcurl
  google: Could not download startup script gs://my-bucket/startup-script.sh.
  </code></pre>
  
  <p><strong>I have confirmed that I do have the API access enabled on my project for Google Cloud Storage:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/MiqGw.png" alt="enter image description here"></p>