You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by ka...@apache.org on 2016/08/22 08:34:44 UTC

[5/9] storm git commit: STORM-1994: Add table with per-topology and worker resource usage and components in (new) supervisor and topology pages

http://git-wip-us.apache.org/repos/asf/storm/blob/0e0bcf27/storm-core/src/jvm/org/apache/storm/generated/Nimbus.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/org/apache/storm/generated/Nimbus.java b/storm-core/src/jvm/org/apache/storm/generated/Nimbus.java
index 94835b0..c05bf6b 100644
--- a/storm-core/src/jvm/org/apache/storm/generated/Nimbus.java
+++ b/storm-core/src/jvm/org/apache/storm/generated/Nimbus.java
@@ -142,6 +142,8 @@ public class Nimbus {
 
     public TopologyPageInfo getTopologyPageInfo(String id, String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.thrift.TException;
 
+    public SupervisorPageInfo getSupervisorPageInfo(String id, String host, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.thrift.TException;
+
     public ComponentPageInfo getComponentPageInfo(String topology_id, String component_id, String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.thrift.TException;
 
     public String getTopologyConf(String id) throws NotAliveException, AuthorizationException, org.apache.thrift.TException;
@@ -240,6 +242,8 @@ public class Nimbus {
 
     public void getTopologyPageInfo(String id, String window, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getSupervisorPageInfo(String id, String host, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void getComponentPageInfo(String topology_id, String component_id, String window, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -1253,6 +1257,37 @@ public class Nimbus {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyPageInfo failed: unknown result");
     }
 
+    public SupervisorPageInfo getSupervisorPageInfo(String id, String host, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.thrift.TException
+    {
+      send_getSupervisorPageInfo(id, host, is_include_sys);
+      return recv_getSupervisorPageInfo();
+    }
+
+    public void send_getSupervisorPageInfo(String id, String host, boolean is_include_sys) throws org.apache.thrift.TException
+    {
+      getSupervisorPageInfo_args args = new getSupervisorPageInfo_args();
+      args.set_id(id);
+      args.set_host(host);
+      args.set_is_include_sys(is_include_sys);
+      sendBase("getSupervisorPageInfo", args);
+    }
+
+    public SupervisorPageInfo recv_getSupervisorPageInfo() throws NotAliveException, AuthorizationException, org.apache.thrift.TException
+    {
+      getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
+      receiveBase(result, "getSupervisorPageInfo");
+      if (result.is_set_success()) {
+        return result.success;
+      }
+      if (result.e != null) {
+        throw result.e;
+      }
+      if (result.aze != null) {
+        throw result.aze;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSupervisorPageInfo failed: unknown result");
+    }
+
     public ComponentPageInfo getComponentPageInfo(String topology_id, String component_id, String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.thrift.TException
     {
       send_getComponentPageInfo(topology_id, component_id, window, is_include_sys);
@@ -2666,6 +2701,44 @@ public class Nimbus {
       }
     }
 
+    public void getSupervisorPageInfo(String id, String host, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getSupervisorPageInfo_call method_call = new getSupervisorPageInfo_call(id, host, is_include_sys, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getSupervisorPageInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String id;
+      private String host;
+      private boolean is_include_sys;
+      public getSupervisorPageInfo_call(String id, String host, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.id = id;
+        this.host = host;
+        this.is_include_sys = is_include_sys;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSupervisorPageInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getSupervisorPageInfo_args args = new getSupervisorPageInfo_args();
+        args.set_id(id);
+        args.set_host(host);
+        args.set_is_include_sys(is_include_sys);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public SupervisorPageInfo getResult() throws NotAliveException, AuthorizationException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getSupervisorPageInfo();
+      }
+    }
+
     public void getComponentPageInfo(String topology_id, String component_id, String window, boolean is_include_sys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getComponentPageInfo_call method_call = new getComponentPageInfo_call(topology_id, component_id, window, is_include_sys, resultHandler, this, ___protocolFactory, ___transport);
@@ -2885,6 +2958,7 @@ public class Nimbus {
       processMap.put("getTopologyInfo", new getTopologyInfo());
       processMap.put("getTopologyInfoWithOpts", new getTopologyInfoWithOpts());
       processMap.put("getTopologyPageInfo", new getTopologyPageInfo());
+      processMap.put("getSupervisorPageInfo", new getSupervisorPageInfo());
       processMap.put("getComponentPageInfo", new getComponentPageInfo());
       processMap.put("getTopologyConf", new getTopologyConf());
       processMap.put("getTopology", new getTopology());
@@ -3807,6 +3881,32 @@ public class Nimbus {
       }
     }
 
+    public static class getSupervisorPageInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSupervisorPageInfo_args> {
+      public getSupervisorPageInfo() {
+        super("getSupervisorPageInfo");
+      }
+
+      public getSupervisorPageInfo_args getEmptyArgsInstance() {
+        return new getSupervisorPageInfo_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getSupervisorPageInfo_result getResult(I iface, getSupervisorPageInfo_args args) throws org.apache.thrift.TException {
+        getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
+        try {
+          result.success = iface.getSupervisorPageInfo(args.id, args.host, args.is_include_sys);
+        } catch (NotAliveException e) {
+          result.e = e;
+        } catch (AuthorizationException aze) {
+          result.aze = aze;
+        }
+        return result;
+      }
+    }
+
     public static class getComponentPageInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getComponentPageInfo_args> {
       public getComponentPageInfo() {
         super("getComponentPageInfo");
@@ -3985,6 +4085,7 @@ public class Nimbus {
       processMap.put("getTopologyInfo", new getTopologyInfo());
       processMap.put("getTopologyInfoWithOpts", new getTopologyInfoWithOpts());
       processMap.put("getTopologyPageInfo", new getTopologyPageInfo());
+      processMap.put("getSupervisorPageInfo", new getSupervisorPageInfo());
       processMap.put("getComponentPageInfo", new getComponentPageInfo());
       processMap.put("getTopologyConf", new getTopologyConf());
       processMap.put("getTopology", new getTopology());
@@ -6169,6 +6270,68 @@ public class Nimbus {
       }
     }
 
+    public static class getSupervisorPageInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSupervisorPageInfo_args, SupervisorPageInfo> {
+      public getSupervisorPageInfo() {
+        super("getSupervisorPageInfo");
+      }
+
+      public getSupervisorPageInfo_args getEmptyArgsInstance() {
+        return new getSupervisorPageInfo_args();
+      }
+
+      public AsyncMethodCallback<SupervisorPageInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<SupervisorPageInfo>() { 
+          public void onComplete(SupervisorPageInfo o) {
+            getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
+            if (e instanceof NotAliveException) {
+                        result.e = (NotAliveException) e;
+                        result.set_e_isSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof AuthorizationException) {
+                        result.aze = (AuthorizationException) e;
+                        result.set_aze_isSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getSupervisorPageInfo_args args, org.apache.thrift.async.AsyncMethodCallback<SupervisorPageInfo> resultHandler) throws TException {
+        iface.getSupervisorPageInfo(args.id, args.host, args.is_include_sys,resultHandler);
+      }
+    }
+
     public static class getComponentPageInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getComponentPageInfo_args, ComponentPageInfo> {
       public getComponentPageInfo() {
         super("getComponentPageInfo");
@@ -17691,14 +17854,14 @@ public class Nimbus {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list738 = iprot.readListBegin();
-                  struct.success = new ArrayList<ProfileRequest>(_list738.size);
-                  ProfileRequest _elem739;
-                  for (int _i740 = 0; _i740 < _list738.size; ++_i740)
+                  org.apache.thrift.protocol.TList _list772 = iprot.readListBegin();
+                  struct.success = new ArrayList<ProfileRequest>(_list772.size);
+                  ProfileRequest _elem773;
+                  for (int _i774 = 0; _i774 < _list772.size; ++_i774)
                   {
-                    _elem739 = new ProfileRequest();
-                    _elem739.read(iprot);
-                    struct.success.add(_elem739);
+                    _elem773 = new ProfileRequest();
+                    _elem773.read(iprot);
+                    struct.success.add(_elem773);
                   }
                   iprot.readListEnd();
                 }
@@ -17724,9 +17887,9 @@ public class Nimbus {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (ProfileRequest _iter741 : struct.success)
+            for (ProfileRequest _iter775 : struct.success)
             {
-              _iter741.write(oprot);
+              _iter775.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -17757,9 +17920,9 @@ public class Nimbus {
         if (struct.is_set_success()) {
           {
             oprot.writeI32(struct.success.size());
-            for (ProfileRequest _iter742 : struct.success)
+            for (ProfileRequest _iter776 : struct.success)
             {
-              _iter742.write(oprot);
+              _iter776.write(oprot);
             }
           }
         }
@@ -17771,14 +17934,14 @@ public class Nimbus {
         BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list743 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<ProfileRequest>(_list743.size);
-            ProfileRequest _elem744;
-            for (int _i745 = 0; _i745 < _list743.size; ++_i745)
+            org.apache.thrift.protocol.TList _list777 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<ProfileRequest>(_list777.size);
+            ProfileRequest _elem778;
+            for (int _i779 = 0; _i779 < _list777.size; ++_i779)
             {
-              _elem744 = new ProfileRequest();
-              _elem744.read(iprot);
-              struct.success.add(_elem744);
+              _elem778 = new ProfileRequest();
+              _elem778.read(iprot);
+              struct.success.add(_elem778);
             }
           }
           struct.set_success_isSet(true);
@@ -31397,15 +31560,869 @@ public class Nimbus {
       }
     }
 
-    private static class beginFileUpload_resultStandardSchemeFactory implements SchemeFactory {
-      public beginFileUpload_resultStandardScheme getScheme() {
-        return new beginFileUpload_resultStandardScheme();
+    private static class beginFileUpload_resultStandardSchemeFactory implements SchemeFactory {
+      public beginFileUpload_resultStandardScheme getScheme() {
+        return new beginFileUpload_resultStandardScheme();
+      }
+    }
+
+    private static class beginFileUpload_resultStandardScheme extends StandardScheme<beginFileUpload_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
+                struct.set_success_isSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // AZE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.aze = new AuthorizationException();
+                struct.aze.read(iprot);
+                struct.set_aze_isSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.aze != null) {
+          oprot.writeFieldBegin(AZE_FIELD_DESC);
+          struct.aze.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class beginFileUpload_resultTupleSchemeFactory implements SchemeFactory {
+      public beginFileUpload_resultTupleScheme getScheme() {
+        return new beginFileUpload_resultTupleScheme();
+      }
+    }
+
+    private static class beginFileUpload_resultTupleScheme extends TupleScheme<beginFileUpload_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.is_set_success()) {
+          optionals.set(0);
+        }
+        if (struct.is_set_aze()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.is_set_success()) {
+          oprot.writeString(struct.success);
+        }
+        if (struct.is_set_aze()) {
+          struct.aze.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.set_success_isSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.aze = new AuthorizationException();
+          struct.aze.read(iprot);
+          struct.set_aze_isSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class uploadChunk_args implements org.apache.thrift.TBase<uploadChunk_args, uploadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_args");
+
+    private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.thrift.protocol.TField("chunk", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new uploadChunk_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new uploadChunk_argsTupleSchemeFactory());
+    }
+
+    private String location; // required
+    private ByteBuffer chunk; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      LOCATION((short)1, "location"),
+      CHUNK((short)2, "chunk");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // LOCATION
+            return LOCATION;
+          case 2: // CHUNK
+            return CHUNK;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.CHUNK, new org.apache.thrift.meta_data.FieldMetaData("chunk", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_args.class, metaDataMap);
+    }
+
+    public uploadChunk_args() {
+    }
+
+    public uploadChunk_args(
+      String location,
+      ByteBuffer chunk)
+    {
+      this();
+      this.location = location;
+      this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public uploadChunk_args(uploadChunk_args other) {
+      if (other.is_set_location()) {
+        this.location = other.location;
+      }
+      if (other.is_set_chunk()) {
+        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(other.chunk);
+      }
+    }
+
+    public uploadChunk_args deepCopy() {
+      return new uploadChunk_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.location = null;
+      this.chunk = null;
+    }
+
+    public String get_location() {
+      return this.location;
+    }
+
+    public void set_location(String location) {
+      this.location = location;
+    }
+
+    public void unset_location() {
+      this.location = null;
+    }
+
+    /** Returns true if field location is set (has been assigned a value) and false otherwise */
+    public boolean is_set_location() {
+      return this.location != null;
+    }
+
+    public void set_location_isSet(boolean value) {
+      if (!value) {
+        this.location = null;
+      }
+    }
+
+    public byte[] get_chunk() {
+      set_chunk(org.apache.thrift.TBaseHelper.rightSize(chunk));
+      return chunk == null ? null : chunk.array();
+    }
+
+    public ByteBuffer buffer_for_chunk() {
+      return org.apache.thrift.TBaseHelper.copyBinary(chunk);
+    }
+
+    public void set_chunk(byte[] chunk) {
+      this.chunk = chunk == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(chunk, chunk.length));
+    }
+
+    public void set_chunk(ByteBuffer chunk) {
+      this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
+    }
+
+    public void unset_chunk() {
+      this.chunk = null;
+    }
+
+    /** Returns true if field chunk is set (has been assigned a value) and false otherwise */
+    public boolean is_set_chunk() {
+      return this.chunk != null;
+    }
+
+    public void set_chunk_isSet(boolean value) {
+      if (!value) {
+        this.chunk = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case LOCATION:
+        if (value == null) {
+          unset_location();
+        } else {
+          set_location((String)value);
+        }
+        break;
+
+      case CHUNK:
+        if (value == null) {
+          unset_chunk();
+        } else {
+          set_chunk((ByteBuffer)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case LOCATION:
+        return get_location();
+
+      case CHUNK:
+        return get_chunk();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case LOCATION:
+        return is_set_location();
+      case CHUNK:
+        return is_set_chunk();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof uploadChunk_args)
+        return this.equals((uploadChunk_args)that);
+      return false;
+    }
+
+    public boolean equals(uploadChunk_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_location = true && this.is_set_location();
+      boolean that_present_location = true && that.is_set_location();
+      if (this_present_location || that_present_location) {
+        if (!(this_present_location && that_present_location))
+          return false;
+        if (!this.location.equals(that.location))
+          return false;
+      }
+
+      boolean this_present_chunk = true && this.is_set_chunk();
+      boolean that_present_chunk = true && that.is_set_chunk();
+      if (this_present_chunk || that_present_chunk) {
+        if (!(this_present_chunk && that_present_chunk))
+          return false;
+        if (!this.chunk.equals(that.chunk))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_location = true && (is_set_location());
+      list.add(present_location);
+      if (present_location)
+        list.add(location);
+
+      boolean present_chunk = true && (is_set_chunk());
+      list.add(present_chunk);
+      if (present_chunk)
+        list.add(chunk);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(uploadChunk_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(is_set_location()).compareTo(other.is_set_location());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (is_set_location()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.location, other.location);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(is_set_chunk()).compareTo(other.is_set_chunk());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (is_set_chunk()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("uploadChunk_args(");
+      boolean first = true;
+
+      sb.append("location:");
+      if (this.location == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.location);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("chunk:");
+      if (this.chunk == null) {
+        sb.append("null");
+      } else {
+        org.apache.thrift.TBaseHelper.toString(this.chunk, sb);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class uploadChunk_argsStandardSchemeFactory implements SchemeFactory {
+      public uploadChunk_argsStandardScheme getScheme() {
+        return new uploadChunk_argsStandardScheme();
+      }
+    }
+
+    private static class uploadChunk_argsStandardScheme extends StandardScheme<uploadChunk_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // LOCATION
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.location = iprot.readString();
+                struct.set_location_isSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // CHUNK
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.chunk = iprot.readBinary();
+                struct.set_chunk_isSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, uploadChunk_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.location != null) {
+          oprot.writeFieldBegin(LOCATION_FIELD_DESC);
+          oprot.writeString(struct.location);
+          oprot.writeFieldEnd();
+        }
+        if (struct.chunk != null) {
+          oprot.writeFieldBegin(CHUNK_FIELD_DESC);
+          oprot.writeBinary(struct.chunk);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class uploadChunk_argsTupleSchemeFactory implements SchemeFactory {
+      public uploadChunk_argsTupleScheme getScheme() {
+        return new uploadChunk_argsTupleScheme();
+      }
+    }
+
+    private static class uploadChunk_argsTupleScheme extends TupleScheme<uploadChunk_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.is_set_location()) {
+          optionals.set(0);
+        }
+        if (struct.is_set_chunk()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.is_set_location()) {
+          oprot.writeString(struct.location);
+        }
+        if (struct.is_set_chunk()) {
+          oprot.writeBinary(struct.chunk);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.location = iprot.readString();
+          struct.set_location_isSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.chunk = iprot.readBinary();
+          struct.set_chunk_isSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class uploadChunk_result implements org.apache.thrift.TBase<uploadChunk_result, uploadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_result");
+
+    private static final org.apache.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.thrift.protocol.TField("aze", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new uploadChunk_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new uploadChunk_resultTupleSchemeFactory());
+    }
+
+    private AuthorizationException aze; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      AZE((short)1, "aze");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AZE
+            return AZE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AZE, new org.apache.thrift.meta_data.FieldMetaData("aze", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_result.class, metaDataMap);
+    }
+
+    public uploadChunk_result() {
+    }
+
+    public uploadChunk_result(
+      AuthorizationException aze)
+    {
+      this();
+      this.aze = aze;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public uploadChunk_result(uploadChunk_result other) {
+      if (other.is_set_aze()) {
+        this.aze = new AuthorizationException(other.aze);
+      }
+    }
+
+    public uploadChunk_result deepCopy() {
+      return new uploadChunk_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.aze = null;
+    }
+
+    public AuthorizationException get_aze() {
+      return this.aze;
+    }
+
+    public void set_aze(AuthorizationException aze) {
+      this.aze = aze;
+    }
+
+    public void unset_aze() {
+      this.aze = null;
+    }
+
+    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
+    public boolean is_set_aze() {
+      return this.aze != null;
+    }
+
+    public void set_aze_isSet(boolean value) {
+      if (!value) {
+        this.aze = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case AZE:
+        if (value == null) {
+          unset_aze();
+        } else {
+          set_aze((AuthorizationException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AZE:
+        return get_aze();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case AZE:
+        return is_set_aze();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof uploadChunk_result)
+        return this.equals((uploadChunk_result)that);
+      return false;
+    }
+
+    public boolean equals(uploadChunk_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_aze = true && this.is_set_aze();
+      boolean that_present_aze = true && that.is_set_aze();
+      if (this_present_aze || that_present_aze) {
+        if (!(this_present_aze && that_present_aze))
+          return false;
+        if (!this.aze.equals(that.aze))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_aze = true && (is_set_aze());
+      list.add(present_aze);
+      if (present_aze)
+        list.add(aze);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(uploadChunk_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(is_set_aze()).compareTo(other.is_set_aze());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (is_set_aze()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aze, other.aze);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("uploadChunk_result(");
+      boolean first = true;
+
+      sb.append("aze:");
+      if (this.aze == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.aze);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class uploadChunk_resultStandardSchemeFactory implements SchemeFactory {
+      public uploadChunk_resultStandardScheme getScheme() {
+        return new uploadChunk_resultStandardScheme();
       }
     }
 
-    private static class beginFileUpload_resultStandardScheme extends StandardScheme<beginFileUpload_result> {
+    private static class uploadChunk_resultStandardScheme extends StandardScheme<uploadChunk_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -31415,14 +32432,6 @@ public class Nimbus {
             break;
           }
           switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.success = iprot.readString();
-                struct.set_success_isSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             case 1: // AZE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.aze = new AuthorizationException();
@@ -31441,15 +32450,10 @@ public class Nimbus {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, uploadChunk_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
-          oprot.writeFieldEnd();
-        }
         if (struct.aze != null) {
           oprot.writeFieldBegin(AZE_FIELD_DESC);
           struct.aze.write(oprot);
@@ -31461,42 +32465,32 @@ public class Nimbus {
 
     }
 
-    private static class beginFileUpload_resultTupleSchemeFactory implements SchemeFactory {
-      public beginFileUpload_resultTupleScheme getScheme() {
-        return new beginFileUpload_resultTupleScheme();
+    private static class uploadChunk_resultTupleSchemeFactory implements SchemeFactory {
+      public uploadChunk_resultTupleScheme getScheme() {
+        return new uploadChunk_resultTupleScheme();
       }
     }
 
-    private static class beginFileUpload_resultTupleScheme extends TupleScheme<beginFileUpload_result> {
+    private static class uploadChunk_resultTupleScheme extends TupleScheme<uploadChunk_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
-        if (struct.is_set_success()) {
-          optionals.set(0);
-        }
         if (struct.is_set_aze()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.is_set_success()) {
-          oprot.writeString(struct.success);
+          optionals.set(0);
         }
+        oprot.writeBitSet(optionals, 1);
         if (struct.is_set_aze()) {
           struct.aze.write(oprot);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
+        BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.set_success_isSet(true);
-        }
-        if (incoming.get(1)) {
           struct.aze = new AuthorizationException();
           struct.aze.read(iprot);
           struct.set_aze_isSet(true);
@@ -31506,25 +32500,22 @@ public class Nimbus {
 
   }
 
-  public static class uploadChunk_args implements org.apache.thrift.TBase<uploadChunk_args, uploadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_args");
+  public static class finishFileUpload_args implements org.apache.thrift.TBase<finishFileUpload_args, finishFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_args");
 
     private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.thrift.protocol.TField("chunk", org.apache.thrift.protocol.TType.STRING, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new uploadChunk_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new uploadChunk_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new finishFileUpload_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new finishFileUpload_argsTupleSchemeFactory());
     }
 
     private String location; // required
-    private ByteBuffer chunk; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      LOCATION((short)1, "location"),
-      CHUNK((short)2, "chunk");
+      LOCATION((short)1, "location");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -31541,8 +32532,6 @@ public class Nimbus {
         switch(fieldId) {
           case 1: // LOCATION
             return LOCATION;
-          case 2: // CHUNK
-            return CHUNK;
           default:
             return null;
         }
@@ -31588,44 +32577,36 @@ public class Nimbus {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.CHUNK, new org.apache.thrift.meta_data.FieldMetaData("chunk", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_args.class, metaDataMap);
     }
 
-    public uploadChunk_args() {
+    public finishFileUpload_args() {
     }
 
-    public uploadChunk_args(
-      String location,
-      ByteBuffer chunk)
+    public finishFileUpload_args(
+      String location)
     {
       this();
       this.location = location;
-      this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public uploadChunk_args(uploadChunk_args other) {
+    public finishFileUpload_args(finishFileUpload_args other) {
       if (other.is_set_location()) {
         this.location = other.location;
       }
-      if (other.is_set_chunk()) {
-        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(other.chunk);
-      }
     }
 
-    public uploadChunk_args deepCopy() {
-      return new uploadChunk_args(this);
+    public finishFileUpload_args deepCopy() {
+      return new finishFileUpload_args(this);
     }
 
     @Override
     public void clear() {
       this.location = null;
-      this.chunk = null;
     }
 
     public String get_location() {
@@ -31651,38 +32632,6 @@ public class Nimbus {
       }
     }
 
-    public byte[] get_chunk() {
-      set_chunk(org.apache.thrift.TBaseHelper.rightSize(chunk));
-      return chunk == null ? null : chunk.array();
-    }
-
-    public ByteBuffer buffer_for_chunk() {
-      return org.apache.thrift.TBaseHelper.copyBinary(chunk);
-    }
-
-    public void set_chunk(byte[] chunk) {
-      this.chunk = chunk == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(chunk, chunk.length));
-    }
-
-    public void set_chunk(ByteBuffer chunk) {
-      this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
-    }
-
-    public void unset_chunk() {
-      this.chunk = null;
-    }
-
-    /** Returns true if field chunk is set (has been assigned a value) and false otherwise */
-    public boolean is_set_chunk() {
-      return this.chunk != null;
-    }
-
-    public void set_chunk_isSet(boolean value) {
-      if (!value) {
-        this.chunk = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case LOCATION:
@@ -31693,14 +32642,6 @@ public class Nimbus {
         }
         break;
 
-      case CHUNK:
-        if (value == null) {
-          unset_chunk();
-        } else {
-          set_chunk((ByteBuffer)value);
-        }
-        break;
-
       }
     }
 
@@ -31709,9 +32650,6 @@ public class Nimbus {
       case LOCATION:
         return get_location();
 
-      case CHUNK:
-        return get_chunk();
-
       }
       throw new IllegalStateException();
     }
@@ -31725,8 +32663,6 @@ public class Nimbus {
       switch (field) {
       case LOCATION:
         return is_set_location();
-      case CHUNK:
-        return is_set_chunk();
       }
       throw new IllegalStateException();
     }
@@ -31735,12 +32671,12 @@ public class Nimbus {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof uploadChunk_args)
-        return this.equals((uploadChunk_args)that);
+      if (that instanceof finishFileUpload_args)
+        return this.equals((finishFileUpload_args)that);
       return false;
     }
 
-    public boolean equals(uploadChunk_args that) {
+    public boolean equals(finishFileUpload_args that) {
       if (that == null)
         return false;
 
@@ -31753,15 +32689,6 @@ public class Nimbus {
           return false;
       }
 
-      boolean this_present_chunk = true && this.is_set_chunk();
-      boolean that_present_chunk = true && that.is_set_chunk();
-      if (this_present_chunk || that_present_chunk) {
-        if (!(this_present_chunk && that_present_chunk))
-          return false;
-        if (!this.chunk.equals(that.chunk))
-          return false;
-      }
-
       return true;
     }
 
@@ -31774,16 +32701,11 @@ public class Nimbus {
       if (present_location)
         list.add(location);
 
-      boolean present_chunk = true && (is_set_chunk());
-      list.add(present_chunk);
-      if (present_chunk)
-        list.add(chunk);
-
       return list.hashCode();
     }
 
     @Override
-    public int compareTo(uploadChunk_args other) {
+    public int compareTo(finishFileUpload_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -31800,16 +32722,6 @@ public class Nimbus {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(is_set_chunk()).compareTo(other.is_set_chunk());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (is_set_chunk()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -31827,7 +32739,7 @@ public class Nimbus {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("uploadChunk_args(");
+      StringBuilder sb = new StringBuilder("finishFileUpload_args(");
       boolean first = true;
 
       sb.append("location:");
@@ -31837,14 +32749,6 @@ public class Nimbus {
         sb.append(this.location);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("chunk:");
-      if (this.chunk == null) {
-        sb.append("null");
-      } else {
-        org.apache.thrift.TBaseHelper.toString(this.chunk, sb);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -31870,15 +32774,15 @@ public class Nimbus {
       }
     }
 
-    private static class uploadChunk_argsStandardSchemeFactory implements SchemeFactory {
-      public uploadChunk_argsStandardScheme getScheme() {
-        return new uploadChunk_argsStandardScheme();
+    private static class finishFileUpload_argsStandardSchemeFactory implements SchemeFactory {
+      public finishFileUpload_argsStandardScheme getScheme() {
+        return new finishFileUpload_argsStandardScheme();
       }
     }
 
-    private static class uploadChunk_argsStandardScheme extends StandardScheme<uploadChunk_args> {
+    private static class finishFileUpload_argsStandardScheme extends StandardScheme<finishFileUpload_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileUpload_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -31896,14 +32800,6 @@ public class Nimbus {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // CHUNK
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.chunk = iprot.readBinary();
-                struct.set_chunk_isSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -31913,7 +32809,7 @@ public class Nimbus {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, uploadChunk_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, finishFileUpload_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -31922,70 +32818,55 @@ public class Nimbus {
           oprot.writeString(struct.location);
           oprot.writeFieldEnd();
         }
-        if (struct.chunk != null) {
-          oprot.writeFieldBegin(CHUNK_FIELD_DESC);
-          oprot.writeBinary(struct.chunk);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class uploadChunk_argsTupleSchemeFactory implements SchemeFactory {
-      public uploadChunk_argsTupleScheme getScheme() {
-        return new uploadChunk_argsTupleScheme();
+    private static class finishFileUpload_argsTupleSchemeFactory implements SchemeFactory {
+      public finishFileUpload_argsTupleScheme getScheme() {
+        return new finishFileUpload_argsTupleScheme();
       }
     }
 
-    private static class uploadChunk_argsTupleScheme extends TupleScheme<uploadChunk_args> {
+    private static class finishFileUpload_argsTupleScheme extends TupleScheme<finishFileUpload_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.is_set_location()) {
           optionals.set(0);
         }
-        if (struct.is_set_chunk()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
+        oprot.writeBitSet(optionals, 1);
         if (struct.is_set_location()) {
           oprot.writeString(struct.location);
         }
-        if (struct.is_set_chunk()) {
-          oprot.writeBinary(struct.chunk);
-        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
+        BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           struct.location = iprot.readString();
           struct.set_location_isSet(true);
         }
-        if (incoming.get(1)) {
-          struct.chunk = iprot.readBinary();
-          struct.set_chunk_isSet(true);
-        }
       }
     }
 
   }
 
-  public static class uploadChunk_result implements org.apache.thrift.TBase<uploadChunk_result, uploadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_result");
+  public static class finishFileUpload_result implements org.apache.thrift.TBase<finishFileUpload_result, finishFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_result");
 
     private static final org.apache.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.thrift.protocol.TField("aze", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new uploadChunk_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new uploadChunk_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new finishFileUpload_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new finishFileUpload_resultTupleSchemeFactory());
     }
 
     private AuthorizationException aze; // required
@@ -32055,13 +32936,13 @@ public class Nimbus {
       tmpMap.put(_Fields.AZE, new org.apache.thrift.meta_data.FieldMetaData("aze", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_result.class, metaDataMap);
     }
 
-    public uploadChunk_result() {
+    public finishFileUpload_result() {
     }
 
-    public uploadChunk_result(
+    public finishFileUpload_result(
       AuthorizationException aze)
     {
       this();
@@ -32071,14 +32952,14 @@ public class Nimbus {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public uploadChunk_result(uploadChunk_result other) {
+    public finishFileUpload_result(finishFileUpload_result other) {
       if (other.is_set_aze()) {
         this.aze = new AuthorizationException(other.aze);
       }
     }
 
-    public uploadChunk_result deepCopy() {
-      return new uploadChunk_result(this);
+    public finishFileUpload_result deepCopy() {
+      return new finishFileUpload_result(this);
     }
 
     @Override
@@ -32148,12 +33029,12 @@ public class Nimbus {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof uploadChunk_result)
-        return this.equals((uploadChunk_result)that);
+      if (that instanceof finishFileUpload_result)
+        return this.equals((finishFileUpload_result)that);
       return false;
     }
 
-    public boolean equals(uploadChunk_result that) {
+    public boolean equals(finishFileUpload_result that) {
       if (that == null)
         return false;
 
@@ -32182,7 +33063,7 @@ public class Nimbus {
     }
 
     @Override
-    public int compareTo(uploadChunk_result other) {
+    public int compareTo(finishFileUpload_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -32216,7 +33097,7 @@ public class Nimbus {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("uploadChunk_result(");
+      StringBuilder sb = new StringBuilder("finishFileUpload_result(");
       boolean first = true;
 
       sb.append("aze:");
@@ -32251,15 +33132,15 @@ public class Nimbus {
       }
     }
 
-    private static class uploadChunk_resultStandardSchemeFactory implements SchemeFactory {
-      public uploadChunk_resultStandardScheme getScheme() {
-        return new uploadChunk_resultStandardScheme();
+    private static class finishFileUpload_resultStandardSchemeFactory implements SchemeFactory {
+      public finishFileUpload_resultStandardScheme getScheme() {
+        return new finishFileUpload_resultStandardScheme();
       }
     }
 
-    private static class uploadChunk_resultStandardScheme extends StandardScheme<uploadChunk_result> {
+    private static class finishFileUpload_resultStandardScheme extends StandardScheme<finishFileUpload_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileUpload_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -32287,7 +33168,7 @@ public class Nimbus {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, uploadChunk_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, finishFileUpload_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -32302,16 +33183,16 @@ public class Nimbus {
 
     }
 
-    private static class uploadChunk_resultTupleSchemeFactory implements SchemeFactory {
-      public uploadChunk_resultTupleScheme getScheme() {
-        return new uploadChunk_resultTupleScheme();
+    private static class finishFileUpload_resultTupleSchemeFactory implements SchemeFactory {
+      public finishFileUpload_resultTupleScheme getScheme() {
+        return new finishFileUpload_resultTupleScheme();
       }
     }
 
-    private static class uploadChunk_resultTupleScheme extends TupleScheme<uploadChunk_result> {
+    private static class finishFileUpload_resultTupleScheme extends TupleScheme<finishFileUpload_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.is_set_aze()) {
@@ -32324,7 +33205,7 @@ public class Nimbus {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
@@ -32337,22 +33218,22 @@ public class Nimbus {
 
   }
 
-  public static class finishFileUpload_args implements org.apache.thrift.TBase<finishFileUpload_args, finishFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_args");
+  public static class beginFileDownload_args implements org.apache.thrift.TBase<beginFileDownload_args, beginFileDownload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileDownload_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileDownload_args");
 
-    private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField FILE_FIELD_DESC = new org.apache.thrift.protocol.TField("file", org.apache.thrift.protocol.TType.STRING, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new finishFileUpload_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new finishFileUpload_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new beginFileDownload_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new beginFileDownload_argsTupleSchemeFactory());
     }
 
-    private String location; // required
+    private String file; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      LOCATION((short)1, "location");
+      FILE((short)1, "file");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -32367,8 +33248,8 @@ public class Nimbus {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // LOCATION
-            return LOCATION;
+          case 1: // FILE
+            return FILE;
           default:
             return null;
         }
@@ -32412,70 +33293,70 @@ public class Nimbus {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.FILE, new org.apache.thrift.meta_data.FieldMetaData("file", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileDownload_args.class, metaDataMap);
     }
 
-    public finishFileUpload_args() {
+    public beginFileDownload_args() {
     }
 
-    public finishFileUpload_args(
-      String location)
+    public beginFileDownload_args(
+      String file)
     {
       this();
-      this.location = location;
+      this.file = file;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public finishFileUpload_args(finishFileUpload_args other) {
-      if (other.is_set_location()) {
-        this.location = other.location;
+    public beginFileDownload_args(beginFileDownload_args other) {
+      if (other.is_set_file()) {
+        this.file = other.file;
       }
     }
 
-    public finishFileUpload_args deepCopy() {
-      return new finishFileUpload_args(this);
+    public beginFileDownload_args deepCopy() {
+      return new beginFileDownload_args(this);
     }
 
     @Override
     public void clear() {
-      this.location = null;
+      this.file = null;
     }
 
-    public String get_location() {
-      return this.location;
+    public String get_file() {
+      return this.file;
     }
 
-    public void set_location(String location) {
-      this.location = location;
+    public void set_file(String file) {
+      this.file = file;
     }
 
-    public void unset_location() {
-      this.location = null;
+    public void unset_file() {
+      this.file = null;
     }
 
-    /** Returns true if field location is set (has been assigned a value) and false otherwise */
-    public boolean is_set_location() {
-      return this.location != null;
+    /** Returns true if field file is set (has been assigned a value) and false otherwise */
+    public boolean is_set_file() {
+      return this.file != null;
     }
 
-    public void set_location_isSet(boolean value) {
+    public void set_file_isSet(boolean value) {
       if (!value) {
-        this.location = null;
+        this.file = null;
       }
     }
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-      case LOCATION:
+      case FILE:
         if (value == null) {
-          unset_location();
+          unset_file();
         } else {
-          set_location((String)value);
+          set_file((String)value);
         }
         break;
 
@@ -32484,8 +33365,8 @@ public class Nimbus {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case LOCATION:
-        return get_location();
+      case FILE:
+        return get_file();
 
       }
       throw new IllegalStateException();
@@ -32498,8 +33379,8 @@ public class Nimbus {
       }
 
       switch (field) {
-      case LOCATION:
-        return is_set_location();
+      case FILE:
+        return is_set_file();
       }
       throw new IllegalStateException();
     }
@@ -32508,21 +33389,21 @@ public class Nimbus {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof finishFileUpload_args)
-        return this.equals((finishFileUpload_args)that);
+      if (that instanceof beginFileDownload_args)
+        return this.equals((beginFileDownload_args)that);
       return false;
     }
 
-    public boolean equals(finishFileUpload_args that) {
+    public boolean equals(beginFileDownload_args that) {
       if (that == null)
         return false;
 
-      boolean this_present_location = true && this.is_set_location();
-      boolean that_present_location = true && that.is_set_location();
-      if (this_present_location || that_present_location) {
-        if (!(this_present_location && that_present_location))
+      boolean this_present_file = true && this.is_set_file();
+      boolean that_present_file = true && that.is_set_file();
+      if (this_present_file || that_present_file) {
+        if (!(this_present_file && that_present_file))
           return false;
-        if (!this.location.equals(that.location))
+        if (!this.file.equals(that.file))
           return false;
       }
 
@@ -32533,28 +33414,28 @@ public class Nimbus {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_location = true && (is_set_location());
-      list.add(present_location);
-      if (present_location)
-        list.add(location);
+      boolean present_file = true && (is_set_file());
+      list.add(present_file);
+      if (present_file)
+        list.add(file);
 
       return list.hashCode();
     }
 
     @Override
-    public int compareTo(finishFileUpload_args other) {
+    public int compareTo(beginFileDownload_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(is_set_location()).compareTo(other.is_set_location());
+      lastComparison = Boolean.valueOf(is_set_file()).compareTo(other.is_set_file());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (is_set_location()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.location, other.location);
+      if (is_set_file()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file, other.file);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -32576,14 +33457,14 @@ public class Nimbus {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("finishFileUpload_args(");
+      StringBuilder sb = new StringBuilder("beginFileDownload_args(");
       boolean first = true;
 
-      sb.append("location:");
-      if (this.location == null) {
+      sb.append("file:");
+      if (this.file == null) {
         sb.append("null");
       } else {
-        sb.append(this.location);
+        sb.append(this.file);
       }
       first = false;
       sb.append(")");
@@ -32611,15 +33492,15 @@ public class Nimbus {
       }
     }
 
-    private static class finishFileUpload_argsStandardSchemeFactory implements SchemeFactory {
-      public finishFileUpload_argsStandardScheme getScheme() {
-        return new finishFileUpload_argsStandardScheme();
+    private static class beginFileDownload_argsStandardSchemeFactory implements SchemeFactory {
+      public beginFileDownload_argsStandardScheme getScheme() {
+        return new beginFileDownload_argsStandardScheme();
       }
     }
 
-    private static class finishFileUpload_argsStandardScheme extends StandardScheme<finishFileUpload_args> {
+    private static class beginFileDownload_argsStandardScheme extends StandardScheme<beginFileDownload_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileUpload_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileDownload_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -32629,10 +33510,10 @@ public class Nimbus {
             break;
           }
           switch (schemeField.id) {
-            case 1: // LOCATION
+            case 1: // FILE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.location = iprot.readString();
-                struct.set_location_isSet(true);
+                struct.file = iprot.readString();
+                struct.set_file_isSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -32646,13 +33527,13 @@ public class Nimbus {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, finishFileUpload_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, beginFileDownload_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.location != null) {
-          oprot.writeFieldBegin(LOCATION_FIELD_DESC);
-          oprot.writeString(struct.location);
+        if (struct.file != null) {
+          oprot.writeFieldBegin(FILE_FIELD_DESC);
+          oprot.writeString(struct.file);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -32661,55 +33542,58 @@ public class Nimbus {
 
     }
 
-    private static class finishFileUpload_argsTupleSchemeFactory implements SchemeFactory {
-      public finishFileUpload_argsTupleScheme getScheme() {
-        return new finishFileUpload_argsTupleScheme();
+    private static class beginFileDownload_argsTupleSchemeFactory implements SchemeFactory {
+      public beginFileDownload_argsTupleScheme getScheme() {
+        return new beginFileDownload_argsTupleScheme();
       }
     }
 
-    private static class finishFileUpload_argsTupleScheme extends TupleScheme<finishFileUpload_args> {
+    private static class beginFileDownload_argsTupleScheme extends TupleScheme<beginFileDownload_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
-        if (struct.is_set_location()) {
+        if (struct.is_set_file()) {
           optionals.set(0);
         }
         oprot.writeBitSet(optionals, 1);
-        if (struct.is_set_location()) {
-          oprot.writeString(struct.location);
+        if (struct.is_set_file()) {
+          oprot.writeString(struct.file);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
-          struct.location = iprot.readString();
-          struct.set_location_isSet(true);
+          struct.file = iprot.readString();
+          struct.set_file_isSet(true);
         }
       }
     }
 
   }
 
-  public static class finishFileUpload_result implements org.apache.thrift.TBase<finishFileUpload_result, finishFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_result");
+  public static class beginFileDownload_result implements org.apache.thrift.TBase<beginFileDownload_result, beginFileDownload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileDownload_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileDownload_result");
 
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
     private static final org.apache.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.thrift.protocol.TField("aze", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new finishFileUpload_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new finishFileUpload_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new beginFileDownload_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new beginFileDownload_resultTupleSchemeFactory());
     }
 
+    private String success; // required
     private AuthorizationException aze; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success"),
       AZE((short)1, "aze");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -32725,6 +33609,8 @@ public class Nimbus {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
           case 1: // AZE
             return AZE;
           default:
@@ -32770,40 +33656,71 @@ public class Nimbus {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.AZE, new org.apache.thrift.meta_data.FieldMetaData("aze", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileDownload_result.class, metaDataMap);
     }
 
-    public finishFileUpload_result() {
+    public beginFileDownload_result() {
     }
 
-    public finishFileUpload_result(
+    public beginFileDownload_result(
+      String success,
       AuthorizationException aze)
     {
       this();
+      this.success = success;
       this.aze = aze;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public finishFileUpload_result(finishFileUpload_result other) {
+    public beginFileDownload_result(beginFileDownload_result other) {
+      if (other.is_set_success()) {
+        this.success = other.success;
+      }
       if (other.is_set_aze()) {
         this.aze = new AuthorizationException(other.aze);
       }
     }
 
-    public finishFileUpload_result deepCopy() {
-      return new finishFileUpload_result(this);
+    public beginFileDownload_result deepCopy() {
+      return new beginFileDownload_result(this);
     }
 
     @Override
     public void clear() {
+      this.success = null;
       this.aze = null;
     }
 
+    public String get_success() {
+      return this.success;
+    }
+
+    public void set_success(String success) {
+      this.success = success;
+    }
+
+    public void unset_success() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean is_set_success() {
+      return this.success != null;
+    }
+
+    public void set_success_isSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
     public AuthorizationException get_aze() {
       return this.aze;
     }
@@ -32829,6 +33746,14 @@ public class Nimbus {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unset_success();
+        } else {
+          set_success((String)value);
+        }
+        break;
+
       case AZE:
         if (value == null) {
           unset_aze();
@@ -32842,6 +33767,9 @@ public class Nimbus {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case SUCCESS:
+        return get_success();
+
       case AZE:
         return get_aze();
 
@@ -32856,6 +33784,8 @@ public class Nimbus {
       }
 
       switch (field) {
+      case SUCCESS:
+        return is_set_success();
       case AZE:
         return is_set_aze();
       }
@@ -32866,15 +33796,24 @@ public class Nimbus {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof finishFileUpload_result)
-        return this.equals((finishFileUpload_result)that);
+      if (that instanceof beginFileDownload_result)
+        return this.equals((beginFileDownload_result)that);
       return false;
     }
 
-    public boolean equals(finishFileUpload_result that) {
+    public boolean equals(beginFileDownload_result that) {
       if (that == null)
         return false;
 
+      boolean this_present_success = true && this.is_set_success();
+      boolean that_present_su

<TRUNCATED>