You are encountering a common issue when using jclouds with Google Compute Engine. This happens as many of Google’s public images are considered global. And although this nature makes it available across all regions by default, a VM itself is run and provisioned within a specific zone— this makes specifying a zone important when calling images to avoid jclouds from returning a null location for them.
To avoid this, I suggest ensuring to set the locationID to a zone within your TemplateBuilder:
TemplateBuilder templateBuilder = compute.templateBuilder();
templateBuilder.fromImage(compute.getImage("debian-7-wheezy-v20140408"));
templateBuilder.locationId("europe-west1-a"); // specifying the zone
You can also check this documentation for more reference.
Important Note: When uploading images or files, please ensure that you remove any Personally Identifiable Information (PII), such as project IDs, passwords/privateKeys to maintain security.