http://git-wip-us.apache.org/repos/asf/storm/blob/1fd1e17f/storm-client/src/py/storm/Nimbus.py
----------------------------------------------------------------------
diff --git a/storm-client/src/py/storm/Nimbus.py 
b/storm-client/src/py/storm/Nimbus.py
index 1e9460d..ad16141 100644
--- a/storm-client/src/py/storm/Nimbus.py
+++ b/storm-client/src/py/storm/Nimbus.py
@@ -17,10887 +17,10631 @@
 # limitations under the License.
 
 #
-# Autogenerated by Thrift Compiler (0.9.3)
+# Autogenerated by Thrift Compiler (0.11.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
 #  options string: py:utf8strings
 #
 
-from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
+from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, 
TApplicationException
+from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
+import sys
 import logging
-from ttypes import *
+from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
-from thrift.protocol import TBinaryProtocol, TProtocol
-try:
-  from thrift.protocol import fastbinary
-except:
-  fastbinary = None
+all_structs = []
+
+
+class Iface(object):
+    def submitTopology(self, name, uploadedJarLocation, jsonConf, topology):
+        """
+        Parameters:
+         - name
+         - uploadedJarLocation
+         - jsonConf
+         - topology
+        """
+        pass
+
+    def submitTopologyWithOpts(self, name, uploadedJarLocation, jsonConf, 
topology, options):
+        """
+        Parameters:
+         - name
+         - uploadedJarLocation
+         - jsonConf
+         - topology
+         - options
+        """
+        pass
+
+    def killTopology(self, name):
+        """
+        Parameters:
+         - name
+        """
+        pass
+
+    def killTopologyWithOpts(self, name, options):
+        """
+        Parameters:
+         - name
+         - options
+        """
+        pass
+
+    def activate(self, name):
+        """
+        Parameters:
+         - name
+        """
+        pass
+
+    def deactivate(self, name):
+        """
+        Parameters:
+         - name
+        """
+        pass
+
+    def rebalance(self, name, options):
+        """
+        Parameters:
+         - name
+         - options
+        """
+        pass
+
+    def setLogConfig(self, name, config):
+        """
+        Parameters:
+         - name
+         - config
+        """
+        pass
+
+    def getLogConfig(self, name):
+        """
+        Parameters:
+         - name
+        """
+        pass
+
+    def debug(self, name, component, enable, samplingPercentage):
+        """
+        Enable/disable logging the tuples generated in topology via an 
internal EventLogger bolt. The component name is optional
+        and if null or empty, the debug flag will apply to the entire topology.
+
+        The 'samplingPercentage' will limit loggging to a percentage of 
generated tuples.
+
+
+        Parameters:
+         - name
+         - component
+         - enable
+         - samplingPercentage
+        """
+        pass
+
+    def setWorkerProfiler(self, id, profileRequest):
+        """
+        Parameters:
+         - id
+         - profileRequest
+        """
+        pass
+
+    def getComponentPendingProfileActions(self, id, component_id, action):
+        """
+        Parameters:
+         - id
+         - component_id
+         - action
+        """
+        pass
+
+    def uploadNewCredentials(self, name, creds):
+        """
+        Parameters:
+         - name
+         - creds
+        """
+        pass
+
+    def beginCreateBlob(self, key, meta):
+        """
+        Parameters:
+         - key
+         - meta
+        """
+        pass
+
+    def beginUpdateBlob(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def uploadBlobChunk(self, session, chunk):
+        """
+        Parameters:
+         - session
+         - chunk
+        """
+        pass
+
+    def finishBlobUpload(self, session):
+        """
+        Parameters:
+         - session
+        """
+        pass
+
+    def cancelBlobUpload(self, session):
+        """
+        Parameters:
+         - session
+        """
+        pass
+
+    def getBlobMeta(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def setBlobMeta(self, key, meta):
+        """
+        Parameters:
+         - key
+         - meta
+        """
+        pass
+
+    def beginBlobDownload(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def downloadBlobChunk(self, session):
+        """
+        Parameters:
+         - session
+        """
+        pass
+
+    def deleteBlob(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def listBlobs(self, session):
+        """
+        Parameters:
+         - session
+        """
+        pass
+
+    def getBlobReplication(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def updateBlobReplication(self, key, replication):
+        """
+        Parameters:
+         - key
+         - replication
+        """
+        pass
+
+    def createStateInZookeeper(self, key):
+        """
+        Parameters:
+         - key
+        """
+        pass
+
+    def beginFileUpload(self):
+        pass
+
+    def uploadChunk(self, location, chunk):
+        """
+        Parameters:
+         - location
+         - chunk
+        """
+        pass
+
+    def finishFileUpload(self, location):
+        """
+        Parameters:
+         - location
+        """
+        pass
+
+    def beginFileDownload(self, file):
+        """
+        Parameters:
+         - file
+        """
+        pass
+
+    def downloadChunk(self, id):
+        """
+        Parameters:
+         - id
+        """
+        pass
+
+    def getNimbusConf(self):
+        pass
+
+    def getClusterInfo(self):
+        pass
+
+    def getLeader(self):
+        pass
+
+    def isTopologyNameAllowed(self, name):
+        """
+        Parameters:
+         - name
+        """
+        pass
+
+    def getTopologyInfo(self, id):
+        """
+        Parameters:
+         - id
+        """
+        pass
+
+    def getTopologyInfoWithOpts(self, id, options):
+        """
+        Parameters:
+         - id
+         - options
+        """
+        pass
+
+    def getTopologyPageInfo(self, id, window, is_include_sys):
+        """
+        Parameters:
+         - id
+         - window
+         - is_include_sys
+        """
+        pass
+
+    def getSupervisorPageInfo(self, id, host, is_include_sys):
+        """
+        Parameters:
+         - id
+         - host
+         - is_include_sys
+        """
+        pass
+
+    def getComponentPageInfo(self, topology_id, component_id, window, 
is_include_sys):
+        """
+        Parameters:
+         - topology_id
+         - component_id
+         - window
+         - is_include_sys
+        """
+        pass
+
+    def getTopologyConf(self, id):
+        """
+        Parameters:
+         - id
+        """
+        pass
+
+    def getTopology(self, id):
+        """
+        Returns the compiled topology that contains ackers and metrics 
consumsers. Compare {@link #getUserTopology(String id)}.
+
+        Parameters:
+         - id
+        """
+        pass
+
+    def getUserTopology(self, id):
+        """
+        Returns the user specified topology as submitted originally. Compare 
{@link #getTopology(String id)}.
+
+        Parameters:
+         - id
+        """
+        pass
+
+    def getTopologyHistory(self, user):
+        """
+        Parameters:
+         - user
+        """
+        pass
+
+    def getOwnerResourceSummaries(self, owner):
+        """
+        Parameters:
+         - owner
+        """
+        pass
+
+    def getSupervisorAssignments(self, node):
+        """
+        Get assigned assignments for a specific supervisor
+
+        Parameters:
+         - node
+        """
+        pass
+
+    def sendSupervisorWorkerHeartbeats(self, heartbeats):
+        """
+        Send supervisor worker heartbeats for a specific supervisor
+
+        Parameters:
+         - heartbeats
+        """
+        pass
+
+    def sendSupervisorWorkerHeartbeat(self, heatbeat):
+        """
+        Send supervisor local worker heartbeat when a supervisor is unreachable
+
+        Parameters:
+         - heatbeat
+        """
+        pass
+
+    def processWorkerMetrics(self, metrics):
+        """
+        Parameters:
+         - metrics
+        """
+        pass
+
+
+class Client(Iface):
+    def __init__(self, iprot, oprot=None):
+        self._iprot = self._oprot = iprot
+        if oprot is not None:
+            self._oprot = oprot
+        self._seqid = 0
+
+    def submitTopology(self, name, uploadedJarLocation, jsonConf, topology):
+        """
+        Parameters:
+         - name
+         - uploadedJarLocation
+         - jsonConf
+         - topology
+        """
+        self.send_submitTopology(name, uploadedJarLocation, jsonConf, topology)
+        self.recv_submitTopology()
+
+    def send_submitTopology(self, name, uploadedJarLocation, jsonConf, 
topology):
+        self._oprot.writeMessageBegin('submitTopology', TMessageType.CALL, 
self._seqid)
+        args = submitTopology_args()
+        args.name = name
+        args.uploadedJarLocation = uploadedJarLocation
+        args.jsonConf = jsonConf
+        args.topology = topology
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_submitTopology(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = submitTopology_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.ite is not None:
+            raise result.ite
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def submitTopologyWithOpts(self, name, uploadedJarLocation, jsonConf, 
topology, options):
+        """
+        Parameters:
+         - name
+         - uploadedJarLocation
+         - jsonConf
+         - topology
+         - options
+        """
+        self.send_submitTopologyWithOpts(name, uploadedJarLocation, jsonConf, 
topology, options)
+        self.recv_submitTopologyWithOpts()
+
+    def send_submitTopologyWithOpts(self, name, uploadedJarLocation, jsonConf, 
topology, options):
+        self._oprot.writeMessageBegin('submitTopologyWithOpts', 
TMessageType.CALL, self._seqid)
+        args = submitTopologyWithOpts_args()
+        args.name = name
+        args.uploadedJarLocation = uploadedJarLocation
+        args.jsonConf = jsonConf
+        args.topology = topology
+        args.options = options
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_submitTopologyWithOpts(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = submitTopologyWithOpts_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.ite is not None:
+            raise result.ite
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def killTopology(self, name):
+        """
+        Parameters:
+         - name
+        """
+        self.send_killTopology(name)
+        self.recv_killTopology()
+
+    def send_killTopology(self, name):
+        self._oprot.writeMessageBegin('killTopology', TMessageType.CALL, 
self._seqid)
+        args = killTopology_args()
+        args.name = name
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_killTopology(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = killTopology_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def killTopologyWithOpts(self, name, options):
+        """
+        Parameters:
+         - name
+         - options
+        """
+        self.send_killTopologyWithOpts(name, options)
+        self.recv_killTopologyWithOpts()
+
+    def send_killTopologyWithOpts(self, name, options):
+        self._oprot.writeMessageBegin('killTopologyWithOpts', 
TMessageType.CALL, self._seqid)
+        args = killTopologyWithOpts_args()
+        args.name = name
+        args.options = options
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_killTopologyWithOpts(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = killTopologyWithOpts_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def activate(self, name):
+        """
+        Parameters:
+         - name
+        """
+        self.send_activate(name)
+        self.recv_activate()
+
+    def send_activate(self, name):
+        self._oprot.writeMessageBegin('activate', TMessageType.CALL, 
self._seqid)
+        args = activate_args()
+        args.name = name
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_activate(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = activate_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def deactivate(self, name):
+        """
+        Parameters:
+         - name
+        """
+        self.send_deactivate(name)
+        self.recv_deactivate()
+
+    def send_deactivate(self, name):
+        self._oprot.writeMessageBegin('deactivate', TMessageType.CALL, 
self._seqid)
+        args = deactivate_args()
+        args.name = name
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_deactivate(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = deactivate_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def rebalance(self, name, options):
+        """
+        Parameters:
+         - name
+         - options
+        """
+        self.send_rebalance(name, options)
+        self.recv_rebalance()
+
+    def send_rebalance(self, name, options):
+        self._oprot.writeMessageBegin('rebalance', TMessageType.CALL, 
self._seqid)
+        args = rebalance_args()
+        args.name = name
+        args.options = options
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_rebalance(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = rebalance_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.ite is not None:
+            raise result.ite
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def setLogConfig(self, name, config):
+        """
+        Parameters:
+         - name
+         - config
+        """
+        self.send_setLogConfig(name, config)
+        self.recv_setLogConfig()
+
+    def send_setLogConfig(self, name, config):
+        self._oprot.writeMessageBegin('setLogConfig', TMessageType.CALL, 
self._seqid)
+        args = setLogConfig_args()
+        args.name = name
+        args.config = config
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_setLogConfig(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = setLogConfig_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        return
+
+    def getLogConfig(self, name):
+        """
+        Parameters:
+         - name
+        """
+        self.send_getLogConfig(name)
+        return self.recv_getLogConfig()
+
+    def send_getLogConfig(self, name):
+        self._oprot.writeMessageBegin('getLogConfig', TMessageType.CALL, 
self._seqid)
+        args = getLogConfig_args()
+        args.name = name
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getLogConfig(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getLogConfig_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getLogConfig failed: unknown result")
+
+    def debug(self, name, component, enable, samplingPercentage):
+        """
+        Enable/disable logging the tuples generated in topology via an 
internal EventLogger bolt. The component name is optional
+        and if null or empty, the debug flag will apply to the entire topology.
+
+        The 'samplingPercentage' will limit loggging to a percentage of 
generated tuples.
+
+
+        Parameters:
+         - name
+         - component
+         - enable
+         - samplingPercentage
+        """
+        self.send_debug(name, component, enable, samplingPercentage)
+        self.recv_debug()
+
+    def send_debug(self, name, component, enable, samplingPercentage):
+        self._oprot.writeMessageBegin('debug', TMessageType.CALL, self._seqid)
+        args = debug_args()
+        args.name = name
+        args.component = component
+        args.enable = enable
+        args.samplingPercentage = samplingPercentage
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_debug(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = debug_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def setWorkerProfiler(self, id, profileRequest):
+        """
+        Parameters:
+         - id
+         - profileRequest
+        """
+        self.send_setWorkerProfiler(id, profileRequest)
+        self.recv_setWorkerProfiler()
+
+    def send_setWorkerProfiler(self, id, profileRequest):
+        self._oprot.writeMessageBegin('setWorkerProfiler', TMessageType.CALL, 
self._seqid)
+        args = setWorkerProfiler_args()
+        args.id = id
+        args.profileRequest = profileRequest
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_setWorkerProfiler(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = setWorkerProfiler_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        return
+
+    def getComponentPendingProfileActions(self, id, component_id, action):
+        """
+        Parameters:
+         - id
+         - component_id
+         - action
+        """
+        self.send_getComponentPendingProfileActions(id, component_id, action)
+        return self.recv_getComponentPendingProfileActions()
+
+    def send_getComponentPendingProfileActions(self, id, component_id, action):
+        self._oprot.writeMessageBegin('getComponentPendingProfileActions', 
TMessageType.CALL, self._seqid)
+        args = getComponentPendingProfileActions_args()
+        args.id = id
+        args.component_id = component_id
+        args.action = action
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getComponentPendingProfileActions(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getComponentPendingProfileActions_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getComponentPendingProfileActions failed: unknown result")
+
+    def uploadNewCredentials(self, name, creds):
+        """
+        Parameters:
+         - name
+         - creds
+        """
+        self.send_uploadNewCredentials(name, creds)
+        self.recv_uploadNewCredentials()
+
+    def send_uploadNewCredentials(self, name, creds):
+        self._oprot.writeMessageBegin('uploadNewCredentials', 
TMessageType.CALL, self._seqid)
+        args = uploadNewCredentials_args()
+        args.name = name
+        args.creds = creds
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_uploadNewCredentials(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = uploadNewCredentials_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.e is not None:
+            raise result.e
+        if result.ite is not None:
+            raise result.ite
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def beginCreateBlob(self, key, meta):
+        """
+        Parameters:
+         - key
+         - meta
+        """
+        self.send_beginCreateBlob(key, meta)
+        return self.recv_beginCreateBlob()
+
+    def send_beginCreateBlob(self, key, meta):
+        self._oprot.writeMessageBegin('beginCreateBlob', TMessageType.CALL, 
self._seqid)
+        args = beginCreateBlob_args()
+        args.key = key
+        args.meta = meta
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_beginCreateBlob(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = beginCreateBlob_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.kae is not None:
+            raise result.kae
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"beginCreateBlob failed: unknown result")
+
+    def beginUpdateBlob(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_beginUpdateBlob(key)
+        return self.recv_beginUpdateBlob()
+
+    def send_beginUpdateBlob(self, key):
+        self._oprot.writeMessageBegin('beginUpdateBlob', TMessageType.CALL, 
self._seqid)
+        args = beginUpdateBlob_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_beginUpdateBlob(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = beginUpdateBlob_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"beginUpdateBlob failed: unknown result")
+
+    def uploadBlobChunk(self, session, chunk):
+        """
+        Parameters:
+         - session
+         - chunk
+        """
+        self.send_uploadBlobChunk(session, chunk)
+        self.recv_uploadBlobChunk()
+
+    def send_uploadBlobChunk(self, session, chunk):
+        self._oprot.writeMessageBegin('uploadBlobChunk', TMessageType.CALL, 
self._seqid)
+        args = uploadBlobChunk_args()
+        args.session = session
+        args.chunk = chunk
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_uploadBlobChunk(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = uploadBlobChunk_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def finishBlobUpload(self, session):
+        """
+        Parameters:
+         - session
+        """
+        self.send_finishBlobUpload(session)
+        self.recv_finishBlobUpload()
+
+    def send_finishBlobUpload(self, session):
+        self._oprot.writeMessageBegin('finishBlobUpload', TMessageType.CALL, 
self._seqid)
+        args = finishBlobUpload_args()
+        args.session = session
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_finishBlobUpload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = finishBlobUpload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def cancelBlobUpload(self, session):
+        """
+        Parameters:
+         - session
+        """
+        self.send_cancelBlobUpload(session)
+        self.recv_cancelBlobUpload()
+
+    def send_cancelBlobUpload(self, session):
+        self._oprot.writeMessageBegin('cancelBlobUpload', TMessageType.CALL, 
self._seqid)
+        args = cancelBlobUpload_args()
+        args.session = session
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_cancelBlobUpload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = cancelBlobUpload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def getBlobMeta(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_getBlobMeta(key)
+        return self.recv_getBlobMeta()
+
+    def send_getBlobMeta(self, key):
+        self._oprot.writeMessageBegin('getBlobMeta', TMessageType.CALL, 
self._seqid)
+        args = getBlobMeta_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getBlobMeta(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getBlobMeta_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getBlobMeta failed: unknown result")
+
+    def setBlobMeta(self, key, meta):
+        """
+        Parameters:
+         - key
+         - meta
+        """
+        self.send_setBlobMeta(key, meta)
+        self.recv_setBlobMeta()
+
+    def send_setBlobMeta(self, key, meta):
+        self._oprot.writeMessageBegin('setBlobMeta', TMessageType.CALL, 
self._seqid)
+        args = setBlobMeta_args()
+        args.key = key
+        args.meta = meta
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_setBlobMeta(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = setBlobMeta_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        return
+
+    def beginBlobDownload(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_beginBlobDownload(key)
+        return self.recv_beginBlobDownload()
+
+    def send_beginBlobDownload(self, key):
+        self._oprot.writeMessageBegin('beginBlobDownload', TMessageType.CALL, 
self._seqid)
+        args = beginBlobDownload_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_beginBlobDownload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = beginBlobDownload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"beginBlobDownload failed: unknown result")
+
+    def downloadBlobChunk(self, session):
+        """
+        Parameters:
+         - session
+        """
+        self.send_downloadBlobChunk(session)
+        return self.recv_downloadBlobChunk()
+
+    def send_downloadBlobChunk(self, session):
+        self._oprot.writeMessageBegin('downloadBlobChunk', TMessageType.CALL, 
self._seqid)
+        args = downloadBlobChunk_args()
+        args.session = session
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_downloadBlobChunk(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = downloadBlobChunk_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"downloadBlobChunk failed: unknown result")
+
+    def deleteBlob(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_deleteBlob(key)
+        self.recv_deleteBlob()
+
+    def send_deleteBlob(self, key):
+        self._oprot.writeMessageBegin('deleteBlob', TMessageType.CALL, 
self._seqid)
+        args = deleteBlob_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_deleteBlob(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = deleteBlob_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        return
+
+    def listBlobs(self, session):
+        """
+        Parameters:
+         - session
+        """
+        self.send_listBlobs(session)
+        return self.recv_listBlobs()
+
+    def send_listBlobs(self, session):
+        self._oprot.writeMessageBegin('listBlobs', TMessageType.CALL, 
self._seqid)
+        args = listBlobs_args()
+        args.session = session
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_listBlobs(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = listBlobs_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"listBlobs failed: unknown result")
+
+    def getBlobReplication(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_getBlobReplication(key)
+        return self.recv_getBlobReplication()
+
+    def send_getBlobReplication(self, key):
+        self._oprot.writeMessageBegin('getBlobReplication', TMessageType.CALL, 
self._seqid)
+        args = getBlobReplication_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getBlobReplication(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getBlobReplication_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getBlobReplication failed: unknown result")
+
+    def updateBlobReplication(self, key, replication):
+        """
+        Parameters:
+         - key
+         - replication
+        """
+        self.send_updateBlobReplication(key, replication)
+        return self.recv_updateBlobReplication()
+
+    def send_updateBlobReplication(self, key, replication):
+        self._oprot.writeMessageBegin('updateBlobReplication', 
TMessageType.CALL, self._seqid)
+        args = updateBlobReplication_args()
+        args.key = key
+        args.replication = replication
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_updateBlobReplication(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = updateBlobReplication_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        if result.knf is not None:
+            raise result.knf
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"updateBlobReplication failed: unknown result")
+
+    def createStateInZookeeper(self, key):
+        """
+        Parameters:
+         - key
+        """
+        self.send_createStateInZookeeper(key)
+        self.recv_createStateInZookeeper()
+
+    def send_createStateInZookeeper(self, key):
+        self._oprot.writeMessageBegin('createStateInZookeeper', 
TMessageType.CALL, self._seqid)
+        args = createStateInZookeeper_args()
+        args.key = key
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_createStateInZookeeper(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = createStateInZookeeper_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        return
+
+    def beginFileUpload(self):
+        self.send_beginFileUpload()
+        return self.recv_beginFileUpload()
+
+    def send_beginFileUpload(self):
+        self._oprot.writeMessageBegin('beginFileUpload', TMessageType.CALL, 
self._seqid)
+        args = beginFileUpload_args()
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_beginFileUpload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = beginFileUpload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"beginFileUpload failed: unknown result")
+
+    def uploadChunk(self, location, chunk):
+        """
+        Parameters:
+         - location
+         - chunk
+        """
+        self.send_uploadChunk(location, chunk)
+        self.recv_uploadChunk()
+
+    def send_uploadChunk(self, location, chunk):
+        self._oprot.writeMessageBegin('uploadChunk', TMessageType.CALL, 
self._seqid)
+        args = uploadChunk_args()
+        args.location = location
+        args.chunk = chunk
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_uploadChunk(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = uploadChunk_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def finishFileUpload(self, location):
+        """
+        Parameters:
+         - location
+        """
+        self.send_finishFileUpload(location)
+        self.recv_finishFileUpload()
+
+    def send_finishFileUpload(self, location):
+        self._oprot.writeMessageBegin('finishFileUpload', TMessageType.CALL, 
self._seqid)
+        args = finishFileUpload_args()
+        args.location = location
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_finishFileUpload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = finishFileUpload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def beginFileDownload(self, file):
+        """
+        Parameters:
+         - file
+        """
+        self.send_beginFileDownload(file)
+        return self.recv_beginFileDownload()
+
+    def send_beginFileDownload(self, file):
+        self._oprot.writeMessageBegin('beginFileDownload', TMessageType.CALL, 
self._seqid)
+        args = beginFileDownload_args()
+        args.file = file
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_beginFileDownload(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = beginFileDownload_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"beginFileDownload failed: unknown result")
+
+    def downloadChunk(self, id):
+        """
+        Parameters:
+         - id
+        """
+        self.send_downloadChunk(id)
+        return self.recv_downloadChunk()
+
+    def send_downloadChunk(self, id):
+        self._oprot.writeMessageBegin('downloadChunk', TMessageType.CALL, 
self._seqid)
+        args = downloadChunk_args()
+        args.id = id
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_downloadChunk(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = downloadChunk_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"downloadChunk failed: unknown result")
+
+    def getNimbusConf(self):
+        self.send_getNimbusConf()
+        return self.recv_getNimbusConf()
+
+    def send_getNimbusConf(self):
+        self._oprot.writeMessageBegin('getNimbusConf', TMessageType.CALL, 
self._seqid)
+        args = getNimbusConf_args()
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getNimbusConf(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getNimbusConf_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getNimbusConf failed: unknown result")
+
+    def getClusterInfo(self):
+        self.send_getClusterInfo()
+        return self.recv_getClusterInfo()
+
+    def send_getClusterInfo(self):
+        self._oprot.writeMessageBegin('getClusterInfo', TMessageType.CALL, 
self._seqid)
+        args = getClusterInfo_args()
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getClusterInfo(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getClusterInfo_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getClusterInfo failed: unknown result")
+
+    def getLeader(self):
+        self.send_getLeader()
+        return self.recv_getLeader()
+
+    def send_getLeader(self):
+        self._oprot.writeMessageBegin('getLeader', TMessageType.CALL, 
self._seqid)
+        args = getLeader_args()
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getLeader(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getLeader_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getLeader failed: unknown result")
+
+    def isTopologyNameAllowed(self, name):
+        """
+        Parameters:
+         - name
+        """
+        self.send_isTopologyNameAllowed(name)
+        return self.recv_isTopologyNameAllowed()
+
+    def send_isTopologyNameAllowed(self, name):
+        self._oprot.writeMessageBegin('isTopologyNameAllowed', 
TMessageType.CALL, self._seqid)
+        args = isTopologyNameAllowed_args()
+        args.name = name
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_isTopologyNameAllowed(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = isTopologyNameAllowed_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"isTopologyNameAllowed failed: unknown result")
+
+    def getTopologyInfo(self, id):
+        """
+        Parameters:
+         - id
+        """
+        self.send_getTopologyInfo(id)
+        return self.recv_getTopologyInfo()
+
+    def send_getTopologyInfo(self, id):
+        self._oprot.writeMessageBegin('getTopologyInfo', TMessageType.CALL, 
self._seqid)
+        args = getTopologyInfo_args()
+        args.id = id
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopologyInfo(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopologyInfo_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopologyInfo failed: unknown result")
+
+    def getTopologyInfoWithOpts(self, id, options):
+        """
+        Parameters:
+         - id
+         - options
+        """
+        self.send_getTopologyInfoWithOpts(id, options)
+        return self.recv_getTopologyInfoWithOpts()
+
+    def send_getTopologyInfoWithOpts(self, id, options):
+        self._oprot.writeMessageBegin('getTopologyInfoWithOpts', 
TMessageType.CALL, self._seqid)
+        args = getTopologyInfoWithOpts_args()
+        args.id = id
+        args.options = options
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopologyInfoWithOpts(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopologyInfoWithOpts_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopologyInfoWithOpts failed: unknown result")
+
+    def getTopologyPageInfo(self, id, window, is_include_sys):
+        """
+        Parameters:
+         - id
+         - window
+         - is_include_sys
+        """
+        self.send_getTopologyPageInfo(id, window, is_include_sys)
+        return self.recv_getTopologyPageInfo()
+
+    def send_getTopologyPageInfo(self, id, window, is_include_sys):
+        self._oprot.writeMessageBegin('getTopologyPageInfo', 
TMessageType.CALL, self._seqid)
+        args = getTopologyPageInfo_args()
+        args.id = id
+        args.window = window
+        args.is_include_sys = is_include_sys
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopologyPageInfo(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopologyPageInfo_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopologyPageInfo failed: unknown result")
+
+    def getSupervisorPageInfo(self, id, host, is_include_sys):
+        """
+        Parameters:
+         - id
+         - host
+         - is_include_sys
+        """
+        self.send_getSupervisorPageInfo(id, host, is_include_sys)
+        return self.recv_getSupervisorPageInfo()
+
+    def send_getSupervisorPageInfo(self, id, host, is_include_sys):
+        self._oprot.writeMessageBegin('getSupervisorPageInfo', 
TMessageType.CALL, self._seqid)
+        args = getSupervisorPageInfo_args()
+        args.id = id
+        args.host = host
+        args.is_include_sys = is_include_sys
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getSupervisorPageInfo(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getSupervisorPageInfo_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getSupervisorPageInfo failed: unknown result")
+
+    def getComponentPageInfo(self, topology_id, component_id, window, 
is_include_sys):
+        """
+        Parameters:
+         - topology_id
+         - component_id
+         - window
+         - is_include_sys
+        """
+        self.send_getComponentPageInfo(topology_id, component_id, window, 
is_include_sys)
+        return self.recv_getComponentPageInfo()
+
+    def send_getComponentPageInfo(self, topology_id, component_id, window, 
is_include_sys):
+        self._oprot.writeMessageBegin('getComponentPageInfo', 
TMessageType.CALL, self._seqid)
+        args = getComponentPageInfo_args()
+        args.topology_id = topology_id
+        args.component_id = component_id
+        args.window = window
+        args.is_include_sys = is_include_sys
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getComponentPageInfo(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getComponentPageInfo_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getComponentPageInfo failed: unknown result")
+
+    def getTopologyConf(self, id):
+        """
+        Parameters:
+         - id
+        """
+        self.send_getTopologyConf(id)
+        return self.recv_getTopologyConf()
+
+    def send_getTopologyConf(self, id):
+        self._oprot.writeMessageBegin('getTopologyConf', TMessageType.CALL, 
self._seqid)
+        args = getTopologyConf_args()
+        args.id = id
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopologyConf(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopologyConf_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopologyConf failed: unknown result")
+
+    def getTopology(self, id):
+        """
+        Returns the compiled topology that contains ackers and metrics 
consumsers. Compare {@link #getUserTopology(String id)}.
+
+        Parameters:
+         - id
+        """
+        self.send_getTopology(id)
+        return self.recv_getTopology()
+
+    def send_getTopology(self, id):
+        self._oprot.writeMessageBegin('getTopology', TMessageType.CALL, 
self._seqid)
+        args = getTopology_args()
+        args.id = id
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopology(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopology_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopology failed: unknown result")
+
+    def getUserTopology(self, id):
+        """
+        Returns the user specified topology as submitted originally. Compare 
{@link #getTopology(String id)}.
+
+        Parameters:
+         - id
+        """
+        self.send_getUserTopology(id)
+        return self.recv_getUserTopology()
+
+    def send_getUserTopology(self, id):
+        self._oprot.writeMessageBegin('getUserTopology', TMessageType.CALL, 
self._seqid)
+        args = getUserTopology_args()
+        args.id = id
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getUserTopology(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getUserTopology_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.e is not None:
+            raise result.e
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getUserTopology failed: unknown result")
+
+    def getTopologyHistory(self, user):
+        """
+        Parameters:
+         - user
+        """
+        self.send_getTopologyHistory(user)
+        return self.recv_getTopologyHistory()
+
+    def send_getTopologyHistory(self, user):
+        self._oprot.writeMessageBegin('getTopologyHistory', TMessageType.CALL, 
self._seqid)
+        args = getTopologyHistory_args()
+        args.user = user
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getTopologyHistory(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getTopologyHistory_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getTopologyHistory failed: unknown result")
+
+    def getOwnerResourceSummaries(self, owner):
+        """
+        Parameters:
+         - owner
+        """
+        self.send_getOwnerResourceSummaries(owner)
+        return self.recv_getOwnerResourceSummaries()
+
+    def send_getOwnerResourceSummaries(self, owner):
+        self._oprot.writeMessageBegin('getOwnerResourceSummaries', 
TMessageType.CALL, self._seqid)
+        args = getOwnerResourceSummaries_args()
+        args.owner = owner
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getOwnerResourceSummaries(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getOwnerResourceSummaries_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getOwnerResourceSummaries failed: unknown result")
+
+    def getSupervisorAssignments(self, node):
+        """
+        Get assigned assignments for a specific supervisor
+
+        Parameters:
+         - node
+        """
+        self.send_getSupervisorAssignments(node)
+        return self.recv_getSupervisorAssignments()
+
+    def send_getSupervisorAssignments(self, node):
+        self._oprot.writeMessageBegin('getSupervisorAssignments', 
TMessageType.CALL, self._seqid)
+        args = getSupervisorAssignments_args()
+        args.node = node
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_getSupervisorAssignments(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = getSupervisorAssignments_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.success is not None:
+            return result.success
+        if result.aze is not None:
+            raise result.aze
+        raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getSupervisorAssignments failed: unknown result")
+
+    def sendSupervisorWorkerHeartbeats(self, heartbeats):
+        """
+        Send supervisor worker heartbeats for a specific supervisor
+
+        Parameters:
+         - heartbeats
+        """
+        self.send_sendSupervisorWorkerHeartbeats(heartbeats)
+        self.recv_sendSupervisorWorkerHeartbeats()
+
+    def send_sendSupervisorWorkerHeartbeats(self, heartbeats):
+        self._oprot.writeMessageBegin('sendSupervisorWorkerHeartbeats', 
TMessageType.CALL, self._seqid)
+        args = sendSupervisorWorkerHeartbeats_args()
+        args.heartbeats = heartbeats
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_sendSupervisorWorkerHeartbeats(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = sendSupervisorWorkerHeartbeats_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        return
+
+    def sendSupervisorWorkerHeartbeat(self, heatbeat):
+        """
+        Send supervisor local worker heartbeat when a supervisor is unreachable
+
+        Parameters:
+         - heatbeat
+        """
+        self.send_sendSupervisorWorkerHeartbeat(heatbeat)
+        self.recv_sendSupervisorWorkerHeartbeat()
+
+    def send_sendSupervisorWorkerHeartbeat(self, heatbeat):
+        self._oprot.writeMessageBegin('sendSupervisorWorkerHeartbeat', 
TMessageType.CALL, self._seqid)
+        args = sendSupervisorWorkerHeartbeat_args()
+        args.heatbeat = heatbeat
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_sendSupervisorWorkerHeartbeat(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = sendSupervisorWorkerHeartbeat_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        if result.aze is not None:
+            raise result.aze
+        if result.e is not None:
+            raise result.e
+        return
+
+    def processWorkerMetrics(self, metrics):
+        """
+        Parameters:
+         - metrics
+        """
+        self.send_processWorkerMetrics(metrics)
+        self.recv_processWorkerMetrics()
+
+    def send_processWorkerMetrics(self, metrics):
+        self._oprot.writeMessageBegin('processWorkerMetrics', 
TMessageType.CALL, self._seqid)
+        args = processWorkerMetrics_args()
+        args.metrics = metrics
+        args.write(self._oprot)
+        self._oprot.writeMessageEnd()
+        self._oprot.trans.flush()
+
+    def recv_processWorkerMetrics(self):
+        iprot = self._iprot
+        (fname, mtype, rseqid) = iprot.readMessageBegin()
+        if mtype == TMessageType.EXCEPTION:
+            x = TApplicationException()
+            x.read(iprot)
+            iprot.readMessageEnd()
+            raise x
+        result = processWorkerMetrics_result()
+        result.read(iprot)
+        iprot.readMessageEnd()
+        return
 
 
-class Iface:
-  def submitTopology(self, name, uploadedJarLocation, jsonConf, topology):
+class Processor(Iface, TProcessor):
+    def __init__(self, handler):
+        self._handler = handler
+        self._processMap = {}
+        self._processMap["submitTopology"] = Processor.process_submitTopology
+        self._processMap["submitTopologyWithOpts"] = 
Processor.process_submitTopologyWithOpts
+        self._processMap["killTopology"] = Processor.process_killTopology
+        self._processMap["killTopologyWithOpts"] = 
Processor.process_killTopologyWithOpts
+        self._processMap["activate"] = Processor.process_activate
+        self._processMap["deactivate"] = Processor.process_deactivate
+        self._processMap["rebalance"] = Processor.process_rebalance
+        self._processMap["setLogConfig"] = Processor.process_setLogConfig
+        self._processMap["getLogConfig"] = Processor.process_getLogConfig
+        self._processMap["debug"] = Processor.process_debug
+        self._processMap["setWorkerProfiler"] = 
Processor.process_setWorkerProfiler
+        self._processMap["getComponentPendingProfileActions"] = 
Processor.process_getComponentPendingProfileActions
+        self._processMap["uploadNewCredentials"] = 
Processor.process_uploadNewCredentials
+        self._processMap["beginCreateBlob"] = Processor.process_beginCreateBlob
+        self._processMap["beginUpdateBlob"] = Processor.process_beginUpdateBlob
+        self._processMap["uploadBlobChunk"] = Processor.process_uploadBlobChunk
+        self._processMap["finishBlobUpload"] = 
Processor.process_finishBlobUpload
+        self._processMap["cancelBlobUpload"] = 
Processor.process_cancelBlobUpload
+        self._processMap["getBlobMeta"] = Processor.process_getBlobMeta
+        self._processMap["setBlobMeta"] = Processor.process_setBlobMeta
+        self._processMap["beginBlobDownload"] = 
Processor.process_beginBlobDownload
+        self._processMap["downloadBlobChunk"] = 
Processor.process_downloadBlobChunk
+        self._processMap["deleteBlob"] = Processor.process_deleteBlob
+        self._processMap["listBlobs"] = Processor.process_listBlobs
+        self._processMap["getBlobReplication"] = 
Processor.process_getBlobReplication
+        self._processMap["updateBlobReplication"] = 
Processor.process_updateBlobReplication
+        self._processMap["createStateInZookeeper"] = 
Processor.process_createStateInZookeeper
+        self._processMap["beginFileUpload"] = Processor.process_beginFileUpload
+        self._processMap["uploadChunk"] = Processor.process_uploadChunk
+        self._processMap["finishFileUpload"] = 
Processor.process_finishFileUpload
+        self._processMap["beginFileDownload"] = 
Processor.process_beginFileDownload
+        self._processMap["downloadChunk"] = Processor.process_downloadChunk
+        self._processMap["getNimbusConf"] = Processor.process_getNimbusConf
+        self._processMap["getClusterInfo"] = Processor.process_getClusterInfo
+        self._processMap["getLeader"] = Processor.process_getLeader
+        self._processMap["isTopologyNameAllowed"] = 
Processor.process_isTopologyNameAllowed
+        self._processMap["getTopologyInfo"] = Processor.process_getTopologyInfo
+        self._processMap["getTopologyInfoWithOpts"] = 
Processor.process_getTopologyInfoWithOpts
+        self._processMap["getTopologyPageInfo"] = 
Processor.process_getTopologyPageInfo
+        self._processMap["getSupervisorPageInfo"] = 
Processor.process_getSupervisorPageInfo
+        self._processMap["getComponentPageInfo"] = 
Processor.process_getComponentPageInfo
+        self._processMap["getTopologyConf"] = Processor.process_getTopologyConf
+        self._processMap["getTopology"] = Processor.process_getTopology
+        self._processMap["getUserTopology"] = Processor.process_getUserTopology
+        self._processMap["getTopologyHistory"] = 
Processor.process_getTopologyHistory
+        self._processMap["getOwnerResourceSummaries"] = 
Processor.process_getOwnerResourceSummaries
+        self._processMap["getSupervisorAssignments"] = 
Processor.process_getSupervisorAssignments
+        self._processMap["sendSupervisorWorkerHeartbeats"] = 
Processor.process_sendSupervisorWorkerHeartbeats
+        self._processMap["sendSupervisorWorkerHeartbeat"] = 
Processor.process_sendSupervisorWorkerHeartbeat
+        self._processMap["processWorkerMetrics"] = 
Processor.process_processWorkerMetrics
+
+    def process(self, iprot, oprot):
+        (name, type, seqid) = iprot.readMessageBegin()
+        if name not in self._processMap:
+            iprot.skip(TType.STRUCT)
+            iprot.readMessageEnd()
+            x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 
'Unknown function %s' % (name))
+            oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid)
+            x.write(oprot)
+            oprot.writeMessageEnd()
+            oprot.trans.flush()
+            return
+        else:
+            self._processMap[name](self, seqid, iprot, oprot)
+        return True
+
+    def process_submitTopology(self, seqid, iprot, oprot):
+        args = submitTopology_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = submitTopology_result()
+        try:
+            self._handler.submitTopology(args.name, args.uploadedJarLocation, 
args.jsonConf, args.topology)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except AlreadyAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except InvalidTopologyException as ite:
+            msg_type = TMessageType.REPLY
+            result.ite = ite
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("submitTopology", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_submitTopologyWithOpts(self, seqid, iprot, oprot):
+        args = submitTopologyWithOpts_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = submitTopologyWithOpts_result()
+        try:
+            self._handler.submitTopologyWithOpts(args.name, 
args.uploadedJarLocation, args.jsonConf, args.topology, args.options)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except AlreadyAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except InvalidTopologyException as ite:
+            msg_type = TMessageType.REPLY
+            result.ite = ite
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("submitTopologyWithOpts", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_killTopology(self, seqid, iprot, oprot):
+        args = killTopology_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = killTopology_result()
+        try:
+            self._handler.killTopology(args.name)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("killTopology", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_killTopologyWithOpts(self, seqid, iprot, oprot):
+        args = killTopologyWithOpts_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = killTopologyWithOpts_result()
+        try:
+            self._handler.killTopologyWithOpts(args.name, args.options)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("killTopologyWithOpts", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_activate(self, seqid, iprot, oprot):
+        args = activate_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = activate_result()
+        try:
+            self._handler.activate(args.name)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("activate", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_deactivate(self, seqid, iprot, oprot):
+        args = deactivate_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = deactivate_result()
+        try:
+            self._handler.deactivate(args.name)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("deactivate", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_rebalance(self, seqid, iprot, oprot):
+        args = rebalance_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = rebalance_result()
+        try:
+            self._handler.rebalance(args.name, args.options)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except InvalidTopologyException as ite:
+            msg_type = TMessageType.REPLY
+            result.ite = ite
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("rebalance", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_setLogConfig(self, seqid, iprot, oprot):
+        args = setLogConfig_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = setLogConfig_result()
+        try:
+            self._handler.setLogConfig(args.name, args.config)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("setLogConfig", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_getLogConfig(self, seqid, iprot, oprot):
+        args = getLogConfig_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = getLogConfig_result()
+        try:
+            result.success = self._handler.getLogConfig(args.name)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("getLogConfig", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_debug(self, seqid, iprot, oprot):
+        args = debug_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = debug_result()
+        try:
+            self._handler.debug(args.name, args.component, args.enable, 
args.samplingPercentage)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("debug", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_setWorkerProfiler(self, seqid, iprot, oprot):
+        args = setWorkerProfiler_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = setWorkerProfiler_result()
+        try:
+            self._handler.setWorkerProfiler(args.id, args.profileRequest)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("setWorkerProfiler", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_getComponentPendingProfileActions(self, seqid, iprot, oprot):
+        args = getComponentPendingProfileActions_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = getComponentPendingProfileActions_result()
+        try:
+            result.success = 
self._handler.getComponentPendingProfileActions(args.id, args.component_id, 
args.action)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("getComponentPendingProfileActions", msg_type, 
seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_uploadNewCredentials(self, seqid, iprot, oprot):
+        args = uploadNewCredentials_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = uploadNewCredentials_result()
+        try:
+            self._handler.uploadNewCredentials(args.name, args.creds)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except NotAliveException as e:
+            msg_type = TMessageType.REPLY
+            result.e = e
+        except InvalidTopologyException as ite:
+            msg_type = TMessageType.REPLY
+            result.ite = ite
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("uploadNewCredentials", msg_type, seqid)
+        result.write(oprot)
+        oprot.writeMessageEnd()
+        oprot.trans.flush()
+
+    def process_beginCreateBlob(self, seqid, iprot, oprot):
+        args = beginCreateBlob_args()
+        args.read(iprot)
+        iprot.readMessageEnd()
+        result = beginCreateBlob_result()
+        try:
+            result.success = self._handler.beginCreateBlob(args.key, args.meta)
+            msg_type = TMessageType.REPLY
+        except TTransport.TTransportException:
+            raise
+        except AuthorizationException as aze:
+            msg_type = TMessageType.REPLY
+            result.aze = aze
+        except KeyAlreadyExistsException as kae:
+            msg_type = TMessageType.REPLY
+            result.kae = kae
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
+            result = 
TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
+        oprot.writeMessageBegin("beginCreateBlob", msg_type, seqid)
+        result.write(oprot)
+ 

<TRUNCATED>

Reply via email to