JCLOUDS-1259: Add GCS multi-regional and coldline
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java
index 36ab418..cc3b9dc 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java
@@ -45,7 +45,11 @@
    }
 
    public enum StorageClass {
-      STANDARD, DURABLE_REDUCED_AVAILABILITY, NEARLINE;
+      COLDLINE,
+      DURABLE_REDUCED_AVAILABILITY,
+      MULTI_REGIONAL,
+      NEARLINE,
+      STANDARD;
    }
 
    public enum Projection {
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
index 12226dc..c59a82f 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
@@ -58,6 +58,10 @@
 
    private static final String BUCKET_NAME_STANDARD = "jcloudstestbucketstandard" + (int) (Math.random() * 10000);
 
+   private static final String BUCKET_NAME_COLDLINE = "jcloudstestbucketcoldline" + (int) (Math.random() * 10000);
+
+   private static final String BUCKET_NAME_MULTI_REGIONAL = "jcloudstestbucketmultiregional" + (int) (Math.random() * 10000);
+
    private static final String BUCKET_NAME_NEARLINE = "jcloudstestbucketnearline" + (int) (Math.random() * 10000);
 
    private static final String BUCKET_NAME_WITHOPTIONS = "jcloudstestbucketoptions" + (int) (Math.random() * 10000);
@@ -121,6 +125,40 @@
    }
 
    @Test(groups = "live")
+   public void testCreateBucketColdline() {
+      BucketTemplate template = new BucketTemplate()
+               .name(BUCKET_NAME_COLDLINE)
+               .location(Location.US)
+               .storageClass(StorageClass.COLDLINE);
+
+      Bucket response = api().createBucket(PROJECT_NUMBER, template);
+
+      assertNotNull(response);
+      assertEquals(response.name(), BUCKET_NAME_COLDLINE);
+      assertEquals(response.location(), Location.US);
+      assertThat(response.storageClass()).isEqualTo(StorageClass.COLDLINE);
+
+      api().deleteBucket(BUCKET_NAME_COLDLINE);
+   }
+
+   @Test(groups = "live")
+   public void testCreateBucketMultiregional() {
+      BucketTemplate template = new BucketTemplate()
+               .name(BUCKET_NAME_MULTI_REGIONAL)
+               .location(Location.US)
+               .storageClass(StorageClass.MULTI_REGIONAL);
+
+      Bucket response = api().createBucket(PROJECT_NUMBER, template);
+
+      assertNotNull(response);
+      assertEquals(response.name(), BUCKET_NAME_MULTI_REGIONAL);
+      assertEquals(response.location(), Location.US);
+      assertThat(response.storageClass()).isEqualTo(StorageClass.MULTI_REGIONAL);
+
+      api().deleteBucket(BUCKET_NAME_NEARLINE);
+   }
+
+   @Test(groups = "live")
    public void testCreateBucketNearline() {
       BucketTemplate template = new BucketTemplate()
                .name(BUCKET_NAME_NEARLINE)