Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.1.1
Description
Initially I was seeing the issue reported here https://jira.apache.org/jira/browse/JCLOUDS-1419
I updated to the 2.1.2 snapshot, which resolved that issue, but exposed another. Now it seems that the regions are not in sync with what is actually available from GCS. Here is what I get:
java.lang.IllegalArgumentException: No enum constant org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location.US-WEST2
at java.lang.Enum.valueOf(Enum.java:238)
at org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:41)
at org.jclouds.json.internal.EnumTypeAdapterThatReturnsFromValue.deserialize(EnumTypeAdapterThatReturnsFromValue.java:32)
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)
at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$ParameterReader.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:273)
at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeIntoParameterizedConstructor.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:185)
at org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.readItems(ListPageAdapterFactory.java:73)
at org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:56)
at org.jclouds.googlecloud.config.ListPageAdapterFactory$ListPageAdapter.read(ListPageAdapterFactory.java:36)
at com.google.gson.Gson.fromJson(Gson.java:861)
at com.google.gson.Gson.fromJson(Gson.java:826)
at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:55)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:82)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:76)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:61)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:41)
at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy54.listBucket(Unknown Source)
at org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.list(GoogleCloudStorageBlobStore.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at com.sun.proxy.$Proxy51.list(Unknown Source)
So it seems that the default region that GCS assigned to my regional bucket (US-WEST2) is not supported. Can confirm that if I select US-WEST1 as my region when defining the bucket, all works as expected.
Here is a list of supported regions https://cloud.google.com/storage/docs/bucket-locations
While the Location enum does not include all of them:
These are the ones that appear to be missing:
US_WEST2, EU_NORTH, ASIA_EAST2