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)