Skip to content
Talk to us

Using the emulator

Every Google Cloud service in the emulator is served from one address: your Vera instance’s. Set VERA_ENDPOINT to it, since every command in these docs uses it:

Terminal window
export VERA_ENDPOINT="<your Vera instance's address>"

Replace the placeholder with your instance’s address. It’s specific to your instance, so these docs can’t fill it in.

Most services live under $VERA_ENDPOINT/_gcp/<service>/, which keeps paths that look alike apart on the shared address. A few whose paths are already unique, such as Compute Engine and Cloud DNS, sit at the root. Each service page gives its path.

No credentials are needed. The emulator accepts any Authorization header, or none, and doesn’t authorize requests. Any project ID works without creating it first.

Turn off credentials and pick a project once:

Terminal window
export CLOUDSDK_AUTH_DISABLE_CREDENTIALS=true
export CLOUDSDK_CORE_PROJECT=example-project

Then point each service at the emulator with its endpoint override, CLOUDSDK_API_ENDPOINT_OVERRIDES_<API>. Each service page gives the line to add.

Any HTTP client works. Send requests to the service’s path on VERA_ENDPOINT, with no Authorization header needed:

Terminal window
curl "$VERA_ENDPOINT/dns/v1/projects/example-project/managedZones"

Each service page rates every method of the service’s v1 API. The ratings come from running scenarios against the emulator and comparing its responses with recorded Google Cloud responses.

  • Supported Tested, and no difference from Google Cloud was found in this method.
  • Partial Works, with a known difference described in the method's note.
  • Not tested Served by the emulator, but not yet compared with Google Cloud.
  • Not implemented Answers 501 Not Implemented.