You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2019/01/01 03:42:14 UTC

[1/4] jclouds git commit: JCLOUDS-1452: Remove Authorization.minimumPartSize

Repository: jclouds
Updated Branches:
  refs/heads/master d621edd79 -> 9524383e4


JCLOUDS-1452: Remove Authorization.minimumPartSize

Superseded by absoluteMinimumPartSize and recommendedPartSize.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/a0f496e5
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/a0f496e5
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/a0f496e5

Branch: refs/heads/master
Commit: a0f496e5ec2a36b901e8331cde658d98dfffede1
Parents: 750809f
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Sep 28 13:56:16 2018 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Dec 31 18:47:38 2018 -0800

----------------------------------------------------------------------
 .../src/main/java/org/jclouds/b2/domain/Authorization.java   | 8 +++-----
 .../b2/src/test/resources/authorize_account_response.json    | 3 ++-
 2 files changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f496e5/providers/b2/src/main/java/org/jclouds/b2/domain/Authorization.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/Authorization.java b/providers/b2/src/main/java/org/jclouds/b2/domain/Authorization.java
index 9f5b6fc..a5a46a8 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/Authorization.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/Authorization.java
@@ -26,13 +26,11 @@ public abstract class Authorization {
    public abstract String apiUrl();
    public abstract String authorizationToken();
    public abstract String downloadUrl();
-   @Deprecated
-   public abstract long minimumPartSize();
    public abstract long absoluteMinimumPartSize();
    public abstract long recommendedPartSize();
 
-   @SerializedNames({"accountId", "apiUrl", "authorizationToken", "downloadUrl", "minimumPartSize", "absoluteMinimumPartSize", "recommendedPartSize"})
-   public static Authorization create(String accountId, String apiUrl, String authorizationToken, String downloadUrl, long minimumPartSize, long absoluteMinimumPartSize, long recommendedPartSize) {
-      return new AutoValue_Authorization(accountId, apiUrl, authorizationToken, downloadUrl, minimumPartSize, absoluteMinimumPartSize, recommendedPartSize);
+   @SerializedNames({"accountId", "apiUrl", "authorizationToken", "downloadUrl", "absoluteMinimumPartSize", "recommendedPartSize"})
+   public static Authorization create(String accountId, String apiUrl, String authorizationToken, String downloadUrl, long absoluteMinimumPartSize, long recommendedPartSize) {
+      return new AutoValue_Authorization(accountId, apiUrl, authorizationToken, downloadUrl, absoluteMinimumPartSize, recommendedPartSize);
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a0f496e5/providers/b2/src/test/resources/authorize_account_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/authorize_account_response.json b/providers/b2/src/test/resources/authorize_account_response.json
index ba02ea7..b2145f9 100644
--- a/providers/b2/src/test/resources/authorize_account_response.json
+++ b/providers/b2/src/test/resources/authorize_account_response.json
@@ -1,7 +1,8 @@
 {
+    "absoluteMinimumPartSize": 5000000,
     "accountId": "YOUR_ACCOUNT_ID",
     "apiUrl": "http://localhost",
     "authorizationToken": "2_20150807002553_443e98bf57f978fa58c284f8_24d25d99772e3ba927778b39c9b0198f412d2163_acct",
     "downloadUrl": "http://localhost",
-    "minimumPartSize": 100000000
+    "recommendedPartSize": 100000000
 }


[2/4] jclouds git commit: JCLOUDS-1452: Replace size with contentLength

Posted by ga...@apache.org.
JCLOUDS-1452: Replace size with contentLength

Tracking B2 v2 API changes.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/750809f9
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/750809f9
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/750809f9

Branch: refs/heads/master
Commit: 750809f97f12bbaf7e8afcd83107a3c268e21244
Parents: ce163f3
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Sep 28 12:04:42 2018 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Dec 31 18:47:38 2018 -0800

----------------------------------------------------------------------
 .../main/java/org/jclouds/b2/blobstore/B2BlobStore.java |  4 ++--
 .../main/java/org/jclouds/b2/domain/B2ObjectList.java   | 12 ++++++++----
 .../b2/src/test/resources/list_file_names_response.json |  4 ++--
 .../src/test/resources/list_file_versions_response.json |  6 +++---
 4 files changed, 15 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/750809f9/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
index c36773f..7fec40a 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java
@@ -205,9 +205,9 @@ public final class B2BlobStore extends BaseBlobStore {
          } else {
             Map<String, String> userMetadata = ImmutableMap.of();
             ContentMetadata metadata = ContentMetadataBuilder.create()
-                  .contentLength(entry.size())
+                  .contentLength(entry.contentLength())
                   .build();
-            builder.add(new BlobMetadataImpl(null, entry.fileName(), null, null, null, null, entry.uploadTimestamp(), userMetadata, null, container, metadata, entry.size()));
+            builder.add(new BlobMetadataImpl(null, entry.fileName(), null, null, null, null, entry.uploadTimestamp(), userMetadata, null, container, metadata, entry.contentLength()));
          }
       }
       return new PageSetImpl<StorageMetadata>(builder.build(), list.nextFileName());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/750809f9/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java b/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
index af256dd..78c9f43 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
@@ -41,12 +41,16 @@ public abstract class B2ObjectList {
       public abstract Action action();
       @Nullable public abstract String fileId();
       public abstract String fileName();
-      public abstract long size();
+      public abstract long contentLength();
+      @Deprecated
+      public long size() {
+         return contentLength();
+      }
       public abstract Date uploadTimestamp();
 
-      @SerializedNames({"action", "fileId", "fileName", "size", "uploadTimestamp"})
-      public static Entry create(Action action, @Nullable String fileId, String fileName, long size, long uploadTimestamp) {
-         return new AutoValue_B2ObjectList_Entry(action, fileId, fileName, size, new Date(uploadTimestamp));
+      @SerializedNames({"action", "fileId", "fileName", "contentLength", "uploadTimestamp"})
+      public static Entry create(Action action, @Nullable String fileId, String fileName, long contentLength, long uploadTimestamp) {
+         return new AutoValue_B2ObjectList_Entry(action, fileId, fileName, contentLength, new Date(uploadTimestamp));
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/750809f9/providers/b2/src/test/resources/list_file_names_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/list_file_names_response.json b/providers/b2/src/test/resources/list_file_names_response.json
index 51d95ba..b26e7b3 100644
--- a/providers/b2/src/test/resources/list_file_names_response.json
+++ b/providers/b2/src/test/resources/list_file_names_response.json
@@ -4,14 +4,14 @@
             "action": "upload",
             "fileId": "4_z27c88f1d182b150646ff0b16_f1004ba650fe24e6b_d20150809_m012853_c100_v0009990_t0000",
             "fileName": "files/hello.txt",
-            "size": 6,
+            "contentLength": 6,
             "uploadTimestamp": 1439083733000
         },
         {
             "action": "upload",
             "fileId": "4_z27c88f1d182b150646ff0b16_f1004ba650fe24e6c_d20150809_m012854_c100_v0009990_t0000",
             "fileName": "files/world.txt",
-            "size": 6,
+            "contentLength": 6,
             "uploadTimestamp": 1439083734000
         }
     ],

http://git-wip-us.apache.org/repos/asf/jclouds/blob/750809f9/providers/b2/src/test/resources/list_file_versions_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/list_file_versions_response.json b/providers/b2/src/test/resources/list_file_versions_response.json
index e7aaf48..2c87afa 100644
--- a/providers/b2/src/test/resources/list_file_versions_response.json
+++ b/providers/b2/src/test/resources/list_file_versions_response.json
@@ -4,21 +4,21 @@
             "action": "upload",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886245_d20150809_m232316_c100_v0009990_t0003",
             "fileName": "files/hello.txt",
-            "size": 6,
+            "contentLength": 6,
             "uploadTimestamp": 1439162596000
         },
         {
             "action": "hide",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886247_d20150809_m232323_c100_v0009990_t0005",
             "fileName": "files/world.txt",
-            "size": 0,
+            "contentLength": 0,
             "uploadTimestamp": 1439162603000
         },
         {
             "action": "upload",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886246_d20150809_m232316_c100_v0009990_t0003",
             "fileName": "files/world.txt",
-            "size": 6,
+            "contentLength": 6,
             "uploadTimestamp": 1439162596000
         }
     ],


[3/4] jclouds git commit: JCLOUDS-1452: Switch to B2 v2 API

Posted by ga...@apache.org.
JCLOUDS-1452: Switch to B2 v2 API

Some cleanups but no major changes:

https://www.backblaze.com/blog/backblaze-b2-api-version-2-beta-is-now-open/


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/ce163f34
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/ce163f34
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/ce163f34

Branch: refs/heads/master
Commit: ce163f34989ceb05d5f331c040e913f28075d96d
Parents: d621edd
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Sep 28 08:58:38 2018 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Dec 31 18:47:38 2018 -0800

----------------------------------------------------------------------
 .../jclouds/b2/features/AuthorizationApi.java   |  2 +-
 .../java/org/jclouds/b2/features/BucketApi.java |  8 ++---
 .../org/jclouds/b2/features/MultipartApi.java   | 12 +++----
 .../java/org/jclouds/b2/features/ObjectApi.java | 20 ++++++------
 .../org/jclouds/b2/filters/B2RetryHandler.java  |  4 +--
 .../org/jclouds/b2/features/B2TestUtils.java    |  2 +-
 .../jclouds/b2/features/BucketApiMockTest.java  | 10 +++---
 .../b2/features/MultipartApiMockTest.java       | 18 +++++------
 .../jclouds/b2/features/ObjectApiMockTest.java  | 34 ++++++++++----------
 .../resources/get_upload_part_url_response.json |  2 +-
 .../test/resources/get_upload_url_response.json |  2 +-
 11 files changed, 57 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/main/java/org/jclouds/b2/features/AuthorizationApi.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/features/AuthorizationApi.java b/providers/b2/src/main/java/org/jclouds/b2/features/AuthorizationApi.java
index c232e47..6c4de08 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/features/AuthorizationApi.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/features/AuthorizationApi.java
@@ -30,7 +30,7 @@ import org.jclouds.rest.annotations.RequestFilters;
 public interface AuthorizationApi {
    @Named("b2_authorize_account")
    @GET
-   @Path("/b2api/v1/b2_authorize_account")
+   @Path("/b2api/v2/b2_authorize_account")
    @RequestFilters(BasicAuthentication.class)
    @Consumes(APPLICATION_JSON)
    Authorization authorizeAccount();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/main/java/org/jclouds/b2/features/BucketApi.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/features/BucketApi.java b/providers/b2/src/main/java/org/jclouds/b2/features/BucketApi.java
index 2e6d5de..39e83ae 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/features/BucketApi.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/features/BucketApi.java
@@ -46,14 +46,14 @@ import org.jclouds.rest.binders.BindToJsonPayload;
 public interface BucketApi {
    @Named("b2_create_bucket")
    @POST
-   @Path("/b2api/v1/b2_create_bucket")
+   @Path("/b2api/v2/b2_create_bucket")
    @MapBinder(BindToJsonPayload.class)
    @PayloadParams(keys = {"accountId"}, values = {"{jclouds.identity}"})
    Bucket createBucket(@PayloadParam("bucketName") String bucketName, @PayloadParam("bucketType") BucketType bucketType);
 
    @Named("b2_delete_bucket")
    @POST
-   @Path("/b2api/v1/b2_delete_bucket")
+   @Path("/b2api/v2/b2_delete_bucket")
    @MapBinder(BindToJsonPayload.class)
    @PayloadParams(keys = {"accountId"}, values = {"{jclouds.identity}"})
    @Fallback(NullOnNotFoundOr404.class)
@@ -61,14 +61,14 @@ public interface BucketApi {
 
    @Named("b2_update_bucket")
    @POST
-   @Path("/b2api/v1/b2_update_bucket")
+   @Path("/b2api/v2/b2_update_bucket")
    @MapBinder(BindToJsonPayload.class)
    @PayloadParams(keys = {"accountId"}, values = {"{jclouds.identity}"})
    Bucket updateBucket(@PayloadParam("bucketId") String bucketId, @PayloadParam("bucketType") BucketType bucketType);
 
    @Named("b2_list_buckets")
    @POST
-   @Path("/b2api/v1/b2_list_buckets")
+   @Path("/b2api/v2/b2_list_buckets")
    @MapBinder(BindToJsonPayload.class)
    @PayloadParams(keys = {"accountId"}, values = {"{jclouds.identity}"})
    BucketList listBuckets();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/main/java/org/jclouds/b2/features/MultipartApi.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/features/MultipartApi.java b/providers/b2/src/main/java/org/jclouds/b2/features/MultipartApi.java
index 510fd0f..bc8b235 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/features/MultipartApi.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/features/MultipartApi.java
@@ -51,7 +51,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
 public interface MultipartApi {
    @Named("b2_start_large_file")
    @POST
-   @Path("/b2api/v1/b2_start_large_file")
+   @Path("/b2api/v2/b2_start_large_file")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)
@@ -59,7 +59,7 @@ public interface MultipartApi {
 
    @Named("b2_cancel_large_file")
    @POST
-   @Path("/b2api/v1/b2_cancel_large_file")
+   @Path("/b2api/v2/b2_cancel_large_file")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)
@@ -67,7 +67,7 @@ public interface MultipartApi {
 
    @Named("b2_finish_large_file")
    @POST
-   @Path("/b2api/v1/b2_finish_large_file")
+   @Path("/b2api/v2/b2_finish_large_file")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)
@@ -75,7 +75,7 @@ public interface MultipartApi {
 
    @Named("b2_get_upload_part_url")
    @POST
-   @Path("/b2api/v1/b2_get_upload_part_url")
+   @Path("/b2api/v2/b2_get_upload_part_url")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)
@@ -88,7 +88,7 @@ public interface MultipartApi {
 
    @Named("b2_list_parts")
    @POST
-   @Path("/b2api/v1/b2_list_parts")
+   @Path("/b2api/v2/b2_list_parts")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)
@@ -96,7 +96,7 @@ public interface MultipartApi {
 
    @Named("b2_list_unfinished_large_files")
    @POST
-   @Path("/b2api/v1/b2_list_unfinished_large_files")
+   @Path("/b2api/v2/b2_list_unfinished_large_files")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Produces(APPLICATION_JSON)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/main/java/org/jclouds/b2/features/ObjectApi.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/features/ObjectApi.java b/providers/b2/src/main/java/org/jclouds/b2/features/ObjectApi.java
index 5da8f85..97dc135 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/features/ObjectApi.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/features/ObjectApi.java
@@ -56,7 +56,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
 public interface ObjectApi {
    @Named("b2_get_upload_url")
    @POST
-   @Path("/b2api/v1/b2_get_upload_url")
+   @Path("/b2api/v2/b2_get_upload_url")
    @RequestFilters(RequestAuthorization.class)
    @MapBinder(BindToJsonPayload.class)
    @Consumes(APPLICATION_JSON)
@@ -71,7 +71,7 @@ public interface ObjectApi {
 
    @Named("b2_delete_file_version")
    @POST
-   @Path("/b2api/v1/b2_delete_file_version")
+   @Path("/b2api/v2/b2_delete_file_version")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -80,7 +80,7 @@ public interface ObjectApi {
 
    @Named("b2_get_file_info")
    @POST
-   @Path("/b2api/v1/b2_get_file_info")
+   @Path("/b2api/v2/b2_get_file_info")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -90,7 +90,7 @@ public interface ObjectApi {
 
    @Named("b2_download_file_by_id")
    @GET
-   @Path("/b2api/v1/b2_download_file_by_id")
+   @Path("/b2api/v2/b2_download_file_by_id")
    @RequestFilters(RequestAuthorizationDownload.class)
    @ResponseParser(ParseB2ObjectFromResponse.class)
    @Fallback(NullOnNotFoundOr404.class)
@@ -98,7 +98,7 @@ public interface ObjectApi {
 
    @Named("b2_download_file_by_id")
    @GET
-   @Path("/b2api/v1/b2_download_file_by_id")
+   @Path("/b2api/v2/b2_download_file_by_id")
    @RequestFilters(RequestAuthorizationDownload.class)
    @ResponseParser(ParseB2ObjectFromResponse.class)
    @Fallback(NullOnNotFoundOr404.class)
@@ -123,7 +123,7 @@ public interface ObjectApi {
    @Deprecated
    @Named("b2_list_file_names")
    @GET
-   @Path("/b2api/v1/b2_list_file_names")
+   @Path("/b2api/v2/b2_list_file_names")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -132,7 +132,7 @@ public interface ObjectApi {
 
    @Named("b2_list_file_names")
    @GET
-   @Path("/b2api/v1/b2_list_file_names")
+   @Path("/b2api/v2/b2_list_file_names")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -142,7 +142,7 @@ public interface ObjectApi {
    @Deprecated
    @Named("b2_list_file_versions")
    @GET
-   @Path("/b2api/v1/b2_list_file_versions")
+   @Path("/b2api/v2/b2_list_file_versions")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -151,7 +151,7 @@ public interface ObjectApi {
 
    @Named("b2_list_file_versions")
    @GET
-   @Path("/b2api/v1/b2_list_file_versions")
+   @Path("/b2api/v2/b2_list_file_versions")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)
@@ -160,7 +160,7 @@ public interface ObjectApi {
 
    @Named("b2_hide_file")
    @POST
-   @Path("/b2api/v1/b2_hide_file")
+   @Path("/b2api/v2/b2_hide_file")
    @MapBinder(BindToJsonPayload.class)
    @RequestFilters(RequestAuthorization.class)
    @Consumes(APPLICATION_JSON)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/main/java/org/jclouds/b2/filters/B2RetryHandler.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/filters/B2RetryHandler.java b/providers/b2/src/main/java/org/jclouds/b2/filters/B2RetryHandler.java
index e58d712..3415061 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/filters/B2RetryHandler.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/filters/B2RetryHandler.java
@@ -54,12 +54,12 @@ public final class B2RetryHandler extends BackoffLimitedRetryHandler implements
 
       // B2 requires retrying on a different storage node for uploads
       String path = request.getEndpoint().getPath();
-      if (path.startsWith("/b2api/v1/b2_upload_file")) {
+      if (path.startsWith("/b2api/v2/b2_upload_file")) {
          String bucketId = path.split("/")[4];
          UploadUrlResponse uploadUrl = api.getObjectApi().getUploadUrl(bucketId);
          builder.endpoint(uploadUrl.uploadUrl())
                .replaceHeader(HttpHeaders.AUTHORIZATION, uploadUrl.authorizationToken());
-      } else if (path.startsWith("/b2api/v1/b2_upload_part")) {
+      } else if (path.startsWith("/b2api/v2/b2_upload_part")) {
          String fileId = path.split("/")[4];
          GetUploadPartResponse uploadUrl = api.getMultipartApi().getUploadPartUrl(fileId);
          builder.endpoint(uploadUrl.uploadUrl())

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/java/org/jclouds/b2/features/B2TestUtils.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/java/org/jclouds/b2/features/B2TestUtils.java b/providers/b2/src/test/java/org/jclouds/b2/features/B2TestUtils.java
index 20be6f2..50b387e 100644
--- a/providers/b2/src/test/java/org/jclouds/b2/features/B2TestUtils.java
+++ b/providers/b2/src/test/java/org/jclouds/b2/features/B2TestUtils.java
@@ -65,7 +65,7 @@ final class B2TestUtils {
    static void assertAuthentication(MockWebServer server) {
       assertThat(server.getRequestCount()).isGreaterThanOrEqualTo(1);
       try {
-         assertThat(server.takeRequest().getRequestLine()).isEqualTo("GET /b2api/v1/b2_authorize_account HTTP/1.1");
+         assertThat(server.takeRequest().getRequestLine()).isEqualTo("GET /b2api/v2/b2_authorize_account HTTP/1.1");
       } catch (InterruptedException e) {
          throw Throwables.propagate(e);
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/java/org/jclouds/b2/features/BucketApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/java/org/jclouds/b2/features/BucketApiMockTest.java b/providers/b2/src/test/java/org/jclouds/b2/features/BucketApiMockTest.java
index 5a6bf85..38fde65 100644
--- a/providers/b2/src/test/java/org/jclouds/b2/features/BucketApiMockTest.java
+++ b/providers/b2/src/test/java/org/jclouds/b2/features/BucketApiMockTest.java
@@ -47,7 +47,7 @@ public final class BucketApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_create_bucket", "/create_bucket_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_create_bucket", "/create_bucket_request.json");
       } finally {
          server.shutdown();
       }
@@ -67,7 +67,7 @@ public final class BucketApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_delete_bucket", "/delete_bucket_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_delete_bucket", "/delete_bucket_request.json");
       } finally {
          server.shutdown();
       }
@@ -85,7 +85,7 @@ public final class BucketApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_delete_bucket", "/delete_bucket_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_delete_bucket", "/delete_bucket_request.json");
       } finally {
          server.shutdown();
       }
@@ -105,7 +105,7 @@ public final class BucketApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_update_bucket", "/update_bucket_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_update_bucket", "/update_bucket_request.json");
       } finally {
          server.shutdown();
       }
@@ -133,7 +133,7 @@ public final class BucketApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_list_buckets", "/list_buckets_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_list_buckets", "/list_buckets_request.json");
       } finally {
          server.shutdown();
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/java/org/jclouds/b2/features/MultipartApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/java/org/jclouds/b2/features/MultipartApiMockTest.java b/providers/b2/src/test/java/org/jclouds/b2/features/MultipartApiMockTest.java
index 147167c..7fc8af6 100644
--- a/providers/b2/src/test/java/org/jclouds/b2/features/MultipartApiMockTest.java
+++ b/providers/b2/src/test/java/org/jclouds/b2/features/MultipartApiMockTest.java
@@ -76,7 +76,7 @@ public final class MultipartApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_start_large_file", "/start_large_file_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_start_large_file", "/start_large_file_request.json");
       } finally {
          server.shutdown();
       }
@@ -97,7 +97,7 @@ public final class MultipartApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_cancel_large_file", "/cancel_large_file_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_cancel_large_file", "/cancel_large_file_request.json");
       } finally {
          server.shutdown();
       }
@@ -127,7 +127,7 @@ public final class MultipartApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_finish_large_file", "/finish_large_file_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_finish_large_file", "/finish_large_file_request.json");
       } finally {
          server.shutdown();
       }
@@ -143,11 +143,11 @@ public final class MultipartApiMockTest {
          GetUploadPartResponse response = api.getUploadPartUrl(FILE_ID);
          assertThat(response.authorizationToken()).isEqualTo(AUTHORIZATION_TOKEN);
          assertThat(response.fileId()).isEqualTo(FILE_ID);
-         assertThat(response.uploadUrl()).isEqualTo(URI.create("https://pod-000-1016-09.backblaze.com/b2api/v1/b2_upload_part/4_ze73ede9c9c8412db49f60715_f100b4e93fbae6252_d20150824_m224353_c900_v8881000_t0001/0037"));
+         assertThat(response.uploadUrl()).isEqualTo(URI.create("https://pod-000-1016-09.backblaze.com/b2api/v2/b2_upload_part/4_ze73ede9c9c8412db49f60715_f100b4e93fbae6252_d20150824_m224353_c900_v8881000_t0001/0037"));
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_get_upload_part_url", "/get_upload_part_url_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_get_upload_part_url", "/get_upload_part_url_request.json");
       } finally {
          server.shutdown();
       }
@@ -159,7 +159,7 @@ public final class MultipartApiMockTest {
 
       try {
          MultipartApi api = api(server.getUrl("/").toString(), "b2").getMultipartApi();
-         GetUploadPartResponse uploadPart = GetUploadPartResponse.create(FILE_ID, server.getUrl("/b2api/v1/b2_upload_part/4a48fe8875c6214145260818/c001_v0001007_t0042").toURI(), AUTHORIZATION_TOKEN);
+         GetUploadPartResponse uploadPart = GetUploadPartResponse.create(FILE_ID, server.getUrl("/b2api/v2/b2_upload_part/4a48fe8875c6214145260818/c001_v0001007_t0042").toURI(), AUTHORIZATION_TOKEN);
          long contentLength = 100 * 1000 * 1000;
          Payload payload = Payloads.newByteSourcePayload(TestUtils.randomByteSource().slice(0, contentLength));
          payload.getContentMetadata().setContentLength(contentLength);
@@ -170,7 +170,7 @@ public final class MultipartApiMockTest {
          assertThat(response.partNumber()).isEqualTo(1);
 
          assertThat(server.getRequestCount()).isEqualTo(1);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_upload_part/4a48fe8875c6214145260818/c001_v0001007_t0042");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_upload_part/4a48fe8875c6214145260818/c001_v0001007_t0042");
       } finally {
          server.shutdown();
       }
@@ -210,7 +210,7 @@ public final class MultipartApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_list_parts", "/list_parts_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_list_parts", "/list_parts_request.json");
       } finally {
          server.shutdown();
       }
@@ -238,7 +238,7 @@ public final class MultipartApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_list_unfinished_large_files", "/list_unfinished_large_files_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_list_unfinished_large_files", "/list_unfinished_large_files_request.json");
       } finally {
          server.shutdown();
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/java/org/jclouds/b2/features/ObjectApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/java/org/jclouds/b2/features/ObjectApiMockTest.java b/providers/b2/src/test/java/org/jclouds/b2/features/ObjectApiMockTest.java
index 43ac19b..5b86dc1 100644
--- a/providers/b2/src/test/java/org/jclouds/b2/features/ObjectApiMockTest.java
+++ b/providers/b2/src/test/java/org/jclouds/b2/features/ObjectApiMockTest.java
@@ -69,12 +69,12 @@ public final class ObjectApiMockTest {
          ObjectApi api = api(server.getUrl("/").toString(), "b2").getObjectApi();
          UploadUrlResponse response = api.getUploadUrl(BUCKET_ID);
          assertThat(response.bucketId()).isEqualTo(BUCKET_ID);
-         assertThat(response.uploadUrl()).isEqualTo(URI.create("https://pod-000-1005-03.backblaze.com/b2api/v1/b2_upload_file?cvt=c001_v0001005_t0027&bucket=4a48fe8875c6214145260818"));
+         assertThat(response.uploadUrl()).isEqualTo(URI.create("https://pod-000-1005-03.backblaze.com/b2api/v2/b2_upload_file?cvt=c001_v0001005_t0027&bucket=4a48fe8875c6214145260818"));
          assertThat(response.authorizationToken()).isEqualTo("2_20151009170037_f504a0f39a0f4e657337e624_9754dde94359bd7b8f1445c8f4cc1a231a33f714_upld");
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_get_upload_url", "/get_upload_url_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_get_upload_url", "/get_upload_url_request.json");
       } finally {
          server.shutdown();
       }
@@ -96,7 +96,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_get_upload_url", "/get_upload_url_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_get_upload_url", "/get_upload_url_request.json");
       } finally {
          server.shutdown();
       }
@@ -110,7 +110,7 @@ public final class ObjectApiMockTest {
          ObjectApi api = api(server.getUrl("/").toString(), "b2").getObjectApi();
          String accountId = "d522aa47a10f";
 
-         UploadUrlResponse uploadUrl = UploadUrlResponse.create(BUCKET_ID, server.getUrl("/b2api/v1/b2_upload_file/4a48fe8875c6214145260818/c001_v0001007_t0042").toURI(), "FAKE-AUTHORIZATION-TOKEN");
+         UploadUrlResponse uploadUrl = UploadUrlResponse.create(BUCKET_ID, server.getUrl("/b2api/v2/b2_upload_file/4a48fe8875c6214145260818/c001_v0001007_t0042").toURI(), "FAKE-AUTHORIZATION-TOKEN");
          Payload payload = Payloads.newStringPayload(PAYLOAD);
          payload.getContentMetadata().setContentType(CONTENT_TYPE);
          UploadFileResponse response = api.uploadFile(uploadUrl, FILE_NAME, SHA1, FILE_INFO, payload);
@@ -125,7 +125,7 @@ public final class ObjectApiMockTest {
          assertThat(response.fileInfo()).isEqualTo(FILE_INFO);
 
          assertThat(server.getRequestCount()).isEqualTo(1);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_upload_file/4a48fe8875c6214145260818/c001_v0001007_t0042");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_upload_file/4a48fe8875c6214145260818/c001_v0001007_t0042");
       } finally {
          server.shutdown();
       }
@@ -144,7 +144,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_delete_file_version", "/delete_object_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_delete_file_version", "/delete_object_request.json");
       } finally {
          server.shutdown();
       }
@@ -166,7 +166,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_delete_file_version", "/delete_object_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_delete_file_version", "/delete_object_request.json");
       } finally {
          server.shutdown();
       }
@@ -194,7 +194,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_get_file_info", "/get_file_info_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_get_file_info", "/get_file_info_request.json");
       } finally {
          server.shutdown();
       }
@@ -212,7 +212,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_get_file_info", "/get_file_info_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_get_file_info", "/get_file_info_request.json");
       } finally {
          server.shutdown();
       }
@@ -248,11 +248,11 @@ public final class ObjectApiMockTest {
 
          RecordedRequest request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
-         assertThat(request.getPath()).isEqualTo("/b2api/v1/b2_authorize_account");
+         assertThat(request.getPath()).isEqualTo("/b2api/v2/b2_authorize_account");
 
          request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
-         assertThat(request.getPath()).isEqualTo("/b2api/v1/b2_download_file_by_id?fileId=4_h4a48fe8875c6214145260818_f000000000000472a_d20140104_m032022_c001_v0000123_t0104");
+         assertThat(request.getPath()).isEqualTo("/b2api/v2/b2_download_file_by_id?fileId=4_h4a48fe8875c6214145260818_f000000000000472a_d20140104_m032022_c001_v0000123_t0104");
       } finally {
          server.shutdown();
       }
@@ -280,11 +280,11 @@ public final class ObjectApiMockTest {
 
          RecordedRequest request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
-         assertThat(request.getPath()).isEqualTo("/b2api/v1/b2_authorize_account");
+         assertThat(request.getPath()).isEqualTo("/b2api/v2/b2_authorize_account");
 
          request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
-         assertThat(request.getPath()).isEqualTo("/b2api/v1/b2_download_file_by_id?fileId=4_h4a48fe8875c6214145260818_f000000000000472a_d20140104_m032022_c001_v0000123_t0104");
+         assertThat(request.getPath()).isEqualTo("/b2api/v2/b2_download_file_by_id?fileId=4_h4a48fe8875c6214145260818_f000000000000472a_d20140104_m032022_c001_v0000123_t0104");
          assertThat(request.getHeaders()).contains("Range: bytes=42-69");
       } finally {
          server.shutdown();
@@ -321,7 +321,7 @@ public final class ObjectApiMockTest {
 
          RecordedRequest request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
-         assertThat(request.getPath()).isEqualTo("/b2api/v1/b2_authorize_account");
+         assertThat(request.getPath()).isEqualTo("/b2api/v2/b2_authorize_account");
 
          request = server.takeRequest();
          assertThat(request.getMethod()).isEqualTo("GET");
@@ -361,7 +361,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_list_file_names", "/list_file_names_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_list_file_names", "/list_file_names_request.json");
       } finally {
          server.shutdown();
       }
@@ -405,7 +405,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_list_file_versions", "/list_file_versions_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_list_file_versions", "/list_file_versions_request.json");
       } finally {
          server.shutdown();
       }
@@ -428,7 +428,7 @@ public final class ObjectApiMockTest {
 
          assertThat(server.getRequestCount()).isEqualTo(2);
          assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", "/b2api/v1/b2_hide_file", "/hide_file_request.json");
+         assertRequest(server.takeRequest(), "POST", "/b2api/v2/b2_hide_file", "/hide_file_request.json");
       } finally {
          server.shutdown();
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/resources/get_upload_part_url_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/get_upload_part_url_response.json b/providers/b2/src/test/resources/get_upload_part_url_response.json
index 7ebf04e..2a6d789 100644
--- a/providers/b2/src/test/resources/get_upload_part_url_response.json
+++ b/providers/b2/src/test/resources/get_upload_part_url_response.json
@@ -1,5 +1,5 @@
 {
     "authorizationToken": "3_20160409004829_42b8f80ba60fb4323dcaad98_ec81302316fccc2260201cbf17813247f312cf3b_000_uplg",
     "fileId": "4_za71f544e781e6891531b001a_f200ec353a2184825_d20160409_m004829_c000_v0001016_t0028",
-    "uploadUrl": "https://pod-000-1016-09.backblaze.com/b2api/v1/b2_upload_part/4_ze73ede9c9c8412db49f60715_f100b4e93fbae6252_d20150824_m224353_c900_v8881000_t0001/0037"
+    "uploadUrl": "https://pod-000-1016-09.backblaze.com/b2api/v2/b2_upload_part/4_ze73ede9c9c8412db49f60715_f100b4e93fbae6252_d20150824_m224353_c900_v8881000_t0001/0037"
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce163f34/providers/b2/src/test/resources/get_upload_url_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/get_upload_url_response.json b/providers/b2/src/test/resources/get_upload_url_response.json
index 0be7f61..addb755 100644
--- a/providers/b2/src/test/resources/get_upload_url_response.json
+++ b/providers/b2/src/test/resources/get_upload_url_response.json
@@ -1,5 +1,5 @@
 {
     "bucketId" : "4a48fe8875c6214145260818",
-    "uploadUrl" : "https://pod-000-1005-03.backblaze.com/b2api/v1/b2_upload_file?cvt=c001_v0001005_t0027&bucket=4a48fe8875c6214145260818",
+    "uploadUrl" : "https://pod-000-1005-03.backblaze.com/b2api/v2/b2_upload_file?cvt=c001_v0001005_t0027&bucket=4a48fe8875c6214145260818",
     "authorizationToken" : "2_20151009170037_f504a0f39a0f4e657337e624_9754dde94359bd7b8f1445c8f4cc1a231a33f714_upld"
 }


[4/4] jclouds git commit: JCLOUDS-1452: Add new v2 fields

Posted by ga...@apache.org.
JCLOUDS-1452: Add new v2 fields

Some of these only give consistency with similar requests.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/9524383e
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/9524383e
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/9524383e

Branch: refs/heads/master
Commit: 9524383e49c9d202d5cc81979337855dc056f41e
Parents: a0f496e
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Sep 28 13:55:10 2018 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Mon Dec 31 19:39:37 2018 -0800

----------------------------------------------------------------------
 .../b2/src/main/java/org/jclouds/b2/domain/Action.java  |  1 +
 .../main/java/org/jclouds/b2/domain/B2ObjectList.java   |  8 +++++---
 .../java/org/jclouds/b2/domain/HideFileResponse.java    |  8 +++++---
 .../b2/domain/ListUnfinishedLargeFilesResponse.java     | 12 +++++++++---
 .../org/jclouds/b2/domain/MultipartUploadResponse.java  |  8 +++++---
 providers/b2/src/test/resources/hide_file_response.json |  2 ++
 .../b2/src/test/resources/list_file_names_response.json |  4 ++++
 .../src/test/resources/list_file_versions_response.json |  6 ++++++
 .../resources/list_unfinished_large_files_response.json |  1 +
 .../src/test/resources/start_large_file_response.json   |  3 +++
 10 files changed, 41 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/main/java/org/jclouds/b2/domain/Action.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/Action.java b/providers/b2/src/main/java/org/jclouds/b2/domain/Action.java
index 3dd6e44..9a3f27c 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/Action.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/Action.java
@@ -19,6 +19,7 @@ package org.jclouds.b2.domain;
 import com.google.common.base.CaseFormat;
 
 public enum Action {
+   START,
    FOLDER,
    UPLOAD,
    HIDE;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java b/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
index 78c9f43..e45a8e7 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/B2ObjectList.java
@@ -39,6 +39,8 @@ public abstract class B2ObjectList {
    @AutoValue
    public abstract static class Entry {
       public abstract Action action();
+      public abstract String accountId();
+      public abstract String bucketId();
       @Nullable public abstract String fileId();
       public abstract String fileName();
       public abstract long contentLength();
@@ -48,9 +50,9 @@ public abstract class B2ObjectList {
       }
       public abstract Date uploadTimestamp();
 
-      @SerializedNames({"action", "fileId", "fileName", "contentLength", "uploadTimestamp"})
-      public static Entry create(Action action, @Nullable String fileId, String fileName, long contentLength, long uploadTimestamp) {
-         return new AutoValue_B2ObjectList_Entry(action, fileId, fileName, contentLength, new Date(uploadTimestamp));
+      @SerializedNames({"action", "accountId", "bucketId", "fileId", "fileName", "contentLength", "uploadTimestamp"})
+      public static Entry create(Action action, String accountId, String bucketId, @Nullable String fileId, String fileName, long contentLength, long uploadTimestamp) {
+         return new AutoValue_B2ObjectList_Entry(action, accountId, bucketId, fileId, fileName, contentLength, new Date(uploadTimestamp));
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/main/java/org/jclouds/b2/domain/HideFileResponse.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/HideFileResponse.java b/providers/b2/src/main/java/org/jclouds/b2/domain/HideFileResponse.java
index d7e5e11..d9f8eec 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/HideFileResponse.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/HideFileResponse.java
@@ -26,12 +26,14 @@ import com.google.auto.value.AutoValue;
 public abstract class HideFileResponse {
    /** Always "hide". */
    public abstract Action action();
+   public abstract String accountId();
+   public abstract String bucketId();
    public abstract String fileId();
    public abstract String fileName();
    public abstract Date uploadTimestamp();
 
-   @SerializedNames({"action", "fileId", "fileName", "uploadTimestamp"})
-   public static HideFileResponse create(Action action, String fileId, String fileName, long uploadTimestamp) {
-      return new AutoValue_HideFileResponse(action, fileId, fileName, new Date(uploadTimestamp));
+   @SerializedNames({"action", "accountId", "bucketId", "fileId", "fileName", "uploadTimestamp"})
+   public static HideFileResponse create(Action action, String accountId, String bucketId, String fileId, String fileName, long uploadTimestamp) {
+      return new AutoValue_HideFileResponse(action, accountId, bucketId, fileId, fileName, new Date(uploadTimestamp));
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/main/java/org/jclouds/b2/domain/ListUnfinishedLargeFilesResponse.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/ListUnfinishedLargeFilesResponse.java b/providers/b2/src/main/java/org/jclouds/b2/domain/ListUnfinishedLargeFilesResponse.java
index 986fd63..10406e2 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/ListUnfinishedLargeFilesResponse.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/ListUnfinishedLargeFilesResponse.java
@@ -40,16 +40,22 @@ public abstract class ListUnfinishedLargeFilesResponse {
    @AutoValue
    public abstract static class Entry {
       public abstract String accountId();
+      /** Always "upload". */
+      public abstract Action action();
       public abstract String bucketId();
+      /** Always null. */
+      @Nullable public abstract Long contentLength();
+      /** Always null. */
+      @Nullable public abstract String contentSha1();
       public abstract String contentType();
       public abstract String fileId();
       public abstract Map<String, String> fileInfo();
       public abstract String fileName();
       public abstract Date uploadTimestamp();
 
-      @SerializedNames({"accountId", "bucketId", "contentType", "fileId", "fileInfo", "fileName", "uploadTimestamp"})
-      public static Entry create(String accountId, String bucketId, String contentType, String fileId, Map<String, String> fileInfo, String fileName, long uploadTimestamp) {
-         return new AutoValue_ListUnfinishedLargeFilesResponse_Entry(accountId, bucketId, contentType, fileId, ImmutableMap.copyOf(fileInfo), fileName, new Date(uploadTimestamp));
+      @SerializedNames({"accountId", "action", "bucketId", "contentLength", "contentSha1", "contentType", "fileId", "fileInfo", "fileName", "uploadTimestamp"})
+      public static Entry create(String accountId, Action action, String bucketId, @Nullable Long contentLength, @Nullable String contentSha1, String contentType, String fileId, Map<String, String> fileInfo, String fileName, long uploadTimestamp) {
+         return new AutoValue_ListUnfinishedLargeFilesResponse_Entry(accountId, action, bucketId, contentLength, contentSha1, contentType, fileId, ImmutableMap.copyOf(fileInfo), fileName, new Date(uploadTimestamp));
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/main/java/org/jclouds/b2/domain/MultipartUploadResponse.java
----------------------------------------------------------------------
diff --git a/providers/b2/src/main/java/org/jclouds/b2/domain/MultipartUploadResponse.java b/providers/b2/src/main/java/org/jclouds/b2/domain/MultipartUploadResponse.java
index bfd1dfe..aa08a6f 100644
--- a/providers/b2/src/main/java/org/jclouds/b2/domain/MultipartUploadResponse.java
+++ b/providers/b2/src/main/java/org/jclouds/b2/domain/MultipartUploadResponse.java
@@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableMap;
 
 @AutoValue
 public abstract class MultipartUploadResponse {
+   /** Always "upload". */
+   public abstract Action action();
    public abstract String accountId();
    public abstract String bucketId();
    public abstract String contentType();
@@ -34,8 +36,8 @@ public abstract class MultipartUploadResponse {
    public abstract String fileName();
    public abstract Date uploadTimestamp();
 
-   @SerializedNames({"accountId", "bucketId", "contentType", "fileId", "fileInfo", "fileName", "uploadTimestamp"})
-   public static MultipartUploadResponse create(String accountId, String bucketId, String contentType, String fileId, Map<String, String> fileInfo, String fileName, long uploadTimestamp) {
-      return new AutoValue_MultipartUploadResponse(accountId, bucketId, contentType, fileId, ImmutableMap.copyOf(fileInfo), fileName, new Date(uploadTimestamp));
+   @SerializedNames({"action", "accountId", "bucketId", "contentType", "fileId", "fileInfo", "fileName", "uploadTimestamp"})
+   public static MultipartUploadResponse create(Action action, String accountId, String bucketId, String contentType, String fileId, Map<String, String> fileInfo, String fileName, long uploadTimestamp) {
+      return new AutoValue_MultipartUploadResponse(action, accountId, bucketId, contentType, fileId, ImmutableMap.copyOf(fileInfo), fileName, new Date(uploadTimestamp));
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/test/resources/hide_file_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/hide_file_response.json b/providers/b2/src/test/resources/hide_file_response.json
index 85c6853..3efa5b7 100644
--- a/providers/b2/src/test/resources/hide_file_response.json
+++ b/providers/b2/src/test/resources/hide_file_response.json
@@ -1,5 +1,7 @@
 {
     "action" : "hide",
+    "accountId" : "d522aa47a10f",
+    "bucketId" : "4a48fe8875c6214145260818",
     "fileId" : "4_h4a48fe8875c6214145260818_f000000000000472a_d20140104_m032022_c001_v0000123_t0104",
     "fileName" : "typing_test.txt",
     "uploadTimestamp" : 1437815673000

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/test/resources/list_file_names_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/list_file_names_response.json b/providers/b2/src/test/resources/list_file_names_response.json
index b26e7b3..e780019 100644
--- a/providers/b2/src/test/resources/list_file_names_response.json
+++ b/providers/b2/src/test/resources/list_file_names_response.json
@@ -2,6 +2,8 @@
     "files": [
         {
             "action": "upload",
+            "accountId" : "d522aa47a10f",
+            "bucketId" : "4a48fe8875c6214145260818",
             "fileId": "4_z27c88f1d182b150646ff0b16_f1004ba650fe24e6b_d20150809_m012853_c100_v0009990_t0000",
             "fileName": "files/hello.txt",
             "contentLength": 6,
@@ -9,6 +11,8 @@
         },
         {
             "action": "upload",
+            "accountId" : "d522aa47a10f",
+            "bucketId" : "4a48fe8875c6214145260818",
             "fileId": "4_z27c88f1d182b150646ff0b16_f1004ba650fe24e6c_d20150809_m012854_c100_v0009990_t0000",
             "fileName": "files/world.txt",
             "contentLength": 6,

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/test/resources/list_file_versions_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/list_file_versions_response.json b/providers/b2/src/test/resources/list_file_versions_response.json
index 2c87afa..8af5b02 100644
--- a/providers/b2/src/test/resources/list_file_versions_response.json
+++ b/providers/b2/src/test/resources/list_file_versions_response.json
@@ -2,6 +2,8 @@
     "files": [
         {
             "action": "upload",
+            "accountId" : "d522aa47a10f",
+            "bucketId" : "4a48fe8875c6214145260818",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886245_d20150809_m232316_c100_v0009990_t0003",
             "fileName": "files/hello.txt",
             "contentLength": 6,
@@ -9,6 +11,8 @@
         },
         {
             "action": "hide",
+            "accountId" : "d522aa47a10f",
+            "bucketId" : "4a48fe8875c6214145260818",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886247_d20150809_m232323_c100_v0009990_t0005",
             "fileName": "files/world.txt",
             "contentLength": 0,
@@ -16,6 +20,8 @@
         },
         {
             "action": "upload",
+            "accountId" : "d522aa47a10f",
+            "bucketId" : "4a48fe8875c6214145260818",
             "fileId": "4_z27c88f1d182b150646ff0b16_f100920ddab886246_d20150809_m232316_c100_v0009990_t0003",
             "fileName": "files/world.txt",
             "contentLength": 6,

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/test/resources/list_unfinished_large_files_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/list_unfinished_large_files_response.json b/providers/b2/src/test/resources/list_unfinished_large_files_response.json
index 753c589..d793067 100644
--- a/providers/b2/src/test/resources/list_unfinished_large_files_response.json
+++ b/providers/b2/src/test/resources/list_unfinished_large_files_response.json
@@ -1,4 +1,5 @@
 {
+    "action": "upload",
     "files": [
         {
             "accountId": "YOUR_ACCOUNT_ID",

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9524383e/providers/b2/src/test/resources/start_large_file_response.json
----------------------------------------------------------------------
diff --git a/providers/b2/src/test/resources/start_large_file_response.json b/providers/b2/src/test/resources/start_large_file_response.json
index 01838b4..3d53737 100644
--- a/providers/b2/src/test/resources/start_large_file_response.json
+++ b/providers/b2/src/test/resources/start_large_file_response.json
@@ -1,6 +1,9 @@
 {
+    "action": "upload",
     "accountId": "YOUR_ACCOUNT_ID",
     "bucketId": "e73ede9c9c8412db49f60715",
+    "contentLength": null,
+    "contentSha1": null,
     "contentType": "b2/x-auto",
     "fileId": "4_za71f544e781e6891531b001a_f200ec353a2184825_d20160409_m004829_c000_v0001016_t0028",
     "fileInfo": {