#
# Autogenerated by Thrift Compiler (0.9.3)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#

require 'thrift'
require 'concourse/thrift/concourse_types'

module Concourse
  module Thrift
    module ConcourseService
      class Client
        include ::Thrift::Client

        def abort(creds, transaction, environment)
          send_abort(creds, transaction, environment)
          recv_abort()
        end

        def send_abort(creds, transaction, environment)
          send_message('abort', Abort_args, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_abort()
          result = receive_message(Abort_result)
          raise result.ex unless result.ex.nil?
          return
        end

        def addKeyValue(key, value, creds, transaction, environment)
          send_addKeyValue(key, value, creds, transaction, environment)
          return recv_addKeyValue()
        end

        def send_addKeyValue(key, value, creds, transaction, environment)
          send_message('addKeyValue', AddKeyValue_args, :key => key, :value => value, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_addKeyValue()
          result = receive_message(AddKeyValue_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'addKeyValue failed: unknown result')
        end

        def addKeyValueRecord(key, value, record, creds, transaction, environment)
          send_addKeyValueRecord(key, value, record, creds, transaction, environment)
          return recv_addKeyValueRecord()
        end

        def send_addKeyValueRecord(key, value, record, creds, transaction, environment)
          send_message('addKeyValueRecord', AddKeyValueRecord_args, :key => key, :value => value, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_addKeyValueRecord()
          result = receive_message(AddKeyValueRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'addKeyValueRecord failed: unknown result')
        end

        def addKeyValueRecords(key, value, records, creds, transaction, environment)
          send_addKeyValueRecords(key, value, records, creds, transaction, environment)
          return recv_addKeyValueRecords()
        end

        def send_addKeyValueRecords(key, value, records, creds, transaction, environment)
          send_message('addKeyValueRecords', AddKeyValueRecords_args, :key => key, :value => value, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_addKeyValueRecords()
          result = receive_message(AddKeyValueRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'addKeyValueRecords failed: unknown result')
        end

        def auditRecord(record, creds, transaction, environment)
          send_auditRecord(record, creds, transaction, environment)
          return recv_auditRecord()
        end

        def send_auditRecord(record, creds, transaction, environment)
          send_message('auditRecord', AuditRecord_args, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditRecord()
          result = receive_message(AuditRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditRecord failed: unknown result')
        end

        def auditRecordStart(record, start, creds, transaction, environment)
          send_auditRecordStart(record, start, creds, transaction, environment)
          return recv_auditRecordStart()
        end

        def send_auditRecordStart(record, start, creds, transaction, environment)
          send_message('auditRecordStart', AuditRecordStart_args, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditRecordStart()
          result = receive_message(AuditRecordStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditRecordStart failed: unknown result')
        end

        def auditRecordStartstr(record, start, creds, transaction, environment)
          send_auditRecordStartstr(record, start, creds, transaction, environment)
          return recv_auditRecordStartstr()
        end

        def send_auditRecordStartstr(record, start, creds, transaction, environment)
          send_message('auditRecordStartstr', AuditRecordStartstr_args, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditRecordStartstr()
          result = receive_message(AuditRecordStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditRecordStartstr failed: unknown result')
        end

        def auditRecordStartEnd(record, start, tend, creds, transaction, environment)
          send_auditRecordStartEnd(record, start, tend, creds, transaction, environment)
          return recv_auditRecordStartEnd()
        end

        def send_auditRecordStartEnd(record, start, tend, creds, transaction, environment)
          send_message('auditRecordStartEnd', AuditRecordStartEnd_args, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditRecordStartEnd()
          result = receive_message(AuditRecordStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditRecordStartEnd failed: unknown result')
        end

        def auditRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          send_auditRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          return recv_auditRecordStartstrEndstr()
        end

        def send_auditRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          send_message('auditRecordStartstrEndstr', AuditRecordStartstrEndstr_args, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditRecordStartstrEndstr()
          result = receive_message(AuditRecordStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditRecordStartstrEndstr failed: unknown result')
        end

        def auditKeyRecord(key, record, creds, transaction, environment)
          send_auditKeyRecord(key, record, creds, transaction, environment)
          return recv_auditKeyRecord()
        end

        def send_auditKeyRecord(key, record, creds, transaction, environment)
          send_message('auditKeyRecord', AuditKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditKeyRecord()
          result = receive_message(AuditKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditKeyRecord failed: unknown result')
        end

        def auditKeyRecordStart(key, record, start, creds, transaction, environment)
          send_auditKeyRecordStart(key, record, start, creds, transaction, environment)
          return recv_auditKeyRecordStart()
        end

        def send_auditKeyRecordStart(key, record, start, creds, transaction, environment)
          send_message('auditKeyRecordStart', AuditKeyRecordStart_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditKeyRecordStart()
          result = receive_message(AuditKeyRecordStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditKeyRecordStart failed: unknown result')
        end

        def auditKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_auditKeyRecordStartstr(key, record, start, creds, transaction, environment)
          return recv_auditKeyRecordStartstr()
        end

        def send_auditKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_message('auditKeyRecordStartstr', AuditKeyRecordStartstr_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditKeyRecordStartstr()
          result = receive_message(AuditKeyRecordStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditKeyRecordStartstr failed: unknown result')
        end

        def auditKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_auditKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          return recv_auditKeyRecordStartEnd()
        end

        def send_auditKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_message('auditKeyRecordStartEnd', AuditKeyRecordStartEnd_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditKeyRecordStartEnd()
          result = receive_message(AuditKeyRecordStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditKeyRecordStartEnd failed: unknown result')
        end

        def auditKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_auditKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          return recv_auditKeyRecordStartstrEndstr()
        end

        def send_auditKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_message('auditKeyRecordStartstrEndstr', AuditKeyRecordStartstrEndstr_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_auditKeyRecordStartstrEndstr()
          result = receive_message(AuditKeyRecordStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'auditKeyRecordStartstrEndstr failed: unknown result')
        end

        def browseKey(key, creds, transaction, environment)
          send_browseKey(key, creds, transaction, environment)
          return recv_browseKey()
        end

        def send_browseKey(key, creds, transaction, environment)
          send_message('browseKey', BrowseKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKey()
          result = receive_message(BrowseKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKey failed: unknown result')
        end

        def browseKeys(keys, creds, transaction, environment)
          send_browseKeys(keys, creds, transaction, environment)
          return recv_browseKeys()
        end

        def send_browseKeys(keys, creds, transaction, environment)
          send_message('browseKeys', BrowseKeys_args, :keys => keys, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKeys()
          result = receive_message(BrowseKeys_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKeys failed: unknown result')
        end

        def browseKeyTime(key, timestamp, creds, transaction, environment)
          send_browseKeyTime(key, timestamp, creds, transaction, environment)
          return recv_browseKeyTime()
        end

        def send_browseKeyTime(key, timestamp, creds, transaction, environment)
          send_message('browseKeyTime', BrowseKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKeyTime()
          result = receive_message(BrowseKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKeyTime failed: unknown result')
        end

        def browseKeyTimestr(key, timestamp, creds, transaction, environment)
          send_browseKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_browseKeyTimestr()
        end

        def send_browseKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('browseKeyTimestr', BrowseKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKeyTimestr()
          result = receive_message(BrowseKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKeyTimestr failed: unknown result')
        end

        def browseKeysTime(keys, timestamp, creds, transaction, environment)
          send_browseKeysTime(keys, timestamp, creds, transaction, environment)
          return recv_browseKeysTime()
        end

        def send_browseKeysTime(keys, timestamp, creds, transaction, environment)
          send_message('browseKeysTime', BrowseKeysTime_args, :keys => keys, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKeysTime()
          result = receive_message(BrowseKeysTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKeysTime failed: unknown result')
        end

        def browseKeysTimestr(keys, timestamp, creds, transaction, environment)
          send_browseKeysTimestr(keys, timestamp, creds, transaction, environment)
          return recv_browseKeysTimestr()
        end

        def send_browseKeysTimestr(keys, timestamp, creds, transaction, environment)
          send_message('browseKeysTimestr', BrowseKeysTimestr_args, :keys => keys, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_browseKeysTimestr()
          result = receive_message(BrowseKeysTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'browseKeysTimestr failed: unknown result')
        end

        def chronologizeKeyRecord(key, record, creds, transaction, environment)
          send_chronologizeKeyRecord(key, record, creds, transaction, environment)
          return recv_chronologizeKeyRecord()
        end

        def send_chronologizeKeyRecord(key, record, creds, transaction, environment)
          send_message('chronologizeKeyRecord', ChronologizeKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_chronologizeKeyRecord()
          result = receive_message(ChronologizeKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'chronologizeKeyRecord failed: unknown result')
        end

        def chronologizeKeyRecordStart(key, record, start, creds, transaction, environment)
          send_chronologizeKeyRecordStart(key, record, start, creds, transaction, environment)
          return recv_chronologizeKeyRecordStart()
        end

        def send_chronologizeKeyRecordStart(key, record, start, creds, transaction, environment)
          send_message('chronologizeKeyRecordStart', ChronologizeKeyRecordStart_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_chronologizeKeyRecordStart()
          result = receive_message(ChronologizeKeyRecordStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'chronologizeKeyRecordStart failed: unknown result')
        end

        def chronologizeKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_chronologizeKeyRecordStartstr(key, record, start, creds, transaction, environment)
          return recv_chronologizeKeyRecordStartstr()
        end

        def send_chronologizeKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_message('chronologizeKeyRecordStartstr', ChronologizeKeyRecordStartstr_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_chronologizeKeyRecordStartstr()
          result = receive_message(ChronologizeKeyRecordStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'chronologizeKeyRecordStartstr failed: unknown result')
        end

        def chronologizeKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_chronologizeKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          return recv_chronologizeKeyRecordStartEnd()
        end

        def send_chronologizeKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_message('chronologizeKeyRecordStartEnd', ChronologizeKeyRecordStartEnd_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_chronologizeKeyRecordStartEnd()
          result = receive_message(ChronologizeKeyRecordStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'chronologizeKeyRecordStartEnd failed: unknown result')
        end

        def chronologizeKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_chronologizeKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          return recv_chronologizeKeyRecordStartstrEndstr()
        end

        def send_chronologizeKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_message('chronologizeKeyRecordStartstrEndstr', ChronologizeKeyRecordStartstrEndstr_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_chronologizeKeyRecordStartstrEndstr()
          result = receive_message(ChronologizeKeyRecordStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'chronologizeKeyRecordStartstrEndstr failed: unknown result')
        end

        def clearRecord(record, creds, transaction, environment)
          send_clearRecord(record, creds, transaction, environment)
          recv_clearRecord()
        end

        def send_clearRecord(record, creds, transaction, environment)
          send_message('clearRecord', ClearRecord_args, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearRecord()
          result = receive_message(ClearRecord_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def clearRecords(records, creds, transaction, environment)
          send_clearRecords(records, creds, transaction, environment)
          recv_clearRecords()
        end

        def send_clearRecords(records, creds, transaction, environment)
          send_message('clearRecords', ClearRecords_args, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearRecords()
          result = receive_message(ClearRecords_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def clearKeyRecord(key, record, creds, transaction, environment)
          send_clearKeyRecord(key, record, creds, transaction, environment)
          recv_clearKeyRecord()
        end

        def send_clearKeyRecord(key, record, creds, transaction, environment)
          send_message('clearKeyRecord', ClearKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearKeyRecord()
          result = receive_message(ClearKeyRecord_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def clearKeysRecord(keys, record, creds, transaction, environment)
          send_clearKeysRecord(keys, record, creds, transaction, environment)
          recv_clearKeysRecord()
        end

        def send_clearKeysRecord(keys, record, creds, transaction, environment)
          send_message('clearKeysRecord', ClearKeysRecord_args, :keys => keys, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearKeysRecord()
          result = receive_message(ClearKeysRecord_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def clearKeyRecords(key, records, creds, transaction, environment)
          send_clearKeyRecords(key, records, creds, transaction, environment)
          recv_clearKeyRecords()
        end

        def send_clearKeyRecords(key, records, creds, transaction, environment)
          send_message('clearKeyRecords', ClearKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearKeyRecords()
          result = receive_message(ClearKeyRecords_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def clearKeysRecords(keys, records, creds, transaction, environment)
          send_clearKeysRecords(keys, records, creds, transaction, environment)
          recv_clearKeysRecords()
        end

        def send_clearKeysRecords(keys, records, creds, transaction, environment)
          send_message('clearKeysRecords', ClearKeysRecords_args, :keys => keys, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_clearKeysRecords()
          result = receive_message(ClearKeysRecords_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def commit(creds, transaction, environment)
          send_commit(creds, transaction, environment)
          return recv_commit()
        end

        def send_commit(creds, transaction, environment)
          send_message('commit', Commit_args, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_commit()
          result = receive_message(Commit_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'commit failed: unknown result')
        end

        def describe(creds, transaction, environment)
          send_describe(creds, transaction, environment)
          return recv_describe()
        end

        def send_describe(creds, transaction, environment)
          send_message('describe', Describe_args, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describe()
          result = receive_message(Describe_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describe failed: unknown result')
        end

        def describeTime(timestamp, creds, transaction, environment)
          send_describeTime(timestamp, creds, transaction, environment)
          return recv_describeTime()
        end

        def send_describeTime(timestamp, creds, transaction, environment)
          send_message('describeTime', DescribeTime_args, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeTime()
          result = receive_message(DescribeTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeTime failed: unknown result')
        end

        def describeTimestr(timestamp, creds, transaction, environment)
          send_describeTimestr(timestamp, creds, transaction, environment)
          return recv_describeTimestr()
        end

        def send_describeTimestr(timestamp, creds, transaction, environment)
          send_message('describeTimestr', DescribeTimestr_args, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeTimestr()
          result = receive_message(DescribeTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeTimestr failed: unknown result')
        end

        def describeRecord(record, creds, transaction, environment)
          send_describeRecord(record, creds, transaction, environment)
          return recv_describeRecord()
        end

        def send_describeRecord(record, creds, transaction, environment)
          send_message('describeRecord', DescribeRecord_args, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecord()
          result = receive_message(DescribeRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecord failed: unknown result')
        end

        def describeRecordTime(record, timestamp, creds, transaction, environment)
          send_describeRecordTime(record, timestamp, creds, transaction, environment)
          return recv_describeRecordTime()
        end

        def send_describeRecordTime(record, timestamp, creds, transaction, environment)
          send_message('describeRecordTime', DescribeRecordTime_args, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecordTime()
          result = receive_message(DescribeRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecordTime failed: unknown result')
        end

        def describeRecordTimestr(record, timestamp, creds, transaction, environment)
          send_describeRecordTimestr(record, timestamp, creds, transaction, environment)
          return recv_describeRecordTimestr()
        end

        def send_describeRecordTimestr(record, timestamp, creds, transaction, environment)
          send_message('describeRecordTimestr', DescribeRecordTimestr_args, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecordTimestr()
          result = receive_message(DescribeRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecordTimestr failed: unknown result')
        end

        def describeRecords(records, creds, transaction, environment)
          send_describeRecords(records, creds, transaction, environment)
          return recv_describeRecords()
        end

        def send_describeRecords(records, creds, transaction, environment)
          send_message('describeRecords', DescribeRecords_args, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecords()
          result = receive_message(DescribeRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecords failed: unknown result')
        end

        def describeRecordsTime(records, timestamp, creds, transaction, environment)
          send_describeRecordsTime(records, timestamp, creds, transaction, environment)
          return recv_describeRecordsTime()
        end

        def send_describeRecordsTime(records, timestamp, creds, transaction, environment)
          send_message('describeRecordsTime', DescribeRecordsTime_args, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecordsTime()
          result = receive_message(DescribeRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecordsTime failed: unknown result')
        end

        def describeRecordsTimestr(records, timestamp, creds, transaction, environment)
          send_describeRecordsTimestr(records, timestamp, creds, transaction, environment)
          return recv_describeRecordsTimestr()
        end

        def send_describeRecordsTimestr(records, timestamp, creds, transaction, environment)
          send_message('describeRecordsTimestr', DescribeRecordsTimestr_args, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_describeRecordsTimestr()
          result = receive_message(DescribeRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'describeRecordsTimestr failed: unknown result')
        end

        def diffRecordStart(record, start, creds, transaction, environment)
          send_diffRecordStart(record, start, creds, transaction, environment)
          return recv_diffRecordStart()
        end

        def send_diffRecordStart(record, start, creds, transaction, environment)
          send_message('diffRecordStart', DiffRecordStart_args, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffRecordStart()
          result = receive_message(DiffRecordStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffRecordStart failed: unknown result')
        end

        def diffRecordStartstr(record, start, creds, transaction, environment)
          send_diffRecordStartstr(record, start, creds, transaction, environment)
          return recv_diffRecordStartstr()
        end

        def send_diffRecordStartstr(record, start, creds, transaction, environment)
          send_message('diffRecordStartstr', DiffRecordStartstr_args, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffRecordStartstr()
          result = receive_message(DiffRecordStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffRecordStartstr failed: unknown result')
        end

        def diffRecordStartEnd(record, start, tend, creds, transaction, environment)
          send_diffRecordStartEnd(record, start, tend, creds, transaction, environment)
          return recv_diffRecordStartEnd()
        end

        def send_diffRecordStartEnd(record, start, tend, creds, transaction, environment)
          send_message('diffRecordStartEnd', DiffRecordStartEnd_args, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffRecordStartEnd()
          result = receive_message(DiffRecordStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffRecordStartEnd failed: unknown result')
        end

        def diffRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          send_diffRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          return recv_diffRecordStartstrEndstr()
        end

        def send_diffRecordStartstrEndstr(record, start, tend, creds, transaction, environment)
          send_message('diffRecordStartstrEndstr', DiffRecordStartstrEndstr_args, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffRecordStartstrEndstr()
          result = receive_message(DiffRecordStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffRecordStartstrEndstr failed: unknown result')
        end

        def diffKeyRecordStart(key, record, start, creds, transaction, environment)
          send_diffKeyRecordStart(key, record, start, creds, transaction, environment)
          return recv_diffKeyRecordStart()
        end

        def send_diffKeyRecordStart(key, record, start, creds, transaction, environment)
          send_message('diffKeyRecordStart', DiffKeyRecordStart_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyRecordStart()
          result = receive_message(DiffKeyRecordStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyRecordStart failed: unknown result')
        end

        def diffKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_diffKeyRecordStartstr(key, record, start, creds, transaction, environment)
          return recv_diffKeyRecordStartstr()
        end

        def send_diffKeyRecordStartstr(key, record, start, creds, transaction, environment)
          send_message('diffKeyRecordStartstr', DiffKeyRecordStartstr_args, :key => key, :record => record, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyRecordStartstr()
          result = receive_message(DiffKeyRecordStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyRecordStartstr failed: unknown result')
        end

        def diffKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_diffKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          return recv_diffKeyRecordStartEnd()
        end

        def send_diffKeyRecordStartEnd(key, record, start, tend, creds, transaction, environment)
          send_message('diffKeyRecordStartEnd', DiffKeyRecordStartEnd_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyRecordStartEnd()
          result = receive_message(DiffKeyRecordStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyRecordStartEnd failed: unknown result')
        end

        def diffKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_diffKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          return recv_diffKeyRecordStartstrEndstr()
        end

        def send_diffKeyRecordStartstrEndstr(key, record, start, tend, creds, transaction, environment)
          send_message('diffKeyRecordStartstrEndstr', DiffKeyRecordStartstrEndstr_args, :key => key, :record => record, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyRecordStartstrEndstr()
          result = receive_message(DiffKeyRecordStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyRecordStartstrEndstr failed: unknown result')
        end

        def diffKeyStart(key, start, creds, transaction, environment)
          send_diffKeyStart(key, start, creds, transaction, environment)
          return recv_diffKeyStart()
        end

        def send_diffKeyStart(key, start, creds, transaction, environment)
          send_message('diffKeyStart', DiffKeyStart_args, :key => key, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyStart()
          result = receive_message(DiffKeyStart_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyStart failed: unknown result')
        end

        def diffKeyStartstr(key, start, creds, transaction, environment)
          send_diffKeyStartstr(key, start, creds, transaction, environment)
          return recv_diffKeyStartstr()
        end

        def send_diffKeyStartstr(key, start, creds, transaction, environment)
          send_message('diffKeyStartstr', DiffKeyStartstr_args, :key => key, :start => start, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyStartstr()
          result = receive_message(DiffKeyStartstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyStartstr failed: unknown result')
        end

        def diffKeyStartEnd(key, start, tend, creds, transaction, environment)
          send_diffKeyStartEnd(key, start, tend, creds, transaction, environment)
          return recv_diffKeyStartEnd()
        end

        def send_diffKeyStartEnd(key, start, tend, creds, transaction, environment)
          send_message('diffKeyStartEnd', DiffKeyStartEnd_args, :key => key, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyStartEnd()
          result = receive_message(DiffKeyStartEnd_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyStartEnd failed: unknown result')
        end

        def diffKeyStartstrEndstr(key, start, tend, creds, transaction, environment)
          send_diffKeyStartstrEndstr(key, start, tend, creds, transaction, environment)
          return recv_diffKeyStartstrEndstr()
        end

        def send_diffKeyStartstrEndstr(key, start, tend, creds, transaction, environment)
          send_message('diffKeyStartstrEndstr', DiffKeyStartstrEndstr_args, :key => key, :start => start, :tend => tend, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_diffKeyStartstrEndstr()
          result = receive_message(DiffKeyStartstrEndstr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'diffKeyStartstrEndstr failed: unknown result')
        end

        def invokePlugin(id, method, params, creds, transaction, environment)
          send_invokePlugin(id, method, params, creds, transaction, environment)
          return recv_invokePlugin()
        end

        def send_invokePlugin(id, method, params, creds, transaction, environment)
          send_message('invokePlugin', InvokePlugin_args, :id => id, :method => method, :params => params, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_invokePlugin()
          result = receive_message(InvokePlugin_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'invokePlugin failed: unknown result')
        end

        def login(username, password, environment)
          send_login(username, password, environment)
          return recv_login()
        end

        def send_login(username, password, environment)
          send_message('login', Login_args, :username => username, :password => password, :environment => environment)
        end

        def recv_login()
          result = receive_message(Login_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'login failed: unknown result')
        end

        def logout(token, environment)
          send_logout(token, environment)
          recv_logout()
        end

        def send_logout(token, environment)
          send_message('logout', Logout_args, :token => token, :environment => environment)
        end

        def recv_logout()
          result = receive_message(Logout_result)
          raise result.ex unless result.ex.nil?
          return
        end

        def stage(token, environment)
          send_stage(token, environment)
          return recv_stage()
        end

        def send_stage(token, environment)
          send_message('stage', Stage_args, :token => token, :environment => environment)
        end

        def recv_stage()
          result = receive_message(Stage_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'stage failed: unknown result')
        end

        def insertJson(json, creds, transaction, environment)
          send_insertJson(json, creds, transaction, environment)
          return recv_insertJson()
        end

        def send_insertJson(json, creds, transaction, environment)
          send_message('insertJson', InsertJson_args, :json => json, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_insertJson()
          result = receive_message(InsertJson_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'insertJson failed: unknown result')
        end

        def insertJsonRecord(json, record, creds, transaction, environment)
          send_insertJsonRecord(json, record, creds, transaction, environment)
          return recv_insertJsonRecord()
        end

        def send_insertJsonRecord(json, record, creds, transaction, environment)
          send_message('insertJsonRecord', InsertJsonRecord_args, :json => json, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_insertJsonRecord()
          result = receive_message(InsertJsonRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'insertJsonRecord failed: unknown result')
        end

        def insertJsonRecords(json, records, creds, transaction, environment)
          send_insertJsonRecords(json, records, creds, transaction, environment)
          return recv_insertJsonRecords()
        end

        def send_insertJsonRecords(json, records, creds, transaction, environment)
          send_message('insertJsonRecords', InsertJsonRecords_args, :json => json, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_insertJsonRecords()
          result = receive_message(InsertJsonRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'insertJsonRecords failed: unknown result')
        end

        def removeKeyValueRecord(key, value, record, creds, transaction, environment)
          send_removeKeyValueRecord(key, value, record, creds, transaction, environment)
          return recv_removeKeyValueRecord()
        end

        def send_removeKeyValueRecord(key, value, record, creds, transaction, environment)
          send_message('removeKeyValueRecord', RemoveKeyValueRecord_args, :key => key, :value => value, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_removeKeyValueRecord()
          result = receive_message(RemoveKeyValueRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'removeKeyValueRecord failed: unknown result')
        end

        def removeKeyValueRecords(key, value, records, creds, transaction, environment)
          send_removeKeyValueRecords(key, value, records, creds, transaction, environment)
          return recv_removeKeyValueRecords()
        end

        def send_removeKeyValueRecords(key, value, records, creds, transaction, environment)
          send_message('removeKeyValueRecords', RemoveKeyValueRecords_args, :key => key, :value => value, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_removeKeyValueRecords()
          result = receive_message(RemoveKeyValueRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'removeKeyValueRecords failed: unknown result')
        end

        def setKeyValueRecord(key, value, record, creds, transaction, environment)
          send_setKeyValueRecord(key, value, record, creds, transaction, environment)
          recv_setKeyValueRecord()
        end

        def send_setKeyValueRecord(key, value, record, creds, transaction, environment)
          send_message('setKeyValueRecord', SetKeyValueRecord_args, :key => key, :value => value, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_setKeyValueRecord()
          result = receive_message(SetKeyValueRecord_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def setKeyValue(key, value, creds, transaction, environment)
          send_setKeyValue(key, value, creds, transaction, environment)
          return recv_setKeyValue()
        end

        def send_setKeyValue(key, value, creds, transaction, environment)
          send_message('setKeyValue', SetKeyValue_args, :key => key, :value => value, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_setKeyValue()
          result = receive_message(SetKeyValue_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'setKeyValue failed: unknown result')
        end

        def setKeyValueRecords(key, value, records, creds, transaction, environment)
          send_setKeyValueRecords(key, value, records, creds, transaction, environment)
          recv_setKeyValueRecords()
        end

        def send_setKeyValueRecords(key, value, records, creds, transaction, environment)
          send_message('setKeyValueRecords', SetKeyValueRecords_args, :key => key, :value => value, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_setKeyValueRecords()
          result = receive_message(SetKeyValueRecords_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def reconcileKeyRecordValues(key, record, values, creds, transaction, environment)
          send_reconcileKeyRecordValues(key, record, values, creds, transaction, environment)
          recv_reconcileKeyRecordValues()
        end

        def send_reconcileKeyRecordValues(key, record, values, creds, transaction, environment)
          send_message('reconcileKeyRecordValues', ReconcileKeyRecordValues_args, :key => key, :record => record, :values => values, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_reconcileKeyRecordValues()
          result = receive_message(ReconcileKeyRecordValues_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def inventory(creds, transaction, environment)
          send_inventory(creds, transaction, environment)
          return recv_inventory()
        end

        def send_inventory(creds, transaction, environment)
          send_message('inventory', Inventory_args, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_inventory()
          result = receive_message(Inventory_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'inventory failed: unknown result')
        end

        def selectRecord(record, creds, transaction, environment)
          send_selectRecord(record, creds, transaction, environment)
          return recv_selectRecord()
        end

        def send_selectRecord(record, creds, transaction, environment)
          send_message('selectRecord', SelectRecord_args, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecord()
          result = receive_message(SelectRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecord failed: unknown result')
        end

        def selectRecords(records, creds, transaction, environment)
          send_selectRecords(records, creds, transaction, environment)
          return recv_selectRecords()
        end

        def send_selectRecords(records, creds, transaction, environment)
          send_message('selectRecords', SelectRecords_args, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecords()
          result = receive_message(SelectRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecords failed: unknown result')
        end

        def selectRecordTime(record, timestamp, creds, transaction, environment)
          send_selectRecordTime(record, timestamp, creds, transaction, environment)
          return recv_selectRecordTime()
        end

        def send_selectRecordTime(record, timestamp, creds, transaction, environment)
          send_message('selectRecordTime', SelectRecordTime_args, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecordTime()
          result = receive_message(SelectRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecordTime failed: unknown result')
        end

        def selectRecordTimestr(record, timestamp, creds, transaction, environment)
          send_selectRecordTimestr(record, timestamp, creds, transaction, environment)
          return recv_selectRecordTimestr()
        end

        def send_selectRecordTimestr(record, timestamp, creds, transaction, environment)
          send_message('selectRecordTimestr', SelectRecordTimestr_args, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecordTimestr()
          result = receive_message(SelectRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecordTimestr failed: unknown result')
        end

        def selectRecordsTime(records, timestamp, creds, transaction, environment)
          send_selectRecordsTime(records, timestamp, creds, transaction, environment)
          return recv_selectRecordsTime()
        end

        def send_selectRecordsTime(records, timestamp, creds, transaction, environment)
          send_message('selectRecordsTime', SelectRecordsTime_args, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecordsTime()
          result = receive_message(SelectRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecordsTime failed: unknown result')
        end

        def selectRecordsTimestr(records, timestamp, creds, transaction, environment)
          send_selectRecordsTimestr(records, timestamp, creds, transaction, environment)
          return recv_selectRecordsTimestr()
        end

        def send_selectRecordsTimestr(records, timestamp, creds, transaction, environment)
          send_message('selectRecordsTimestr', SelectRecordsTimestr_args, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectRecordsTimestr()
          result = receive_message(SelectRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectRecordsTimestr failed: unknown result')
        end

        def selectKeyRecord(key, record, creds, transaction, environment)
          send_selectKeyRecord(key, record, creds, transaction, environment)
          return recv_selectKeyRecord()
        end

        def send_selectKeyRecord(key, record, creds, transaction, environment)
          send_message('selectKeyRecord', SelectKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecord()
          result = receive_message(SelectKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecord failed: unknown result')
        end

        def selectKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_selectKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_selectKeyRecordTime()
        end

        def send_selectKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('selectKeyRecordTime', SelectKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecordTime()
          result = receive_message(SelectKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecordTime failed: unknown result')
        end

        def selectKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_selectKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_selectKeyRecordTimestr()
        end

        def send_selectKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('selectKeyRecordTimestr', SelectKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecordTimestr()
          result = receive_message(SelectKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecordTimestr failed: unknown result')
        end

        def selectKeysRecord(keys, record, creds, transaction, environment)
          send_selectKeysRecord(keys, record, creds, transaction, environment)
          return recv_selectKeysRecord()
        end

        def send_selectKeysRecord(keys, record, creds, transaction, environment)
          send_message('selectKeysRecord', SelectKeysRecord_args, :keys => keys, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecord()
          result = receive_message(SelectKeysRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecord failed: unknown result')
        end

        def selectKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_selectKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          return recv_selectKeysRecordTime()
        end

        def send_selectKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_message('selectKeysRecordTime', SelectKeysRecordTime_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecordTime()
          result = receive_message(SelectKeysRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecordTime failed: unknown result')
        end

        def selectKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_selectKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          return recv_selectKeysRecordTimestr()
        end

        def send_selectKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_message('selectKeysRecordTimestr', SelectKeysRecordTimestr_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecordTimestr()
          result = receive_message(SelectKeysRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecordTimestr failed: unknown result')
        end

        def selectKeysRecords(keys, records, creds, transaction, environment)
          send_selectKeysRecords(keys, records, creds, transaction, environment)
          return recv_selectKeysRecords()
        end

        def send_selectKeysRecords(keys, records, creds, transaction, environment)
          send_message('selectKeysRecords', SelectKeysRecords_args, :keys => keys, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecords()
          result = receive_message(SelectKeysRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecords failed: unknown result')
        end

        def selectKeyRecords(key, records, creds, transaction, environment)
          send_selectKeyRecords(key, records, creds, transaction, environment)
          return recv_selectKeyRecords()
        end

        def send_selectKeyRecords(key, records, creds, transaction, environment)
          send_message('selectKeyRecords', SelectKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecords()
          result = receive_message(SelectKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecords failed: unknown result')
        end

        def selectKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_selectKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_selectKeyRecordsTime()
        end

        def send_selectKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('selectKeyRecordsTime', SelectKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecordsTime()
          result = receive_message(SelectKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecordsTime failed: unknown result')
        end

        def selectKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_selectKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_selectKeyRecordsTimestr()
        end

        def send_selectKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('selectKeyRecordsTimestr', SelectKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyRecordsTimestr()
          result = receive_message(SelectKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyRecordsTimestr failed: unknown result')
        end

        def selectKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_selectKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          return recv_selectKeysRecordsTime()
        end

        def send_selectKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_message('selectKeysRecordsTime', SelectKeysRecordsTime_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecordsTime()
          result = receive_message(SelectKeysRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecordsTime failed: unknown result')
        end

        def selectKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_selectKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          return recv_selectKeysRecordsTimestr()
        end

        def send_selectKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_message('selectKeysRecordsTimestr', SelectKeysRecordsTimestr_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysRecordsTimestr()
          result = receive_message(SelectKeysRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysRecordsTimestr failed: unknown result')
        end

        def selectCriteria(criteria, creds, transaction, environment)
          send_selectCriteria(criteria, creds, transaction, environment)
          return recv_selectCriteria()
        end

        def send_selectCriteria(criteria, creds, transaction, environment)
          send_message('selectCriteria', SelectCriteria_args, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCriteria()
          result = receive_message(SelectCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCriteria failed: unknown result')
        end

        def selectCcl(ccl, creds, transaction, environment)
          send_selectCcl(ccl, creds, transaction, environment)
          return recv_selectCcl()
        end

        def send_selectCcl(ccl, creds, transaction, environment)
          send_message('selectCcl', SelectCcl_args, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCcl()
          result = receive_message(SelectCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCcl failed: unknown result')
        end

        def selectCriteriaTime(criteria, timestamp, creds, transaction, environment)
          send_selectCriteriaTime(criteria, timestamp, creds, transaction, environment)
          return recv_selectCriteriaTime()
        end

        def send_selectCriteriaTime(criteria, timestamp, creds, transaction, environment)
          send_message('selectCriteriaTime', SelectCriteriaTime_args, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCriteriaTime()
          result = receive_message(SelectCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCriteriaTime failed: unknown result')
        end

        def selectCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          send_selectCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          return recv_selectCriteriaTimestr()
        end

        def send_selectCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          send_message('selectCriteriaTimestr', SelectCriteriaTimestr_args, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCriteriaTimestr()
          result = receive_message(SelectCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCriteriaTimestr failed: unknown result')
        end

        def selectCclTime(ccl, timestamp, creds, transaction, environment)
          send_selectCclTime(ccl, timestamp, creds, transaction, environment)
          return recv_selectCclTime()
        end

        def send_selectCclTime(ccl, timestamp, creds, transaction, environment)
          send_message('selectCclTime', SelectCclTime_args, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCclTime()
          result = receive_message(SelectCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCclTime failed: unknown result')
        end

        def selectCclTimestr(ccl, timestamp, creds, transaction, environment)
          send_selectCclTimestr(ccl, timestamp, creds, transaction, environment)
          return recv_selectCclTimestr()
        end

        def send_selectCclTimestr(ccl, timestamp, creds, transaction, environment)
          send_message('selectCclTimestr', SelectCclTimestr_args, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectCclTimestr()
          result = receive_message(SelectCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectCclTimestr failed: unknown result')
        end

        def selectKeyCriteria(key, criteria, creds, transaction, environment)
          send_selectKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_selectKeyCriteria()
        end

        def send_selectKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('selectKeyCriteria', SelectKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCriteria()
          result = receive_message(SelectKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCriteria failed: unknown result')
        end

        def selectKeyCcl(key, ccl, creds, transaction, environment)
          send_selectKeyCcl(key, ccl, creds, transaction, environment)
          return recv_selectKeyCcl()
        end

        def send_selectKeyCcl(key, ccl, creds, transaction, environment)
          send_message('selectKeyCcl', SelectKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCcl()
          result = receive_message(SelectKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCcl failed: unknown result')
        end

        def selectKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_selectKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_selectKeyCriteriaTime()
        end

        def send_selectKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('selectKeyCriteriaTime', SelectKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCriteriaTime()
          result = receive_message(SelectKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCriteriaTime failed: unknown result')
        end

        def selectKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_selectKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_selectKeyCriteriaTimestr()
        end

        def send_selectKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('selectKeyCriteriaTimestr', SelectKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCriteriaTimestr()
          result = receive_message(SelectKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCriteriaTimestr failed: unknown result')
        end

        def selectKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_selectKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_selectKeyCclTime()
        end

        def send_selectKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('selectKeyCclTime', SelectKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCclTime()
          result = receive_message(SelectKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCclTime failed: unknown result')
        end

        def selectKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_selectKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_selectKeyCclTimestr()
        end

        def send_selectKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('selectKeyCclTimestr', SelectKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeyCclTimestr()
          result = receive_message(SelectKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeyCclTimestr failed: unknown result')
        end

        def selectKeysCriteria(keys, criteria, creds, transaction, environment)
          send_selectKeysCriteria(keys, criteria, creds, transaction, environment)
          return recv_selectKeysCriteria()
        end

        def send_selectKeysCriteria(keys, criteria, creds, transaction, environment)
          send_message('selectKeysCriteria', SelectKeysCriteria_args, :keys => keys, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCriteria()
          result = receive_message(SelectKeysCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCriteria failed: unknown result')
        end

        def selectKeysCcl(keys, ccl, creds, transaction, environment)
          send_selectKeysCcl(keys, ccl, creds, transaction, environment)
          return recv_selectKeysCcl()
        end

        def send_selectKeysCcl(keys, ccl, creds, transaction, environment)
          send_message('selectKeysCcl', SelectKeysCcl_args, :keys => keys, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCcl()
          result = receive_message(SelectKeysCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCcl failed: unknown result')
        end

        def selectKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_selectKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          return recv_selectKeysCriteriaTime()
        end

        def send_selectKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_message('selectKeysCriteriaTime', SelectKeysCriteriaTime_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCriteriaTime()
          result = receive_message(SelectKeysCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCriteriaTime failed: unknown result')
        end

        def selectKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_selectKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          return recv_selectKeysCriteriaTimestr()
        end

        def send_selectKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_message('selectKeysCriteriaTimestr', SelectKeysCriteriaTimestr_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCriteriaTimestr()
          result = receive_message(SelectKeysCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCriteriaTimestr failed: unknown result')
        end

        def selectKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_selectKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          return recv_selectKeysCclTime()
        end

        def send_selectKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_message('selectKeysCclTime', SelectKeysCclTime_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCclTime()
          result = receive_message(SelectKeysCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCclTime failed: unknown result')
        end

        def selectKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_selectKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          return recv_selectKeysCclTimestr()
        end

        def send_selectKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_message('selectKeysCclTimestr', SelectKeysCclTimestr_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_selectKeysCclTimestr()
          result = receive_message(SelectKeysCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'selectKeysCclTimestr failed: unknown result')
        end

        def getKeyRecord(key, record, creds, transaction, environment)
          send_getKeyRecord(key, record, creds, transaction, environment)
          return recv_getKeyRecord()
        end

        def send_getKeyRecord(key, record, creds, transaction, environment)
          send_message('getKeyRecord', GetKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecord()
          result = receive_message(GetKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecord failed: unknown result')
        end

        def getKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_getKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_getKeyRecordTime()
        end

        def send_getKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('getKeyRecordTime', GetKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecordTime()
          result = receive_message(GetKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecordTime failed: unknown result')
        end

        def getKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_getKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_getKeyRecordTimestr()
        end

        def send_getKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('getKeyRecordTimestr', GetKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecordTimestr()
          result = receive_message(GetKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecordTimestr failed: unknown result')
        end

        def getKeysRecord(keys, record, creds, transaction, environment)
          send_getKeysRecord(keys, record, creds, transaction, environment)
          return recv_getKeysRecord()
        end

        def send_getKeysRecord(keys, record, creds, transaction, environment)
          send_message('getKeysRecord', GetKeysRecord_args, :keys => keys, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecord()
          result = receive_message(GetKeysRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecord failed: unknown result')
        end

        def getKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_getKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          return recv_getKeysRecordTime()
        end

        def send_getKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_message('getKeysRecordTime', GetKeysRecordTime_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecordTime()
          result = receive_message(GetKeysRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecordTime failed: unknown result')
        end

        def getKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_getKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          return recv_getKeysRecordTimestr()
        end

        def send_getKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_message('getKeysRecordTimestr', GetKeysRecordTimestr_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecordTimestr()
          result = receive_message(GetKeysRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecordTimestr failed: unknown result')
        end

        def getKeysRecords(keys, records, creds, transaction, environment)
          send_getKeysRecords(keys, records, creds, transaction, environment)
          return recv_getKeysRecords()
        end

        def send_getKeysRecords(keys, records, creds, transaction, environment)
          send_message('getKeysRecords', GetKeysRecords_args, :keys => keys, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecords()
          result = receive_message(GetKeysRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecords failed: unknown result')
        end

        def getKeyRecords(key, records, creds, transaction, environment)
          send_getKeyRecords(key, records, creds, transaction, environment)
          return recv_getKeyRecords()
        end

        def send_getKeyRecords(key, records, creds, transaction, environment)
          send_message('getKeyRecords', GetKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecords()
          result = receive_message(GetKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecords failed: unknown result')
        end

        def getKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_getKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_getKeyRecordsTime()
        end

        def send_getKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('getKeyRecordsTime', GetKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecordsTime()
          result = receive_message(GetKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecordsTime failed: unknown result')
        end

        def getKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_getKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_getKeyRecordsTimestr()
        end

        def send_getKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('getKeyRecordsTimestr', GetKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyRecordsTimestr()
          result = receive_message(GetKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyRecordsTimestr failed: unknown result')
        end

        def getKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_getKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          return recv_getKeysRecordsTime()
        end

        def send_getKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_message('getKeysRecordsTime', GetKeysRecordsTime_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecordsTime()
          result = receive_message(GetKeysRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecordsTime failed: unknown result')
        end

        def getKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_getKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          return recv_getKeysRecordsTimestr()
        end

        def send_getKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_message('getKeysRecordsTimestr', GetKeysRecordsTimestr_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysRecordsTimestr()
          result = receive_message(GetKeysRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysRecordsTimestr failed: unknown result')
        end

        def getKeyCriteria(key, criteria, creds, transaction, environment)
          send_getKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_getKeyCriteria()
        end

        def send_getKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('getKeyCriteria', GetKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCriteria()
          result = receive_message(GetKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCriteria failed: unknown result')
        end

        def getCriteria(criteria, creds, transaction, environment)
          send_getCriteria(criteria, creds, transaction, environment)
          return recv_getCriteria()
        end

        def send_getCriteria(criteria, creds, transaction, environment)
          send_message('getCriteria', GetCriteria_args, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCriteria()
          result = receive_message(GetCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCriteria failed: unknown result')
        end

        def getCcl(ccl, creds, transaction, environment)
          send_getCcl(ccl, creds, transaction, environment)
          return recv_getCcl()
        end

        def send_getCcl(ccl, creds, transaction, environment)
          send_message('getCcl', GetCcl_args, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCcl()
          result = receive_message(GetCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCcl failed: unknown result')
        end

        def getCriteriaTime(criteria, timestamp, creds, transaction, environment)
          send_getCriteriaTime(criteria, timestamp, creds, transaction, environment)
          return recv_getCriteriaTime()
        end

        def send_getCriteriaTime(criteria, timestamp, creds, transaction, environment)
          send_message('getCriteriaTime', GetCriteriaTime_args, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCriteriaTime()
          result = receive_message(GetCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCriteriaTime failed: unknown result')
        end

        def getCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          send_getCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          return recv_getCriteriaTimestr()
        end

        def send_getCriteriaTimestr(criteria, timestamp, creds, transaction, environment)
          send_message('getCriteriaTimestr', GetCriteriaTimestr_args, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCriteriaTimestr()
          result = receive_message(GetCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCriteriaTimestr failed: unknown result')
        end

        def getCclTime(ccl, timestamp, creds, transaction, environment)
          send_getCclTime(ccl, timestamp, creds, transaction, environment)
          return recv_getCclTime()
        end

        def send_getCclTime(ccl, timestamp, creds, transaction, environment)
          send_message('getCclTime', GetCclTime_args, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCclTime()
          result = receive_message(GetCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCclTime failed: unknown result')
        end

        def getCclTimestr(ccl, timestamp, creds, transaction, environment)
          send_getCclTimestr(ccl, timestamp, creds, transaction, environment)
          return recv_getCclTimestr()
        end

        def send_getCclTimestr(ccl, timestamp, creds, transaction, environment)
          send_message('getCclTimestr', GetCclTimestr_args, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getCclTimestr()
          result = receive_message(GetCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getCclTimestr failed: unknown result')
        end

        def getKeyCcl(key, ccl, creds, transaction, environment)
          send_getKeyCcl(key, ccl, creds, transaction, environment)
          return recv_getKeyCcl()
        end

        def send_getKeyCcl(key, ccl, creds, transaction, environment)
          send_message('getKeyCcl', GetKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCcl()
          result = receive_message(GetKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCcl failed: unknown result')
        end

        def getKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_getKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_getKeyCriteriaTime()
        end

        def send_getKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('getKeyCriteriaTime', GetKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCriteriaTime()
          result = receive_message(GetKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCriteriaTime failed: unknown result')
        end

        def getKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_getKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_getKeyCriteriaTimestr()
        end

        def send_getKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('getKeyCriteriaTimestr', GetKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCriteriaTimestr()
          result = receive_message(GetKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCriteriaTimestr failed: unknown result')
        end

        def getKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_getKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_getKeyCclTime()
        end

        def send_getKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('getKeyCclTime', GetKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCclTime()
          result = receive_message(GetKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCclTime failed: unknown result')
        end

        def getKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_getKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_getKeyCclTimestr()
        end

        def send_getKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('getKeyCclTimestr', GetKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeyCclTimestr()
          result = receive_message(GetKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeyCclTimestr failed: unknown result')
        end

        def getKeysCriteria(keys, criteria, creds, transaction, environment)
          send_getKeysCriteria(keys, criteria, creds, transaction, environment)
          return recv_getKeysCriteria()
        end

        def send_getKeysCriteria(keys, criteria, creds, transaction, environment)
          send_message('getKeysCriteria', GetKeysCriteria_args, :keys => keys, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCriteria()
          result = receive_message(GetKeysCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCriteria failed: unknown result')
        end

        def getKeysCcl(keys, ccl, creds, transaction, environment)
          send_getKeysCcl(keys, ccl, creds, transaction, environment)
          return recv_getKeysCcl()
        end

        def send_getKeysCcl(keys, ccl, creds, transaction, environment)
          send_message('getKeysCcl', GetKeysCcl_args, :keys => keys, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCcl()
          result = receive_message(GetKeysCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCcl failed: unknown result')
        end

        def getKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_getKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          return recv_getKeysCriteriaTime()
        end

        def send_getKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_message('getKeysCriteriaTime', GetKeysCriteriaTime_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCriteriaTime()
          result = receive_message(GetKeysCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCriteriaTime failed: unknown result')
        end

        def getKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_getKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          return recv_getKeysCriteriaTimestr()
        end

        def send_getKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_message('getKeysCriteriaTimestr', GetKeysCriteriaTimestr_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCriteriaTimestr()
          result = receive_message(GetKeysCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCriteriaTimestr failed: unknown result')
        end

        def getKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_getKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          return recv_getKeysCclTime()
        end

        def send_getKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_message('getKeysCclTime', GetKeysCclTime_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCclTime()
          result = receive_message(GetKeysCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCclTime failed: unknown result')
        end

        def getKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_getKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          return recv_getKeysCclTimestr()
        end

        def send_getKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_message('getKeysCclTimestr', GetKeysCclTimestr_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_getKeysCclTimestr()
          result = receive_message(GetKeysCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getKeysCclTimestr failed: unknown result')
        end

        def verifyKeyValueRecord(key, value, record, creds, transaction, environment)
          send_verifyKeyValueRecord(key, value, record, creds, transaction, environment)
          return recv_verifyKeyValueRecord()
        end

        def send_verifyKeyValueRecord(key, value, record, creds, transaction, environment)
          send_message('verifyKeyValueRecord', VerifyKeyValueRecord_args, :key => key, :value => value, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_verifyKeyValueRecord()
          result = receive_message(VerifyKeyValueRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'verifyKeyValueRecord failed: unknown result')
        end

        def verifyKeyValueRecordTime(key, value, record, timestamp, creds, transaction, environment)
          send_verifyKeyValueRecordTime(key, value, record, timestamp, creds, transaction, environment)
          return recv_verifyKeyValueRecordTime()
        end

        def send_verifyKeyValueRecordTime(key, value, record, timestamp, creds, transaction, environment)
          send_message('verifyKeyValueRecordTime', VerifyKeyValueRecordTime_args, :key => key, :value => value, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_verifyKeyValueRecordTime()
          result = receive_message(VerifyKeyValueRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'verifyKeyValueRecordTime failed: unknown result')
        end

        def verifyKeyValueRecordTimestr(key, value, record, timestamp, creds, transaction, environment)
          send_verifyKeyValueRecordTimestr(key, value, record, timestamp, creds, transaction, environment)
          return recv_verifyKeyValueRecordTimestr()
        end

        def send_verifyKeyValueRecordTimestr(key, value, record, timestamp, creds, transaction, environment)
          send_message('verifyKeyValueRecordTimestr', VerifyKeyValueRecordTimestr_args, :key => key, :value => value, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_verifyKeyValueRecordTimestr()
          result = receive_message(VerifyKeyValueRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'verifyKeyValueRecordTimestr failed: unknown result')
        end

        def jsonifyRecords(records, identifier, creds, transaction, environment)
          send_jsonifyRecords(records, identifier, creds, transaction, environment)
          return recv_jsonifyRecords()
        end

        def send_jsonifyRecords(records, identifier, creds, transaction, environment)
          send_message('jsonifyRecords', JsonifyRecords_args, :records => records, :identifier => identifier, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_jsonifyRecords()
          result = receive_message(JsonifyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'jsonifyRecords failed: unknown result')
        end

        def jsonifyRecordsTime(records, timestamp, identifier, creds, transaction, environment)
          send_jsonifyRecordsTime(records, timestamp, identifier, creds, transaction, environment)
          return recv_jsonifyRecordsTime()
        end

        def send_jsonifyRecordsTime(records, timestamp, identifier, creds, transaction, environment)
          send_message('jsonifyRecordsTime', JsonifyRecordsTime_args, :records => records, :timestamp => timestamp, :identifier => identifier, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_jsonifyRecordsTime()
          result = receive_message(JsonifyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'jsonifyRecordsTime failed: unknown result')
        end

        def jsonifyRecordsTimestr(records, timestamp, identifier, creds, transaction, environment)
          send_jsonifyRecordsTimestr(records, timestamp, identifier, creds, transaction, environment)
          return recv_jsonifyRecordsTimestr()
        end

        def send_jsonifyRecordsTimestr(records, timestamp, identifier, creds, transaction, environment)
          send_message('jsonifyRecordsTimestr', JsonifyRecordsTimestr_args, :records => records, :timestamp => timestamp, :identifier => identifier, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_jsonifyRecordsTimestr()
          result = receive_message(JsonifyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'jsonifyRecordsTimestr failed: unknown result')
        end

        def findCriteria(criteria, creds, transaction, environment)
          send_findCriteria(criteria, creds, transaction, environment)
          return recv_findCriteria()
        end

        def send_findCriteria(criteria, creds, transaction, environment)
          send_message('findCriteria', FindCriteria_args, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findCriteria()
          result = receive_message(FindCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findCriteria failed: unknown result')
        end

        def findCcl(ccl, creds, transaction, environment)
          send_findCcl(ccl, creds, transaction, environment)
          return recv_findCcl()
        end

        def send_findCcl(ccl, creds, transaction, environment)
          send_message('findCcl', FindCcl_args, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findCcl()
          result = receive_message(FindCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findCcl failed: unknown result')
        end

        def findKeyOperatorValues(key, operator, values, creds, transaction, environment)
          send_findKeyOperatorValues(key, operator, values, creds, transaction, environment)
          return recv_findKeyOperatorValues()
        end

        def send_findKeyOperatorValues(key, operator, values, creds, transaction, environment)
          send_message('findKeyOperatorValues', FindKeyOperatorValues_args, :key => key, :operator => operator, :values => values, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorValues()
          result = receive_message(FindKeyOperatorValues_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorValues failed: unknown result')
        end

        def findKeyOperatorValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          send_findKeyOperatorValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          return recv_findKeyOperatorValuesTime()
        end

        def send_findKeyOperatorValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          send_message('findKeyOperatorValuesTime', FindKeyOperatorValuesTime_args, :key => key, :operator => operator, :values => values, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorValuesTime()
          result = receive_message(FindKeyOperatorValuesTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorValuesTime failed: unknown result')
        end

        def findKeyOperatorValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          send_findKeyOperatorValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          return recv_findKeyOperatorValuesTimestr()
        end

        def send_findKeyOperatorValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          send_message('findKeyOperatorValuesTimestr', FindKeyOperatorValuesTimestr_args, :key => key, :operator => operator, :values => values, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorValuesTimestr()
          result = receive_message(FindKeyOperatorValuesTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorValuesTimestr failed: unknown result')
        end

        def findKeyOperatorstrValues(key, operator, values, creds, transaction, environment)
          send_findKeyOperatorstrValues(key, operator, values, creds, transaction, environment)
          return recv_findKeyOperatorstrValues()
        end

        def send_findKeyOperatorstrValues(key, operator, values, creds, transaction, environment)
          send_message('findKeyOperatorstrValues', FindKeyOperatorstrValues_args, :key => key, :operator => operator, :values => values, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorstrValues()
          result = receive_message(FindKeyOperatorstrValues_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorstrValues failed: unknown result')
        end

        def findKeyOperatorstrValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          send_findKeyOperatorstrValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          return recv_findKeyOperatorstrValuesTime()
        end

        def send_findKeyOperatorstrValuesTime(key, operator, values, timestamp, creds, transaction, environment)
          send_message('findKeyOperatorstrValuesTime', FindKeyOperatorstrValuesTime_args, :key => key, :operator => operator, :values => values, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorstrValuesTime()
          result = receive_message(FindKeyOperatorstrValuesTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorstrValuesTime failed: unknown result')
        end

        def findKeyOperatorstrValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          send_findKeyOperatorstrValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          return recv_findKeyOperatorstrValuesTimestr()
        end

        def send_findKeyOperatorstrValuesTimestr(key, operator, values, timestamp, creds, transaction, environment)
          send_message('findKeyOperatorstrValuesTimestr', FindKeyOperatorstrValuesTimestr_args, :key => key, :operator => operator, :values => values, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findKeyOperatorstrValuesTimestr()
          result = receive_message(FindKeyOperatorstrValuesTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findKeyOperatorstrValuesTimestr failed: unknown result')
        end

        def search(key, query, creds, transaction, environment)
          send_search(key, query, creds, transaction, environment)
          return recv_search()
        end

        def send_search(key, query, creds, transaction, environment)
          send_message('search', Search_args, :key => key, :query => query, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_search()
          result = receive_message(Search_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'search failed: unknown result')
        end

        def revertKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_revertKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          recv_revertKeysRecordsTime()
        end

        def send_revertKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_message('revertKeysRecordsTime', RevertKeysRecordsTime_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeysRecordsTime()
          result = receive_message(RevertKeysRecordsTime_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def revertKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_revertKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          recv_revertKeysRecordsTimestr()
        end

        def send_revertKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_message('revertKeysRecordsTimestr', RevertKeysRecordsTimestr_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeysRecordsTimestr()
          result = receive_message(RevertKeysRecordsTimestr_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def revertKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_revertKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          recv_revertKeysRecordTime()
        end

        def send_revertKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_message('revertKeysRecordTime', RevertKeysRecordTime_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeysRecordTime()
          result = receive_message(RevertKeysRecordTime_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def revertKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_revertKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          recv_revertKeysRecordTimestr()
        end

        def send_revertKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_message('revertKeysRecordTimestr', RevertKeysRecordTimestr_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeysRecordTimestr()
          result = receive_message(RevertKeysRecordTimestr_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def revertKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_revertKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          recv_revertKeyRecordsTime()
        end

        def send_revertKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('revertKeyRecordsTime', RevertKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeyRecordsTime()
          result = receive_message(RevertKeyRecordsTime_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def revertKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_revertKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          recv_revertKeyRecordsTimestr()
        end

        def send_revertKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('revertKeyRecordsTimestr', RevertKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeyRecordsTimestr()
          result = receive_message(RevertKeyRecordsTimestr_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def revertKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_revertKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          recv_revertKeyRecordTime()
        end

        def send_revertKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('revertKeyRecordTime', RevertKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeyRecordTime()
          result = receive_message(RevertKeyRecordTime_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          return
        end

        def revertKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_revertKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          recv_revertKeyRecordTimestr()
        end

        def send_revertKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('revertKeyRecordTimestr', RevertKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_revertKeyRecordTimestr()
          result = receive_message(RevertKeyRecordTimestr_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def pingRecords(records, creds, transaction, environment)
          send_pingRecords(records, creds, transaction, environment)
          return recv_pingRecords()
        end

        def send_pingRecords(records, creds, transaction, environment)
          send_message('pingRecords', PingRecords_args, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_pingRecords()
          result = receive_message(PingRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'pingRecords failed: unknown result')
        end

        def pingRecord(record, creds, transaction, environment)
          send_pingRecord(record, creds, transaction, environment)
          return recv_pingRecord()
        end

        def send_pingRecord(record, creds, transaction, environment)
          send_message('pingRecord', PingRecord_args, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_pingRecord()
          result = receive_message(PingRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'pingRecord failed: unknown result')
        end

        def verifyAndSwap(key, expected, record, replacement, creds, transaction, environment)
          send_verifyAndSwap(key, expected, record, replacement, creds, transaction, environment)
          return recv_verifyAndSwap()
        end

        def send_verifyAndSwap(key, expected, record, replacement, creds, transaction, environment)
          send_message('verifyAndSwap', VerifyAndSwap_args, :key => key, :expected => expected, :record => record, :replacement => replacement, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_verifyAndSwap()
          result = receive_message(VerifyAndSwap_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'verifyAndSwap failed: unknown result')
        end

        def verifyOrSet(key, value, record, creds, transaction, environment)
          send_verifyOrSet(key, value, record, creds, transaction, environment)
          recv_verifyOrSet()
        end

        def send_verifyOrSet(key, value, record, creds, transaction, environment)
          send_message('verifyOrSet', VerifyOrSet_args, :key => key, :value => value, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_verifyOrSet()
          result = receive_message(VerifyOrSet_result)
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          return
        end

        def findOrAddKeyValue(key, value, creds, transaction, environment)
          send_findOrAddKeyValue(key, value, creds, transaction, environment)
          return recv_findOrAddKeyValue()
        end

        def send_findOrAddKeyValue(key, value, creds, transaction, environment)
          send_message('findOrAddKeyValue', FindOrAddKeyValue_args, :key => key, :value => value, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findOrAddKeyValue()
          result = receive_message(FindOrAddKeyValue_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise result.ex4 unless result.ex4.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findOrAddKeyValue failed: unknown result')
        end

        def findOrInsertCriteriaJson(criteria, json, creds, transaction, environment)
          send_findOrInsertCriteriaJson(criteria, json, creds, transaction, environment)
          return recv_findOrInsertCriteriaJson()
        end

        def send_findOrInsertCriteriaJson(criteria, json, creds, transaction, environment)
          send_message('findOrInsertCriteriaJson', FindOrInsertCriteriaJson_args, :criteria => criteria, :json => json, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findOrInsertCriteriaJson()
          result = receive_message(FindOrInsertCriteriaJson_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findOrInsertCriteriaJson failed: unknown result')
        end

        def findOrInsertCclJson(ccl, json, creds, transaction, environment)
          send_findOrInsertCclJson(ccl, json, creds, transaction, environment)
          return recv_findOrInsertCclJson()
        end

        def send_findOrInsertCclJson(ccl, json, creds, transaction, environment)
          send_message('findOrInsertCclJson', FindOrInsertCclJson_args, :ccl => ccl, :json => json, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_findOrInsertCclJson()
          result = receive_message(FindOrInsertCclJson_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise result.ex4 unless result.ex4.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findOrInsertCclJson failed: unknown result')
        end

        def sumKeyRecord(key, record, creds, transaction, environment)
          send_sumKeyRecord(key, record, creds, transaction, environment)
          return recv_sumKeyRecord()
        end

        def send_sumKeyRecord(key, record, creds, transaction, environment)
          send_message('sumKeyRecord', SumKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecord()
          result = receive_message(SumKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecord failed: unknown result')
        end

        def sumKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_sumKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_sumKeyRecordTime()
        end

        def send_sumKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('sumKeyRecordTime', SumKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecordTime()
          result = receive_message(SumKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecordTime failed: unknown result')
        end

        def sumKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_sumKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_sumKeyRecordTimestr()
        end

        def send_sumKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('sumKeyRecordTimestr', SumKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecordTimestr()
          result = receive_message(SumKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecordTimestr failed: unknown result')
        end

        def sumKeyRecords(key, records, creds, transaction, environment)
          send_sumKeyRecords(key, records, creds, transaction, environment)
          return recv_sumKeyRecords()
        end

        def send_sumKeyRecords(key, records, creds, transaction, environment)
          send_message('sumKeyRecords', SumKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecords()
          result = receive_message(SumKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecords failed: unknown result')
        end

        def sumKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_sumKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_sumKeyRecordsTime()
        end

        def send_sumKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('sumKeyRecordsTime', SumKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecordsTime()
          result = receive_message(SumKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecordsTime failed: unknown result')
        end

        def sumKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_sumKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_sumKeyRecordsTimestr()
        end

        def send_sumKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('sumKeyRecordsTimestr', SumKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyRecordsTimestr()
          result = receive_message(SumKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyRecordsTimestr failed: unknown result')
        end

        def sumKey(key, creds, transaction, environment)
          send_sumKey(key, creds, transaction, environment)
          return recv_sumKey()
        end

        def send_sumKey(key, creds, transaction, environment)
          send_message('sumKey', SumKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKey()
          result = receive_message(SumKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKey failed: unknown result')
        end

        def sumKeyTime(key, timestamp, creds, transaction, environment)
          send_sumKeyTime(key, timestamp, creds, transaction, environment)
          return recv_sumKeyTime()
        end

        def send_sumKeyTime(key, timestamp, creds, transaction, environment)
          send_message('sumKeyTime', SumKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyTime()
          result = receive_message(SumKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyTime failed: unknown result')
        end

        def sumKeyTimestr(key, timestamp, creds, transaction, environment)
          send_sumKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_sumKeyTimestr()
        end

        def send_sumKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('sumKeyTimestr', SumKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyTimestr()
          result = receive_message(SumKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyTimestr failed: unknown result')
        end

        def sumKeyCriteria(key, criteria, creds, transaction, environment)
          send_sumKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_sumKeyCriteria()
        end

        def send_sumKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('sumKeyCriteria', SumKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCriteria()
          result = receive_message(SumKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCriteria failed: unknown result')
        end

        def sumKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_sumKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_sumKeyCriteriaTime()
        end

        def send_sumKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('sumKeyCriteriaTime', SumKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCriteriaTime()
          result = receive_message(SumKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCriteriaTime failed: unknown result')
        end

        def sumKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_sumKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_sumKeyCriteriaTimestr()
        end

        def send_sumKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('sumKeyCriteriaTimestr', SumKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCriteriaTimestr()
          result = receive_message(SumKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCriteriaTimestr failed: unknown result')
        end

        def sumKeyCcl(key, ccl, creds, transaction, environment)
          send_sumKeyCcl(key, ccl, creds, transaction, environment)
          return recv_sumKeyCcl()
        end

        def send_sumKeyCcl(key, ccl, creds, transaction, environment)
          send_message('sumKeyCcl', SumKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCcl()
          result = receive_message(SumKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCcl failed: unknown result')
        end

        def sumKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_sumKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_sumKeyCclTime()
        end

        def send_sumKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('sumKeyCclTime', SumKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCclTime()
          result = receive_message(SumKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCclTime failed: unknown result')
        end

        def sumKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_sumKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_sumKeyCclTimestr()
        end

        def send_sumKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('sumKeyCclTimestr', SumKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_sumKeyCclTimestr()
          result = receive_message(SumKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sumKeyCclTimestr failed: unknown result')
        end

        def averageKeyRecord(key, record, creds, transaction, environment)
          send_averageKeyRecord(key, record, creds, transaction, environment)
          return recv_averageKeyRecord()
        end

        def send_averageKeyRecord(key, record, creds, transaction, environment)
          send_message('averageKeyRecord', AverageKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecord()
          result = receive_message(AverageKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecord failed: unknown result')
        end

        def averageKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_averageKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_averageKeyRecordTime()
        end

        def send_averageKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('averageKeyRecordTime', AverageKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecordTime()
          result = receive_message(AverageKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecordTime failed: unknown result')
        end

        def averageKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_averageKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_averageKeyRecordTimestr()
        end

        def send_averageKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('averageKeyRecordTimestr', AverageKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecordTimestr()
          result = receive_message(AverageKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecordTimestr failed: unknown result')
        end

        def averageKeyRecords(key, records, creds, transaction, environment)
          send_averageKeyRecords(key, records, creds, transaction, environment)
          return recv_averageKeyRecords()
        end

        def send_averageKeyRecords(key, records, creds, transaction, environment)
          send_message('averageKeyRecords', AverageKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecords()
          result = receive_message(AverageKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecords failed: unknown result')
        end

        def averageKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_averageKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_averageKeyRecordsTime()
        end

        def send_averageKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('averageKeyRecordsTime', AverageKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecordsTime()
          result = receive_message(AverageKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecordsTime failed: unknown result')
        end

        def averageKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_averageKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_averageKeyRecordsTimestr()
        end

        def send_averageKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('averageKeyRecordsTimestr', AverageKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyRecordsTimestr()
          result = receive_message(AverageKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyRecordsTimestr failed: unknown result')
        end

        def averageKey(key, creds, transaction, environment)
          send_averageKey(key, creds, transaction, environment)
          return recv_averageKey()
        end

        def send_averageKey(key, creds, transaction, environment)
          send_message('averageKey', AverageKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKey()
          result = receive_message(AverageKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKey failed: unknown result')
        end

        def averageKeyTime(key, timestamp, creds, transaction, environment)
          send_averageKeyTime(key, timestamp, creds, transaction, environment)
          return recv_averageKeyTime()
        end

        def send_averageKeyTime(key, timestamp, creds, transaction, environment)
          send_message('averageKeyTime', AverageKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyTime()
          result = receive_message(AverageKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyTime failed: unknown result')
        end

        def averageKeyTimestr(key, timestamp, creds, transaction, environment)
          send_averageKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_averageKeyTimestr()
        end

        def send_averageKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('averageKeyTimestr', AverageKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyTimestr()
          result = receive_message(AverageKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyTimestr failed: unknown result')
        end

        def averageKeyCriteria(key, criteria, creds, transaction, environment)
          send_averageKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_averageKeyCriteria()
        end

        def send_averageKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('averageKeyCriteria', AverageKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCriteria()
          result = receive_message(AverageKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCriteria failed: unknown result')
        end

        def averageKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_averageKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_averageKeyCriteriaTime()
        end

        def send_averageKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('averageKeyCriteriaTime', AverageKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCriteriaTime()
          result = receive_message(AverageKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCriteriaTime failed: unknown result')
        end

        def averageKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_averageKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_averageKeyCriteriaTimestr()
        end

        def send_averageKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('averageKeyCriteriaTimestr', AverageKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCriteriaTimestr()
          result = receive_message(AverageKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCriteriaTimestr failed: unknown result')
        end

        def averageKeyCcl(key, ccl, creds, transaction, environment)
          send_averageKeyCcl(key, ccl, creds, transaction, environment)
          return recv_averageKeyCcl()
        end

        def send_averageKeyCcl(key, ccl, creds, transaction, environment)
          send_message('averageKeyCcl', AverageKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCcl()
          result = receive_message(AverageKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCcl failed: unknown result')
        end

        def averageKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_averageKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_averageKeyCclTime()
        end

        def send_averageKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('averageKeyCclTime', AverageKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCclTime()
          result = receive_message(AverageKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCclTime failed: unknown result')
        end

        def averageKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_averageKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_averageKeyCclTimestr()
        end

        def send_averageKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('averageKeyCclTimestr', AverageKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_averageKeyCclTimestr()
          result = receive_message(AverageKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'averageKeyCclTimestr failed: unknown result')
        end

        def countKeyRecord(key, record, creds, transaction, environment)
          send_countKeyRecord(key, record, creds, transaction, environment)
          return recv_countKeyRecord()
        end

        def send_countKeyRecord(key, record, creds, transaction, environment)
          send_message('countKeyRecord', CountKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecord()
          result = receive_message(CountKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecord failed: unknown result')
        end

        def countKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_countKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_countKeyRecordTime()
        end

        def send_countKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('countKeyRecordTime', CountKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecordTime()
          result = receive_message(CountKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecordTime failed: unknown result')
        end

        def countKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_countKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_countKeyRecordTimestr()
        end

        def send_countKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('countKeyRecordTimestr', CountKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecordTimestr()
          result = receive_message(CountKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecordTimestr failed: unknown result')
        end

        def countKeyRecords(key, records, creds, transaction, environment)
          send_countKeyRecords(key, records, creds, transaction, environment)
          return recv_countKeyRecords()
        end

        def send_countKeyRecords(key, records, creds, transaction, environment)
          send_message('countKeyRecords', CountKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecords()
          result = receive_message(CountKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecords failed: unknown result')
        end

        def countKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_countKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_countKeyRecordsTime()
        end

        def send_countKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('countKeyRecordsTime', CountKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecordsTime()
          result = receive_message(CountKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecordsTime failed: unknown result')
        end

        def countKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_countKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_countKeyRecordsTimestr()
        end

        def send_countKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('countKeyRecordsTimestr', CountKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyRecordsTimestr()
          result = receive_message(CountKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyRecordsTimestr failed: unknown result')
        end

        def countKey(key, creds, transaction, environment)
          send_countKey(key, creds, transaction, environment)
          return recv_countKey()
        end

        def send_countKey(key, creds, transaction, environment)
          send_message('countKey', CountKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKey()
          result = receive_message(CountKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKey failed: unknown result')
        end

        def countKeyTime(key, timestamp, creds, transaction, environment)
          send_countKeyTime(key, timestamp, creds, transaction, environment)
          return recv_countKeyTime()
        end

        def send_countKeyTime(key, timestamp, creds, transaction, environment)
          send_message('countKeyTime', CountKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyTime()
          result = receive_message(CountKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyTime failed: unknown result')
        end

        def countKeyTimestr(key, timestamp, creds, transaction, environment)
          send_countKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_countKeyTimestr()
        end

        def send_countKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('countKeyTimestr', CountKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyTimestr()
          result = receive_message(CountKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyTimestr failed: unknown result')
        end

        def countKeyCriteria(key, criteria, creds, transaction, environment)
          send_countKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_countKeyCriteria()
        end

        def send_countKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('countKeyCriteria', CountKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCriteria()
          result = receive_message(CountKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCriteria failed: unknown result')
        end

        def countKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_countKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_countKeyCriteriaTime()
        end

        def send_countKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('countKeyCriteriaTime', CountKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCriteriaTime()
          result = receive_message(CountKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCriteriaTime failed: unknown result')
        end

        def countKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_countKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_countKeyCriteriaTimestr()
        end

        def send_countKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('countKeyCriteriaTimestr', CountKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCriteriaTimestr()
          result = receive_message(CountKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCriteriaTimestr failed: unknown result')
        end

        def countKeyCcl(key, ccl, creds, transaction, environment)
          send_countKeyCcl(key, ccl, creds, transaction, environment)
          return recv_countKeyCcl()
        end

        def send_countKeyCcl(key, ccl, creds, transaction, environment)
          send_message('countKeyCcl', CountKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCcl()
          result = receive_message(CountKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCcl failed: unknown result')
        end

        def countKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_countKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_countKeyCclTime()
        end

        def send_countKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('countKeyCclTime', CountKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCclTime()
          result = receive_message(CountKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCclTime failed: unknown result')
        end

        def countKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_countKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_countKeyCclTimestr()
        end

        def send_countKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('countKeyCclTimestr', CountKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_countKeyCclTimestr()
          result = receive_message(CountKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'countKeyCclTimestr failed: unknown result')
        end

        def maxKeyRecord(key, record, creds, transaction, environment)
          send_maxKeyRecord(key, record, creds, transaction, environment)
          return recv_maxKeyRecord()
        end

        def send_maxKeyRecord(key, record, creds, transaction, environment)
          send_message('maxKeyRecord', MaxKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecord()
          result = receive_message(MaxKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecord failed: unknown result')
        end

        def maxKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_maxKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_maxKeyRecordTime()
        end

        def send_maxKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('maxKeyRecordTime', MaxKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecordTime()
          result = receive_message(MaxKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecordTime failed: unknown result')
        end

        def maxKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_maxKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_maxKeyRecordTimestr()
        end

        def send_maxKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('maxKeyRecordTimestr', MaxKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecordTimestr()
          result = receive_message(MaxKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecordTimestr failed: unknown result')
        end

        def maxKeyRecords(key, records, creds, transaction, environment)
          send_maxKeyRecords(key, records, creds, transaction, environment)
          return recv_maxKeyRecords()
        end

        def send_maxKeyRecords(key, records, creds, transaction, environment)
          send_message('maxKeyRecords', MaxKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecords()
          result = receive_message(MaxKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecords failed: unknown result')
        end

        def maxKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_maxKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_maxKeyRecordsTime()
        end

        def send_maxKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('maxKeyRecordsTime', MaxKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecordsTime()
          result = receive_message(MaxKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecordsTime failed: unknown result')
        end

        def maxKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_maxKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_maxKeyRecordsTimestr()
        end

        def send_maxKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('maxKeyRecordsTimestr', MaxKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyRecordsTimestr()
          result = receive_message(MaxKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyRecordsTimestr failed: unknown result')
        end

        def maxKeyCriteria(key, criteria, creds, transaction, environment)
          send_maxKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_maxKeyCriteria()
        end

        def send_maxKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('maxKeyCriteria', MaxKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCriteria()
          result = receive_message(MaxKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCriteria failed: unknown result')
        end

        def maxKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_maxKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_maxKeyCriteriaTime()
        end

        def send_maxKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('maxKeyCriteriaTime', MaxKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCriteriaTime()
          result = receive_message(MaxKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCriteriaTime failed: unknown result')
        end

        def maxKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_maxKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_maxKeyCriteriaTimestr()
        end

        def send_maxKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('maxKeyCriteriaTimestr', MaxKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCriteriaTimestr()
          result = receive_message(MaxKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCriteriaTimestr failed: unknown result')
        end

        def maxKeyCcl(key, ccl, creds, transaction, environment)
          send_maxKeyCcl(key, ccl, creds, transaction, environment)
          return recv_maxKeyCcl()
        end

        def send_maxKeyCcl(key, ccl, creds, transaction, environment)
          send_message('maxKeyCcl', MaxKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCcl()
          result = receive_message(MaxKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCcl failed: unknown result')
        end

        def maxKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_maxKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_maxKeyCclTime()
        end

        def send_maxKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('maxKeyCclTime', MaxKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCclTime()
          result = receive_message(MaxKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCclTime failed: unknown result')
        end

        def maxKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_maxKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_maxKeyCclTimestr()
        end

        def send_maxKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('maxKeyCclTimestr', MaxKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyCclTimestr()
          result = receive_message(MaxKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyCclTimestr failed: unknown result')
        end

        def maxKey(key, creds, transaction, environment)
          send_maxKey(key, creds, transaction, environment)
          return recv_maxKey()
        end

        def send_maxKey(key, creds, transaction, environment)
          send_message('maxKey', MaxKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKey()
          result = receive_message(MaxKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKey failed: unknown result')
        end

        def maxKeyTime(key, timestamp, creds, transaction, environment)
          send_maxKeyTime(key, timestamp, creds, transaction, environment)
          return recv_maxKeyTime()
        end

        def send_maxKeyTime(key, timestamp, creds, transaction, environment)
          send_message('maxKeyTime', MaxKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyTime()
          result = receive_message(MaxKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyTime failed: unknown result')
        end

        def maxKeyTimestr(key, timestamp, creds, transaction, environment)
          send_maxKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_maxKeyTimestr()
        end

        def send_maxKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('maxKeyTimestr', MaxKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_maxKeyTimestr()
          result = receive_message(MaxKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'maxKeyTimestr failed: unknown result')
        end

        def minKeyRecord(key, record, creds, transaction, environment)
          send_minKeyRecord(key, record, creds, transaction, environment)
          return recv_minKeyRecord()
        end

        def send_minKeyRecord(key, record, creds, transaction, environment)
          send_message('minKeyRecord', MinKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecord()
          result = receive_message(MinKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecord failed: unknown result')
        end

        def minKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_minKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_minKeyRecordTime()
        end

        def send_minKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('minKeyRecordTime', MinKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecordTime()
          result = receive_message(MinKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecordTime failed: unknown result')
        end

        def minKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_minKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_minKeyRecordTimestr()
        end

        def send_minKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('minKeyRecordTimestr', MinKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecordTimestr()
          result = receive_message(MinKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecordTimestr failed: unknown result')
        end

        def minKey(key, creds, transaction, environment)
          send_minKey(key, creds, transaction, environment)
          return recv_minKey()
        end

        def send_minKey(key, creds, transaction, environment)
          send_message('minKey', MinKey_args, :key => key, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKey()
          result = receive_message(MinKey_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKey failed: unknown result')
        end

        def minKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_minKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_minKeyRecordsTime()
        end

        def send_minKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('minKeyRecordsTime', MinKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecordsTime()
          result = receive_message(MinKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecordsTime failed: unknown result')
        end

        def minKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_minKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_minKeyRecordsTimestr()
        end

        def send_minKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('minKeyRecordsTimestr', MinKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecordsTimestr()
          result = receive_message(MinKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecordsTimestr failed: unknown result')
        end

        def minKeyCriteria(key, criteria, creds, transaction, environment)
          send_minKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_minKeyCriteria()
        end

        def send_minKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('minKeyCriteria', MinKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCriteria()
          result = receive_message(MinKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCriteria failed: unknown result')
        end

        def minKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_minKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_minKeyCriteriaTime()
        end

        def send_minKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('minKeyCriteriaTime', MinKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCriteriaTime()
          result = receive_message(MinKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCriteriaTime failed: unknown result')
        end

        def minKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_minKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_minKeyCriteriaTimestr()
        end

        def send_minKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('minKeyCriteriaTimestr', MinKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCriteriaTimestr()
          result = receive_message(MinKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCriteriaTimestr failed: unknown result')
        end

        def minKeyCcl(key, ccl, creds, transaction, environment)
          send_minKeyCcl(key, ccl, creds, transaction, environment)
          return recv_minKeyCcl()
        end

        def send_minKeyCcl(key, ccl, creds, transaction, environment)
          send_message('minKeyCcl', MinKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCcl()
          result = receive_message(MinKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCcl failed: unknown result')
        end

        def minKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_minKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_minKeyCclTime()
        end

        def send_minKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('minKeyCclTime', MinKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCclTime()
          result = receive_message(MinKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCclTime failed: unknown result')
        end

        def minKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_minKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_minKeyCclTimestr()
        end

        def send_minKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('minKeyCclTimestr', MinKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyCclTimestr()
          result = receive_message(MinKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyCclTimestr failed: unknown result')
        end

        def minKeyTime(key, timestamp, creds, transaction, environment)
          send_minKeyTime(key, timestamp, creds, transaction, environment)
          return recv_minKeyTime()
        end

        def send_minKeyTime(key, timestamp, creds, transaction, environment)
          send_message('minKeyTime', MinKeyTime_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyTime()
          result = receive_message(MinKeyTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyTime failed: unknown result')
        end

        def minKeyTimestr(key, timestamp, creds, transaction, environment)
          send_minKeyTimestr(key, timestamp, creds, transaction, environment)
          return recv_minKeyTimestr()
        end

        def send_minKeyTimestr(key, timestamp, creds, transaction, environment)
          send_message('minKeyTimestr', MinKeyTimestr_args, :key => key, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyTimestr()
          result = receive_message(MinKeyTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyTimestr failed: unknown result')
        end

        def minKeyRecords(key, records, creds, transaction, environment)
          send_minKeyRecords(key, records, creds, transaction, environment)
          return recv_minKeyRecords()
        end

        def send_minKeyRecords(key, records, creds, transaction, environment)
          send_message('minKeyRecords', MinKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_minKeyRecords()
          result = receive_message(MinKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'minKeyRecords failed: unknown result')
        end

        def navigateKeyRecord(key, record, creds, transaction, environment)
          send_navigateKeyRecord(key, record, creds, transaction, environment)
          return recv_navigateKeyRecord()
        end

        def send_navigateKeyRecord(key, record, creds, transaction, environment)
          send_message('navigateKeyRecord', NavigateKeyRecord_args, :key => key, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecord()
          result = receive_message(NavigateKeyRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecord failed: unknown result')
        end

        def navigateKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_navigateKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          return recv_navigateKeyRecordTime()
        end

        def send_navigateKeyRecordTime(key, record, timestamp, creds, transaction, environment)
          send_message('navigateKeyRecordTime', NavigateKeyRecordTime_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecordTime()
          result = receive_message(NavigateKeyRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecordTime failed: unknown result')
        end

        def navigateKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_navigateKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          return recv_navigateKeyRecordTimestr()
        end

        def send_navigateKeyRecordTimestr(key, record, timestamp, creds, transaction, environment)
          send_message('navigateKeyRecordTimestr', NavigateKeyRecordTimestr_args, :key => key, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecordTimestr()
          result = receive_message(NavigateKeyRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecordTimestr failed: unknown result')
        end

        def navigateKeysRecord(keys, record, creds, transaction, environment)
          send_navigateKeysRecord(keys, record, creds, transaction, environment)
          return recv_navigateKeysRecord()
        end

        def send_navigateKeysRecord(keys, record, creds, transaction, environment)
          send_message('navigateKeysRecord', NavigateKeysRecord_args, :keys => keys, :record => record, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecord()
          result = receive_message(NavigateKeysRecord_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecord failed: unknown result')
        end

        def navigateKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_navigateKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          return recv_navigateKeysRecordTime()
        end

        def send_navigateKeysRecordTime(keys, record, timestamp, creds, transaction, environment)
          send_message('navigateKeysRecordTime', NavigateKeysRecordTime_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecordTime()
          result = receive_message(NavigateKeysRecordTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecordTime failed: unknown result')
        end

        def navigateKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_navigateKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          return recv_navigateKeysRecordTimestr()
        end

        def send_navigateKeysRecordTimestr(keys, record, timestamp, creds, transaction, environment)
          send_message('navigateKeysRecordTimestr', NavigateKeysRecordTimestr_args, :keys => keys, :record => record, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecordTimestr()
          result = receive_message(NavigateKeysRecordTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecordTimestr failed: unknown result')
        end

        def navigateKeysRecords(keys, records, creds, transaction, environment)
          send_navigateKeysRecords(keys, records, creds, transaction, environment)
          return recv_navigateKeysRecords()
        end

        def send_navigateKeysRecords(keys, records, creds, transaction, environment)
          send_message('navigateKeysRecords', NavigateKeysRecords_args, :keys => keys, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecords()
          result = receive_message(NavigateKeysRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecords failed: unknown result')
        end

        def navigateKeyRecords(key, records, creds, transaction, environment)
          send_navigateKeyRecords(key, records, creds, transaction, environment)
          return recv_navigateKeyRecords()
        end

        def send_navigateKeyRecords(key, records, creds, transaction, environment)
          send_message('navigateKeyRecords', NavigateKeyRecords_args, :key => key, :records => records, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecords()
          result = receive_message(NavigateKeyRecords_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecords failed: unknown result')
        end

        def navigateKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_navigateKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          return recv_navigateKeyRecordsTime()
        end

        def send_navigateKeyRecordsTime(key, records, timestamp, creds, transaction, environment)
          send_message('navigateKeyRecordsTime', NavigateKeyRecordsTime_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecordsTime()
          result = receive_message(NavigateKeyRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecordsTime failed: unknown result')
        end

        def navigateKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_navigateKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          return recv_navigateKeyRecordsTimestr()
        end

        def send_navigateKeyRecordsTimestr(key, records, timestamp, creds, transaction, environment)
          send_message('navigateKeyRecordsTimestr', NavigateKeyRecordsTimestr_args, :key => key, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyRecordsTimestr()
          result = receive_message(NavigateKeyRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyRecordsTimestr failed: unknown result')
        end

        def navigateKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_navigateKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          return recv_navigateKeysRecordsTime()
        end

        def send_navigateKeysRecordsTime(keys, records, timestamp, creds, transaction, environment)
          send_message('navigateKeysRecordsTime', NavigateKeysRecordsTime_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecordsTime()
          result = receive_message(NavigateKeysRecordsTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecordsTime failed: unknown result')
        end

        def navigateKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_navigateKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          return recv_navigateKeysRecordsTimestr()
        end

        def send_navigateKeysRecordsTimestr(keys, records, timestamp, creds, transaction, environment)
          send_message('navigateKeysRecordsTimestr', NavigateKeysRecordsTimestr_args, :keys => keys, :records => records, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysRecordsTimestr()
          result = receive_message(NavigateKeysRecordsTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysRecordsTimestr failed: unknown result')
        end

        def navigateKeyCcl(key, ccl, creds, transaction, environment)
          send_navigateKeyCcl(key, ccl, creds, transaction, environment)
          return recv_navigateKeyCcl()
        end

        def send_navigateKeyCcl(key, ccl, creds, transaction, environment)
          send_message('navigateKeyCcl', NavigateKeyCcl_args, :key => key, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCcl()
          result = receive_message(NavigateKeyCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCcl failed: unknown result')
        end

        def navigateKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_navigateKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          return recv_navigateKeyCclTime()
        end

        def send_navigateKeyCclTime(key, ccl, timestamp, creds, transaction, environment)
          send_message('navigateKeyCclTime', NavigateKeyCclTime_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCclTime()
          result = receive_message(NavigateKeyCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCclTime failed: unknown result')
        end

        def navigateKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_navigateKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          return recv_navigateKeyCclTimestr()
        end

        def send_navigateKeyCclTimestr(key, ccl, timestamp, creds, transaction, environment)
          send_message('navigateKeyCclTimestr', NavigateKeyCclTimestr_args, :key => key, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCclTimestr()
          result = receive_message(NavigateKeyCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCclTimestr failed: unknown result')
        end

        def navigateKeysCcl(keys, ccl, creds, transaction, environment)
          send_navigateKeysCcl(keys, ccl, creds, transaction, environment)
          return recv_navigateKeysCcl()
        end

        def send_navigateKeysCcl(keys, ccl, creds, transaction, environment)
          send_message('navigateKeysCcl', NavigateKeysCcl_args, :keys => keys, :ccl => ccl, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCcl()
          result = receive_message(NavigateKeysCcl_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCcl failed: unknown result')
        end

        def navigateKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_navigateKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          return recv_navigateKeysCclTime()
        end

        def send_navigateKeysCclTime(keys, ccl, timestamp, creds, transaction, environment)
          send_message('navigateKeysCclTime', NavigateKeysCclTime_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCclTime()
          result = receive_message(NavigateKeysCclTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCclTime failed: unknown result')
        end

        def navigateKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_navigateKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          return recv_navigateKeysCclTimestr()
        end

        def send_navigateKeysCclTimestr(keys, ccl, timestamp, creds, transaction, environment)
          send_message('navigateKeysCclTimestr', NavigateKeysCclTimestr_args, :keys => keys, :ccl => ccl, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCclTimestr()
          result = receive_message(NavigateKeysCclTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCclTimestr failed: unknown result')
        end

        def navigateKeyCriteria(key, criteria, creds, transaction, environment)
          send_navigateKeyCriteria(key, criteria, creds, transaction, environment)
          return recv_navigateKeyCriteria()
        end

        def send_navigateKeyCriteria(key, criteria, creds, transaction, environment)
          send_message('navigateKeyCriteria', NavigateKeyCriteria_args, :key => key, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCriteria()
          result = receive_message(NavigateKeyCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCriteria failed: unknown result')
        end

        def navigateKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_navigateKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          return recv_navigateKeyCriteriaTime()
        end

        def send_navigateKeyCriteriaTime(key, criteria, timestamp, creds, transaction, environment)
          send_message('navigateKeyCriteriaTime', NavigateKeyCriteriaTime_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCriteriaTime()
          result = receive_message(NavigateKeyCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCriteriaTime failed: unknown result')
        end

        def navigateKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_navigateKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          return recv_navigateKeyCriteriaTimestr()
        end

        def send_navigateKeyCriteriaTimestr(key, criteria, timestamp, creds, transaction, environment)
          send_message('navigateKeyCriteriaTimestr', NavigateKeyCriteriaTimestr_args, :key => key, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeyCriteriaTimestr()
          result = receive_message(NavigateKeyCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeyCriteriaTimestr failed: unknown result')
        end

        def navigateKeysCriteria(keys, criteria, creds, transaction, environment)
          send_navigateKeysCriteria(keys, criteria, creds, transaction, environment)
          return recv_navigateKeysCriteria()
        end

        def send_navigateKeysCriteria(keys, criteria, creds, transaction, environment)
          send_message('navigateKeysCriteria', NavigateKeysCriteria_args, :keys => keys, :criteria => criteria, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCriteria()
          result = receive_message(NavigateKeysCriteria_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCriteria failed: unknown result')
        end

        def navigateKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_navigateKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          return recv_navigateKeysCriteriaTime()
        end

        def send_navigateKeysCriteriaTime(keys, criteria, timestamp, creds, transaction, environment)
          send_message('navigateKeysCriteriaTime', NavigateKeysCriteriaTime_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCriteriaTime()
          result = receive_message(NavigateKeysCriteriaTime_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCriteriaTime failed: unknown result')
        end

        def navigateKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_navigateKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          return recv_navigateKeysCriteriaTimestr()
        end

        def send_navigateKeysCriteriaTimestr(keys, criteria, timestamp, creds, transaction, environment)
          send_message('navigateKeysCriteriaTimestr', NavigateKeysCriteriaTimestr_args, :keys => keys, :criteria => criteria, :timestamp => timestamp, :creds => creds, :transaction => transaction, :environment => environment)
        end

        def recv_navigateKeysCriteriaTimestr()
          result = receive_message(NavigateKeysCriteriaTimestr_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'navigateKeysCriteriaTimestr failed: unknown result')
        end

        def getServerEnvironment(creds, token, environment)
          send_getServerEnvironment(creds, token, environment)
          return recv_getServerEnvironment()
        end

        def send_getServerEnvironment(creds, token, environment)
          send_message('getServerEnvironment', GetServerEnvironment_args, :creds => creds, :token => token, :environment => environment)
        end

        def recv_getServerEnvironment()
          result = receive_message(GetServerEnvironment_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getServerEnvironment failed: unknown result')
        end

        def getServerVersion()
          send_getServerVersion()
          return recv_getServerVersion()
        end

        def send_getServerVersion()
          send_message('getServerVersion', GetServerVersion_args)
        end

        def recv_getServerVersion()
          result = receive_message(GetServerVersion_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getServerVersion failed: unknown result')
        end

        def time(creds, token, environment)
          send_time(creds, token, environment)
          return recv_time()
        end

        def send_time(creds, token, environment)
          send_message('time', Time_args, :creds => creds, :token => token, :environment => environment)
        end

        def recv_time()
          result = receive_message(Time_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'time failed: unknown result')
        end

        def timePhrase(phrase, creds, token, environment)
          send_timePhrase(phrase, creds, token, environment)
          return recv_timePhrase()
        end

        def send_timePhrase(phrase, creds, token, environment)
          send_message('timePhrase', TimePhrase_args, :phrase => phrase, :creds => creds, :token => token, :environment => environment)
        end

        def recv_timePhrase()
          result = receive_message(TimePhrase_result)
          return result.success unless result.success.nil?
          raise result.ex unless result.ex.nil?
          raise result.ex2 unless result.ex2.nil?
          raise result.ex3 unless result.ex3.nil?
          raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'timePhrase failed: unknown result')
        end

      end

      class Processor
        include ::Thrift::Processor

        def process_abort(seqid, iprot, oprot)
          args = read_args(iprot, Abort_args)
          result = Abort_result.new()
          begin
            @handler.abort(args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          end
          write_result(result, oprot, 'abort', seqid)
        end

        def process_addKeyValue(seqid, iprot, oprot)
          args = read_args(iprot, AddKeyValue_args)
          result = AddKeyValue_result.new()
          begin
            result.success = @handler.addKeyValue(args.key, args.value, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'addKeyValue', seqid)
        end

        def process_addKeyValueRecord(seqid, iprot, oprot)
          args = read_args(iprot, AddKeyValueRecord_args)
          result = AddKeyValueRecord_result.new()
          begin
            result.success = @handler.addKeyValueRecord(args.key, args.value, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'addKeyValueRecord', seqid)
        end

        def process_addKeyValueRecords(seqid, iprot, oprot)
          args = read_args(iprot, AddKeyValueRecords_args)
          result = AddKeyValueRecords_result.new()
          begin
            result.success = @handler.addKeyValueRecords(args.key, args.value, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'addKeyValueRecords', seqid)
        end

        def process_auditRecord(seqid, iprot, oprot)
          args = read_args(iprot, AuditRecord_args)
          result = AuditRecord_result.new()
          begin
            result.success = @handler.auditRecord(args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditRecord', seqid)
        end

        def process_auditRecordStart(seqid, iprot, oprot)
          args = read_args(iprot, AuditRecordStart_args)
          result = AuditRecordStart_result.new()
          begin
            result.success = @handler.auditRecordStart(args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditRecordStart', seqid)
        end

        def process_auditRecordStartstr(seqid, iprot, oprot)
          args = read_args(iprot, AuditRecordStartstr_args)
          result = AuditRecordStartstr_result.new()
          begin
            result.success = @handler.auditRecordStartstr(args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'auditRecordStartstr', seqid)
        end

        def process_auditRecordStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, AuditRecordStartEnd_args)
          result = AuditRecordStartEnd_result.new()
          begin
            result.success = @handler.auditRecordStartEnd(args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditRecordStartEnd', seqid)
        end

        def process_auditRecordStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, AuditRecordStartstrEndstr_args)
          result = AuditRecordStartstrEndstr_result.new()
          begin
            result.success = @handler.auditRecordStartstrEndstr(args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'auditRecordStartstrEndstr', seqid)
        end

        def process_auditKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, AuditKeyRecord_args)
          result = AuditKeyRecord_result.new()
          begin
            result.success = @handler.auditKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditKeyRecord', seqid)
        end

        def process_auditKeyRecordStart(seqid, iprot, oprot)
          args = read_args(iprot, AuditKeyRecordStart_args)
          result = AuditKeyRecordStart_result.new()
          begin
            result.success = @handler.auditKeyRecordStart(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditKeyRecordStart', seqid)
        end

        def process_auditKeyRecordStartstr(seqid, iprot, oprot)
          args = read_args(iprot, AuditKeyRecordStartstr_args)
          result = AuditKeyRecordStartstr_result.new()
          begin
            result.success = @handler.auditKeyRecordStartstr(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'auditKeyRecordStartstr', seqid)
        end

        def process_auditKeyRecordStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, AuditKeyRecordStartEnd_args)
          result = AuditKeyRecordStartEnd_result.new()
          begin
            result.success = @handler.auditKeyRecordStartEnd(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'auditKeyRecordStartEnd', seqid)
        end

        def process_auditKeyRecordStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, AuditKeyRecordStartstrEndstr_args)
          result = AuditKeyRecordStartstrEndstr_result.new()
          begin
            result.success = @handler.auditKeyRecordStartstrEndstr(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'auditKeyRecordStartstrEndstr', seqid)
        end

        def process_browseKey(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKey_args)
          result = BrowseKey_result.new()
          begin
            result.success = @handler.browseKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'browseKey', seqid)
        end

        def process_browseKeys(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKeys_args)
          result = BrowseKeys_result.new()
          begin
            result.success = @handler.browseKeys(args.keys, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'browseKeys', seqid)
        end

        def process_browseKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKeyTime_args)
          result = BrowseKeyTime_result.new()
          begin
            result.success = @handler.browseKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'browseKeyTime', seqid)
        end

        def process_browseKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKeyTimestr_args)
          result = BrowseKeyTimestr_result.new()
          begin
            result.success = @handler.browseKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'browseKeyTimestr', seqid)
        end

        def process_browseKeysTime(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKeysTime_args)
          result = BrowseKeysTime_result.new()
          begin
            result.success = @handler.browseKeysTime(args.keys, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'browseKeysTime', seqid)
        end

        def process_browseKeysTimestr(seqid, iprot, oprot)
          args = read_args(iprot, BrowseKeysTimestr_args)
          result = BrowseKeysTimestr_result.new()
          begin
            result.success = @handler.browseKeysTimestr(args.keys, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'browseKeysTimestr', seqid)
        end

        def process_chronologizeKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, ChronologizeKeyRecord_args)
          result = ChronologizeKeyRecord_result.new()
          begin
            result.success = @handler.chronologizeKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'chronologizeKeyRecord', seqid)
        end

        def process_chronologizeKeyRecordStart(seqid, iprot, oprot)
          args = read_args(iprot, ChronologizeKeyRecordStart_args)
          result = ChronologizeKeyRecordStart_result.new()
          begin
            result.success = @handler.chronologizeKeyRecordStart(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'chronologizeKeyRecordStart', seqid)
        end

        def process_chronologizeKeyRecordStartstr(seqid, iprot, oprot)
          args = read_args(iprot, ChronologizeKeyRecordStartstr_args)
          result = ChronologizeKeyRecordStartstr_result.new()
          begin
            result.success = @handler.chronologizeKeyRecordStartstr(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'chronologizeKeyRecordStartstr', seqid)
        end

        def process_chronologizeKeyRecordStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, ChronologizeKeyRecordStartEnd_args)
          result = ChronologizeKeyRecordStartEnd_result.new()
          begin
            result.success = @handler.chronologizeKeyRecordStartEnd(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'chronologizeKeyRecordStartEnd', seqid)
        end

        def process_chronologizeKeyRecordStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, ChronologizeKeyRecordStartstrEndstr_args)
          result = ChronologizeKeyRecordStartstrEndstr_result.new()
          begin
            result.success = @handler.chronologizeKeyRecordStartstrEndstr(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'chronologizeKeyRecordStartstrEndstr', seqid)
        end

        def process_clearRecord(seqid, iprot, oprot)
          args = read_args(iprot, ClearRecord_args)
          result = ClearRecord_result.new()
          begin
            @handler.clearRecord(args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearRecord', seqid)
        end

        def process_clearRecords(seqid, iprot, oprot)
          args = read_args(iprot, ClearRecords_args)
          result = ClearRecords_result.new()
          begin
            @handler.clearRecords(args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearRecords', seqid)
        end

        def process_clearKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, ClearKeyRecord_args)
          result = ClearKeyRecord_result.new()
          begin
            @handler.clearKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearKeyRecord', seqid)
        end

        def process_clearKeysRecord(seqid, iprot, oprot)
          args = read_args(iprot, ClearKeysRecord_args)
          result = ClearKeysRecord_result.new()
          begin
            @handler.clearKeysRecord(args.keys, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearKeysRecord', seqid)
        end

        def process_clearKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, ClearKeyRecords_args)
          result = ClearKeyRecords_result.new()
          begin
            @handler.clearKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearKeyRecords', seqid)
        end

        def process_clearKeysRecords(seqid, iprot, oprot)
          args = read_args(iprot, ClearKeysRecords_args)
          result = ClearKeysRecords_result.new()
          begin
            @handler.clearKeysRecords(args.keys, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'clearKeysRecords', seqid)
        end

        def process_commit(seqid, iprot, oprot)
          args = read_args(iprot, Commit_args)
          result = Commit_result.new()
          begin
            result.success = @handler.commit(args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'commit', seqid)
        end

        def process_describe(seqid, iprot, oprot)
          args = read_args(iprot, Describe_args)
          result = Describe_result.new()
          begin
            result.success = @handler.describe(args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describe', seqid)
        end

        def process_describeTime(seqid, iprot, oprot)
          args = read_args(iprot, DescribeTime_args)
          result = DescribeTime_result.new()
          begin
            result.success = @handler.describeTime(args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeTime', seqid)
        end

        def process_describeTimestr(seqid, iprot, oprot)
          args = read_args(iprot, DescribeTimestr_args)
          result = DescribeTimestr_result.new()
          begin
            result.success = @handler.describeTimestr(args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeTimestr', seqid)
        end

        def process_describeRecord(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecord_args)
          result = DescribeRecord_result.new()
          begin
            result.success = @handler.describeRecord(args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeRecord', seqid)
        end

        def process_describeRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecordTime_args)
          result = DescribeRecordTime_result.new()
          begin
            result.success = @handler.describeRecordTime(args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeRecordTime', seqid)
        end

        def process_describeRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecordTimestr_args)
          result = DescribeRecordTimestr_result.new()
          begin
            result.success = @handler.describeRecordTimestr(args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'describeRecordTimestr', seqid)
        end

        def process_describeRecords(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecords_args)
          result = DescribeRecords_result.new()
          begin
            result.success = @handler.describeRecords(args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeRecords', seqid)
        end

        def process_describeRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecordsTime_args)
          result = DescribeRecordsTime_result.new()
          begin
            result.success = @handler.describeRecordsTime(args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'describeRecordsTime', seqid)
        end

        def process_describeRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, DescribeRecordsTimestr_args)
          result = DescribeRecordsTimestr_result.new()
          begin
            result.success = @handler.describeRecordsTimestr(args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'describeRecordsTimestr', seqid)
        end

        def process_diffRecordStart(seqid, iprot, oprot)
          args = read_args(iprot, DiffRecordStart_args)
          result = DiffRecordStart_result.new()
          begin
            result.success = @handler.diffRecordStart(args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffRecordStart', seqid)
        end

        def process_diffRecordStartstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffRecordStartstr_args)
          result = DiffRecordStartstr_result.new()
          begin
            result.success = @handler.diffRecordStartstr(args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffRecordStartstr', seqid)
        end

        def process_diffRecordStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, DiffRecordStartEnd_args)
          result = DiffRecordStartEnd_result.new()
          begin
            result.success = @handler.diffRecordStartEnd(args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffRecordStartEnd', seqid)
        end

        def process_diffRecordStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffRecordStartstrEndstr_args)
          result = DiffRecordStartstrEndstr_result.new()
          begin
            result.success = @handler.diffRecordStartstrEndstr(args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffRecordStartstrEndstr', seqid)
        end

        def process_diffKeyRecordStart(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyRecordStart_args)
          result = DiffKeyRecordStart_result.new()
          begin
            result.success = @handler.diffKeyRecordStart(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffKeyRecordStart', seqid)
        end

        def process_diffKeyRecordStartstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyRecordStartstr_args)
          result = DiffKeyRecordStartstr_result.new()
          begin
            result.success = @handler.diffKeyRecordStartstr(args.key, args.record, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffKeyRecordStartstr', seqid)
        end

        def process_diffKeyRecordStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyRecordStartEnd_args)
          result = DiffKeyRecordStartEnd_result.new()
          begin
            result.success = @handler.diffKeyRecordStartEnd(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffKeyRecordStartEnd', seqid)
        end

        def process_diffKeyRecordStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyRecordStartstrEndstr_args)
          result = DiffKeyRecordStartstrEndstr_result.new()
          begin
            result.success = @handler.diffKeyRecordStartstrEndstr(args.key, args.record, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffKeyRecordStartstrEndstr', seqid)
        end

        def process_diffKeyStart(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyStart_args)
          result = DiffKeyStart_result.new()
          begin
            result.success = @handler.diffKeyStart(args.key, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffKeyStart', seqid)
        end

        def process_diffKeyStartstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyStartstr_args)
          result = DiffKeyStartstr_result.new()
          begin
            result.success = @handler.diffKeyStartstr(args.key, args.start, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffKeyStartstr', seqid)
        end

        def process_diffKeyStartEnd(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyStartEnd_args)
          result = DiffKeyStartEnd_result.new()
          begin
            result.success = @handler.diffKeyStartEnd(args.key, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'diffKeyStartEnd', seqid)
        end

        def process_diffKeyStartstrEndstr(seqid, iprot, oprot)
          args = read_args(iprot, DiffKeyStartstrEndstr_args)
          result = DiffKeyStartstrEndstr_result.new()
          begin
            result.success = @handler.diffKeyStartstrEndstr(args.key, args.start, args.tend, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'diffKeyStartstrEndstr', seqid)
        end

        def process_invokePlugin(seqid, iprot, oprot)
          args = read_args(iprot, InvokePlugin_args)
          result = InvokePlugin_result.new()
          begin
            result.success = @handler.invokePlugin(args.id, args.method, args.params, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'invokePlugin', seqid)
        end

        def process_login(seqid, iprot, oprot)
          args = read_args(iprot, Login_args)
          result = Login_result.new()
          begin
            result.success = @handler.login(args.username, args.password, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          end
          write_result(result, oprot, 'login', seqid)
        end

        def process_logout(seqid, iprot, oprot)
          args = read_args(iprot, Logout_args)
          result = Logout_result.new()
          begin
            @handler.logout(args.token, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          end
          write_result(result, oprot, 'logout', seqid)
        end

        def process_stage(seqid, iprot, oprot)
          args = read_args(iprot, Stage_args)
          result = Stage_result.new()
          begin
            result.success = @handler.stage(args.token, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          end
          write_result(result, oprot, 'stage', seqid)
        end

        def process_insertJson(seqid, iprot, oprot)
          args = read_args(iprot, InsertJson_args)
          result = InsertJson_result.new()
          begin
            result.success = @handler.insertJson(args.json, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'insertJson', seqid)
        end

        def process_insertJsonRecord(seqid, iprot, oprot)
          args = read_args(iprot, InsertJsonRecord_args)
          result = InsertJsonRecord_result.new()
          begin
            result.success = @handler.insertJsonRecord(args.json, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'insertJsonRecord', seqid)
        end

        def process_insertJsonRecords(seqid, iprot, oprot)
          args = read_args(iprot, InsertJsonRecords_args)
          result = InsertJsonRecords_result.new()
          begin
            result.success = @handler.insertJsonRecords(args.json, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'insertJsonRecords', seqid)
        end

        def process_removeKeyValueRecord(seqid, iprot, oprot)
          args = read_args(iprot, RemoveKeyValueRecord_args)
          result = RemoveKeyValueRecord_result.new()
          begin
            result.success = @handler.removeKeyValueRecord(args.key, args.value, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'removeKeyValueRecord', seqid)
        end

        def process_removeKeyValueRecords(seqid, iprot, oprot)
          args = read_args(iprot, RemoveKeyValueRecords_args)
          result = RemoveKeyValueRecords_result.new()
          begin
            result.success = @handler.removeKeyValueRecords(args.key, args.value, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'removeKeyValueRecords', seqid)
        end

        def process_setKeyValueRecord(seqid, iprot, oprot)
          args = read_args(iprot, SetKeyValueRecord_args)
          result = SetKeyValueRecord_result.new()
          begin
            @handler.setKeyValueRecord(args.key, args.value, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'setKeyValueRecord', seqid)
        end

        def process_setKeyValue(seqid, iprot, oprot)
          args = read_args(iprot, SetKeyValue_args)
          result = SetKeyValue_result.new()
          begin
            result.success = @handler.setKeyValue(args.key, args.value, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'setKeyValue', seqid)
        end

        def process_setKeyValueRecords(seqid, iprot, oprot)
          args = read_args(iprot, SetKeyValueRecords_args)
          result = SetKeyValueRecords_result.new()
          begin
            @handler.setKeyValueRecords(args.key, args.value, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'setKeyValueRecords', seqid)
        end

        def process_reconcileKeyRecordValues(seqid, iprot, oprot)
          args = read_args(iprot, ReconcileKeyRecordValues_args)
          result = ReconcileKeyRecordValues_result.new()
          begin
            @handler.reconcileKeyRecordValues(args.key, args.record, args.values, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'reconcileKeyRecordValues', seqid)
        end

        def process_inventory(seqid, iprot, oprot)
          args = read_args(iprot, Inventory_args)
          result = Inventory_result.new()
          begin
            result.success = @handler.inventory(args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'inventory', seqid)
        end

        def process_selectRecord(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecord_args)
          result = SelectRecord_result.new()
          begin
            result.success = @handler.selectRecord(args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectRecord', seqid)
        end

        def process_selectRecords(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecords_args)
          result = SelectRecords_result.new()
          begin
            result.success = @handler.selectRecords(args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectRecords', seqid)
        end

        def process_selectRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecordTime_args)
          result = SelectRecordTime_result.new()
          begin
            result.success = @handler.selectRecordTime(args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectRecordTime', seqid)
        end

        def process_selectRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecordTimestr_args)
          result = SelectRecordTimestr_result.new()
          begin
            result.success = @handler.selectRecordTimestr(args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectRecordTimestr', seqid)
        end

        def process_selectRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecordsTime_args)
          result = SelectRecordsTime_result.new()
          begin
            result.success = @handler.selectRecordsTime(args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectRecordsTime', seqid)
        end

        def process_selectRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectRecordsTimestr_args)
          result = SelectRecordsTimestr_result.new()
          begin
            result.success = @handler.selectRecordsTimestr(args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectRecordsTimestr', seqid)
        end

        def process_selectKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecord_args)
          result = SelectKeyRecord_result.new()
          begin
            result.success = @handler.selectKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyRecord', seqid)
        end

        def process_selectKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecordTime_args)
          result = SelectKeyRecordTime_result.new()
          begin
            result.success = @handler.selectKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyRecordTime', seqid)
        end

        def process_selectKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecordTimestr_args)
          result = SelectKeyRecordTimestr_result.new()
          begin
            result.success = @handler.selectKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyRecordTimestr', seqid)
        end

        def process_selectKeysRecord(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecord_args)
          result = SelectKeysRecord_result.new()
          begin
            result.success = @handler.selectKeysRecord(args.keys, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysRecord', seqid)
        end

        def process_selectKeysRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecordTime_args)
          result = SelectKeysRecordTime_result.new()
          begin
            result.success = @handler.selectKeysRecordTime(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysRecordTime', seqid)
        end

        def process_selectKeysRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecordTimestr_args)
          result = SelectKeysRecordTimestr_result.new()
          begin
            result.success = @handler.selectKeysRecordTimestr(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysRecordTimestr', seqid)
        end

        def process_selectKeysRecords(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecords_args)
          result = SelectKeysRecords_result.new()
          begin
            result.success = @handler.selectKeysRecords(args.keys, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysRecords', seqid)
        end

        def process_selectKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecords_args)
          result = SelectKeyRecords_result.new()
          begin
            result.success = @handler.selectKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyRecords', seqid)
        end

        def process_selectKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecordsTime_args)
          result = SelectKeyRecordsTime_result.new()
          begin
            result.success = @handler.selectKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyRecordsTime', seqid)
        end

        def process_selectKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyRecordsTimestr_args)
          result = SelectKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.selectKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyRecordsTimestr', seqid)
        end

        def process_selectKeysRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecordsTime_args)
          result = SelectKeysRecordsTime_result.new()
          begin
            result.success = @handler.selectKeysRecordsTime(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysRecordsTime', seqid)
        end

        def process_selectKeysRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysRecordsTimestr_args)
          result = SelectKeysRecordsTimestr_result.new()
          begin
            result.success = @handler.selectKeysRecordsTimestr(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysRecordsTimestr', seqid)
        end

        def process_selectCriteria(seqid, iprot, oprot)
          args = read_args(iprot, SelectCriteria_args)
          result = SelectCriteria_result.new()
          begin
            result.success = @handler.selectCriteria(args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectCriteria', seqid)
        end

        def process_selectCcl(seqid, iprot, oprot)
          args = read_args(iprot, SelectCcl_args)
          result = SelectCcl_result.new()
          begin
            result.success = @handler.selectCcl(args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectCcl', seqid)
        end

        def process_selectCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectCriteriaTime_args)
          result = SelectCriteriaTime_result.new()
          begin
            result.success = @handler.selectCriteriaTime(args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectCriteriaTime', seqid)
        end

        def process_selectCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectCriteriaTimestr_args)
          result = SelectCriteriaTimestr_result.new()
          begin
            result.success = @handler.selectCriteriaTimestr(args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectCriteriaTimestr', seqid)
        end

        def process_selectCclTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectCclTime_args)
          result = SelectCclTime_result.new()
          begin
            result.success = @handler.selectCclTime(args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectCclTime', seqid)
        end

        def process_selectCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectCclTimestr_args)
          result = SelectCclTimestr_result.new()
          begin
            result.success = @handler.selectCclTimestr(args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectCclTimestr', seqid)
        end

        def process_selectKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCriteria_args)
          result = SelectKeyCriteria_result.new()
          begin
            result.success = @handler.selectKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyCriteria', seqid)
        end

        def process_selectKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCcl_args)
          result = SelectKeyCcl_result.new()
          begin
            result.success = @handler.selectKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyCcl', seqid)
        end

        def process_selectKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCriteriaTime_args)
          result = SelectKeyCriteriaTime_result.new()
          begin
            result.success = @handler.selectKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeyCriteriaTime', seqid)
        end

        def process_selectKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCriteriaTimestr_args)
          result = SelectKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.selectKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyCriteriaTimestr', seqid)
        end

        def process_selectKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCclTime_args)
          result = SelectKeyCclTime_result.new()
          begin
            result.success = @handler.selectKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyCclTime', seqid)
        end

        def process_selectKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeyCclTimestr_args)
          result = SelectKeyCclTimestr_result.new()
          begin
            result.success = @handler.selectKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeyCclTimestr', seqid)
        end

        def process_selectKeysCriteria(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCriteria_args)
          result = SelectKeysCriteria_result.new()
          begin
            result.success = @handler.selectKeysCriteria(args.keys, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysCriteria', seqid)
        end

        def process_selectKeysCcl(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCcl_args)
          result = SelectKeysCcl_result.new()
          begin
            result.success = @handler.selectKeysCcl(args.keys, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysCcl', seqid)
        end

        def process_selectKeysCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCriteriaTime_args)
          result = SelectKeysCriteriaTime_result.new()
          begin
            result.success = @handler.selectKeysCriteriaTime(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'selectKeysCriteriaTime', seqid)
        end

        def process_selectKeysCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCriteriaTimestr_args)
          result = SelectKeysCriteriaTimestr_result.new()
          begin
            result.success = @handler.selectKeysCriteriaTimestr(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysCriteriaTimestr', seqid)
        end

        def process_selectKeysCclTime(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCclTime_args)
          result = SelectKeysCclTime_result.new()
          begin
            result.success = @handler.selectKeysCclTime(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysCclTime', seqid)
        end

        def process_selectKeysCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SelectKeysCclTimestr_args)
          result = SelectKeysCclTimestr_result.new()
          begin
            result.success = @handler.selectKeysCclTimestr(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'selectKeysCclTimestr', seqid)
        end

        def process_getKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecord_args)
          result = GetKeyRecord_result.new()
          begin
            result.success = @handler.getKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyRecord', seqid)
        end

        def process_getKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecordTime_args)
          result = GetKeyRecordTime_result.new()
          begin
            result.success = @handler.getKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyRecordTime', seqid)
        end

        def process_getKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecordTimestr_args)
          result = GetKeyRecordTimestr_result.new()
          begin
            result.success = @handler.getKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyRecordTimestr', seqid)
        end

        def process_getKeysRecord(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecord_args)
          result = GetKeysRecord_result.new()
          begin
            result.success = @handler.getKeysRecord(args.keys, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysRecord', seqid)
        end

        def process_getKeysRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecordTime_args)
          result = GetKeysRecordTime_result.new()
          begin
            result.success = @handler.getKeysRecordTime(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysRecordTime', seqid)
        end

        def process_getKeysRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecordTimestr_args)
          result = GetKeysRecordTimestr_result.new()
          begin
            result.success = @handler.getKeysRecordTimestr(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysRecordTimestr', seqid)
        end

        def process_getKeysRecords(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecords_args)
          result = GetKeysRecords_result.new()
          begin
            result.success = @handler.getKeysRecords(args.keys, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysRecords', seqid)
        end

        def process_getKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecords_args)
          result = GetKeyRecords_result.new()
          begin
            result.success = @handler.getKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyRecords', seqid)
        end

        def process_getKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecordsTime_args)
          result = GetKeyRecordsTime_result.new()
          begin
            result.success = @handler.getKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyRecordsTime', seqid)
        end

        def process_getKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyRecordsTimestr_args)
          result = GetKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.getKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyRecordsTimestr', seqid)
        end

        def process_getKeysRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecordsTime_args)
          result = GetKeysRecordsTime_result.new()
          begin
            result.success = @handler.getKeysRecordsTime(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysRecordsTime', seqid)
        end

        def process_getKeysRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysRecordsTimestr_args)
          result = GetKeysRecordsTimestr_result.new()
          begin
            result.success = @handler.getKeysRecordsTimestr(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysRecordsTimestr', seqid)
        end

        def process_getKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCriteria_args)
          result = GetKeyCriteria_result.new()
          begin
            result.success = @handler.getKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyCriteria', seqid)
        end

        def process_getCriteria(seqid, iprot, oprot)
          args = read_args(iprot, GetCriteria_args)
          result = GetCriteria_result.new()
          begin
            result.success = @handler.getCriteria(args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getCriteria', seqid)
        end

        def process_getCcl(seqid, iprot, oprot)
          args = read_args(iprot, GetCcl_args)
          result = GetCcl_result.new()
          begin
            result.success = @handler.getCcl(args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getCcl', seqid)
        end

        def process_getCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, GetCriteriaTime_args)
          result = GetCriteriaTime_result.new()
          begin
            result.success = @handler.getCriteriaTime(args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getCriteriaTime', seqid)
        end

        def process_getCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetCriteriaTimestr_args)
          result = GetCriteriaTimestr_result.new()
          begin
            result.success = @handler.getCriteriaTimestr(args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getCriteriaTimestr', seqid)
        end

        def process_getCclTime(seqid, iprot, oprot)
          args = read_args(iprot, GetCclTime_args)
          result = GetCclTime_result.new()
          begin
            result.success = @handler.getCclTime(args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getCclTime', seqid)
        end

        def process_getCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetCclTimestr_args)
          result = GetCclTimestr_result.new()
          begin
            result.success = @handler.getCclTimestr(args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getCclTimestr', seqid)
        end

        def process_getKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCcl_args)
          result = GetKeyCcl_result.new()
          begin
            result.success = @handler.getKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyCcl', seqid)
        end

        def process_getKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCriteriaTime_args)
          result = GetKeyCriteriaTime_result.new()
          begin
            result.success = @handler.getKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeyCriteriaTime', seqid)
        end

        def process_getKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCriteriaTimestr_args)
          result = GetKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.getKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyCriteriaTimestr', seqid)
        end

        def process_getKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCclTime_args)
          result = GetKeyCclTime_result.new()
          begin
            result.success = @handler.getKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyCclTime', seqid)
        end

        def process_getKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeyCclTimestr_args)
          result = GetKeyCclTimestr_result.new()
          begin
            result.success = @handler.getKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeyCclTimestr', seqid)
        end

        def process_getKeysCriteria(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCriteria_args)
          result = GetKeysCriteria_result.new()
          begin
            result.success = @handler.getKeysCriteria(args.keys, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysCriteria', seqid)
        end

        def process_getKeysCcl(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCcl_args)
          result = GetKeysCcl_result.new()
          begin
            result.success = @handler.getKeysCcl(args.keys, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysCcl', seqid)
        end

        def process_getKeysCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCriteriaTime_args)
          result = GetKeysCriteriaTime_result.new()
          begin
            result.success = @handler.getKeysCriteriaTime(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getKeysCriteriaTime', seqid)
        end

        def process_getKeysCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCriteriaTimestr_args)
          result = GetKeysCriteriaTimestr_result.new()
          begin
            result.success = @handler.getKeysCriteriaTimestr(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysCriteriaTimestr', seqid)
        end

        def process_getKeysCclTime(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCclTime_args)
          result = GetKeysCclTime_result.new()
          begin
            result.success = @handler.getKeysCclTime(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysCclTime', seqid)
        end

        def process_getKeysCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, GetKeysCclTimestr_args)
          result = GetKeysCclTimestr_result.new()
          begin
            result.success = @handler.getKeysCclTimestr(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'getKeysCclTimestr', seqid)
        end

        def process_verifyKeyValueRecord(seqid, iprot, oprot)
          args = read_args(iprot, VerifyKeyValueRecord_args)
          result = VerifyKeyValueRecord_result.new()
          begin
            result.success = @handler.verifyKeyValueRecord(args.key, args.value, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'verifyKeyValueRecord', seqid)
        end

        def process_verifyKeyValueRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, VerifyKeyValueRecordTime_args)
          result = VerifyKeyValueRecordTime_result.new()
          begin
            result.success = @handler.verifyKeyValueRecordTime(args.key, args.value, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'verifyKeyValueRecordTime', seqid)
        end

        def process_verifyKeyValueRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, VerifyKeyValueRecordTimestr_args)
          result = VerifyKeyValueRecordTimestr_result.new()
          begin
            result.success = @handler.verifyKeyValueRecordTimestr(args.key, args.value, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'verifyKeyValueRecordTimestr', seqid)
        end

        def process_jsonifyRecords(seqid, iprot, oprot)
          args = read_args(iprot, JsonifyRecords_args)
          result = JsonifyRecords_result.new()
          begin
            result.success = @handler.jsonifyRecords(args.records, args.identifier, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'jsonifyRecords', seqid)
        end

        def process_jsonifyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, JsonifyRecordsTime_args)
          result = JsonifyRecordsTime_result.new()
          begin
            result.success = @handler.jsonifyRecordsTime(args.records, args.timestamp, args.identifier, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'jsonifyRecordsTime', seqid)
        end

        def process_jsonifyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, JsonifyRecordsTimestr_args)
          result = JsonifyRecordsTimestr_result.new()
          begin
            result.success = @handler.jsonifyRecordsTimestr(args.records, args.timestamp, args.identifier, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'jsonifyRecordsTimestr', seqid)
        end

        def process_findCriteria(seqid, iprot, oprot)
          args = read_args(iprot, FindCriteria_args)
          result = FindCriteria_result.new()
          begin
            result.success = @handler.findCriteria(args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'findCriteria', seqid)
        end

        def process_findCcl(seqid, iprot, oprot)
          args = read_args(iprot, FindCcl_args)
          result = FindCcl_result.new()
          begin
            result.success = @handler.findCcl(args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findCcl', seqid)
        end

        def process_findKeyOperatorValues(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorValues_args)
          result = FindKeyOperatorValues_result.new()
          begin
            result.success = @handler.findKeyOperatorValues(args.key, args.operator, args.values, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'findKeyOperatorValues', seqid)
        end

        def process_findKeyOperatorValuesTime(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorValuesTime_args)
          result = FindKeyOperatorValuesTime_result.new()
          begin
            result.success = @handler.findKeyOperatorValuesTime(args.key, args.operator, args.values, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'findKeyOperatorValuesTime', seqid)
        end

        def process_findKeyOperatorValuesTimestr(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorValuesTimestr_args)
          result = FindKeyOperatorValuesTimestr_result.new()
          begin
            result.success = @handler.findKeyOperatorValuesTimestr(args.key, args.operator, args.values, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findKeyOperatorValuesTimestr', seqid)
        end

        def process_findKeyOperatorstrValues(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorstrValues_args)
          result = FindKeyOperatorstrValues_result.new()
          begin
            result.success = @handler.findKeyOperatorstrValues(args.key, args.operator, args.values, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findKeyOperatorstrValues', seqid)
        end

        def process_findKeyOperatorstrValuesTime(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorstrValuesTime_args)
          result = FindKeyOperatorstrValuesTime_result.new()
          begin
            result.success = @handler.findKeyOperatorstrValuesTime(args.key, args.operator, args.values, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findKeyOperatorstrValuesTime', seqid)
        end

        def process_findKeyOperatorstrValuesTimestr(seqid, iprot, oprot)
          args = read_args(iprot, FindKeyOperatorstrValuesTimestr_args)
          result = FindKeyOperatorstrValuesTimestr_result.new()
          begin
            result.success = @handler.findKeyOperatorstrValuesTimestr(args.key, args.operator, args.values, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findKeyOperatorstrValuesTimestr', seqid)
        end

        def process_search(seqid, iprot, oprot)
          args = read_args(iprot, Search_args)
          result = Search_result.new()
          begin
            result.success = @handler.search(args.key, args.query, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'search', seqid)
        end

        def process_revertKeysRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeysRecordsTime_args)
          result = RevertKeysRecordsTime_result.new()
          begin
            @handler.revertKeysRecordsTime(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'revertKeysRecordsTime', seqid)
        end

        def process_revertKeysRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeysRecordsTimestr_args)
          result = RevertKeysRecordsTimestr_result.new()
          begin
            @handler.revertKeysRecordsTimestr(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'revertKeysRecordsTimestr', seqid)
        end

        def process_revertKeysRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeysRecordTime_args)
          result = RevertKeysRecordTime_result.new()
          begin
            @handler.revertKeysRecordTime(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'revertKeysRecordTime', seqid)
        end

        def process_revertKeysRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeysRecordTimestr_args)
          result = RevertKeysRecordTimestr_result.new()
          begin
            @handler.revertKeysRecordTimestr(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'revertKeysRecordTimestr', seqid)
        end

        def process_revertKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeyRecordsTime_args)
          result = RevertKeyRecordsTime_result.new()
          begin
            @handler.revertKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'revertKeyRecordsTime', seqid)
        end

        def process_revertKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeyRecordsTimestr_args)
          result = RevertKeyRecordsTimestr_result.new()
          begin
            @handler.revertKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'revertKeyRecordsTimestr', seqid)
        end

        def process_revertKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeyRecordTime_args)
          result = RevertKeyRecordTime_result.new()
          begin
            @handler.revertKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'revertKeyRecordTime', seqid)
        end

        def process_revertKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, RevertKeyRecordTimestr_args)
          result = RevertKeyRecordTimestr_result.new()
          begin
            @handler.revertKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'revertKeyRecordTimestr', seqid)
        end

        def process_pingRecords(seqid, iprot, oprot)
          args = read_args(iprot, PingRecords_args)
          result = PingRecords_result.new()
          begin
            result.success = @handler.pingRecords(args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'pingRecords', seqid)
        end

        def process_pingRecord(seqid, iprot, oprot)
          args = read_args(iprot, PingRecord_args)
          result = PingRecord_result.new()
          begin
            result.success = @handler.pingRecord(args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'pingRecord', seqid)
        end

        def process_verifyAndSwap(seqid, iprot, oprot)
          args = read_args(iprot, VerifyAndSwap_args)
          result = VerifyAndSwap_result.new()
          begin
            result.success = @handler.verifyAndSwap(args.key, args.expected, args.record, args.replacement, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'verifyAndSwap', seqid)
        end

        def process_verifyOrSet(seqid, iprot, oprot)
          args = read_args(iprot, VerifyOrSet_args)
          result = VerifyOrSet_result.new()
          begin
            @handler.verifyOrSet(args.key, args.value, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::InvalidArgumentException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'verifyOrSet', seqid)
        end

        def process_findOrAddKeyValue(seqid, iprot, oprot)
          args = read_args(iprot, FindOrAddKeyValue_args)
          result = FindOrAddKeyValue_result.new()
          begin
            result.success = @handler.findOrAddKeyValue(args.key, args.value, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::DuplicateEntryException => ex3
            result.ex3 = ex3
          rescue ::Concourse::InvalidArgumentException => ex4
            result.ex4 = ex4
          end
          write_result(result, oprot, 'findOrAddKeyValue', seqid)
        end

        def process_findOrInsertCriteriaJson(seqid, iprot, oprot)
          args = read_args(iprot, FindOrInsertCriteriaJson_args)
          result = FindOrInsertCriteriaJson_result.new()
          begin
            result.success = @handler.findOrInsertCriteriaJson(args.criteria, args.json, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::DuplicateEntryException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'findOrInsertCriteriaJson', seqid)
        end

        def process_findOrInsertCclJson(seqid, iprot, oprot)
          args = read_args(iprot, FindOrInsertCclJson_args)
          result = FindOrInsertCclJson_result.new()
          begin
            result.success = @handler.findOrInsertCclJson(args.ccl, args.json, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          rescue ::Concourse::DuplicateEntryException => ex4
            result.ex4 = ex4
          end
          write_result(result, oprot, 'findOrInsertCclJson', seqid)
        end

        def process_sumKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecord_args)
          result = SumKeyRecord_result.new()
          begin
            result.success = @handler.sumKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyRecord', seqid)
        end

        def process_sumKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecordTime_args)
          result = SumKeyRecordTime_result.new()
          begin
            result.success = @handler.sumKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyRecordTime', seqid)
        end

        def process_sumKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecordTimestr_args)
          result = SumKeyRecordTimestr_result.new()
          begin
            result.success = @handler.sumKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyRecordTimestr', seqid)
        end

        def process_sumKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecords_args)
          result = SumKeyRecords_result.new()
          begin
            result.success = @handler.sumKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyRecords', seqid)
        end

        def process_sumKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecordsTime_args)
          result = SumKeyRecordsTime_result.new()
          begin
            result.success = @handler.sumKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyRecordsTime', seqid)
        end

        def process_sumKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyRecordsTimestr_args)
          result = SumKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.sumKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyRecordsTimestr', seqid)
        end

        def process_sumKey(seqid, iprot, oprot)
          args = read_args(iprot, SumKey_args)
          result = SumKey_result.new()
          begin
            result.success = @handler.sumKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKey', seqid)
        end

        def process_sumKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyTime_args)
          result = SumKeyTime_result.new()
          begin
            result.success = @handler.sumKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyTime', seqid)
        end

        def process_sumKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyTimestr_args)
          result = SumKeyTimestr_result.new()
          begin
            result.success = @handler.sumKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyTimestr', seqid)
        end

        def process_sumKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCriteria_args)
          result = SumKeyCriteria_result.new()
          begin
            result.success = @handler.sumKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyCriteria', seqid)
        end

        def process_sumKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCriteriaTime_args)
          result = SumKeyCriteriaTime_result.new()
          begin
            result.success = @handler.sumKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'sumKeyCriteriaTime', seqid)
        end

        def process_sumKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCriteriaTimestr_args)
          result = SumKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.sumKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyCriteriaTimestr', seqid)
        end

        def process_sumKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCcl_args)
          result = SumKeyCcl_result.new()
          begin
            result.success = @handler.sumKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyCcl', seqid)
        end

        def process_sumKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCclTime_args)
          result = SumKeyCclTime_result.new()
          begin
            result.success = @handler.sumKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyCclTime', seqid)
        end

        def process_sumKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, SumKeyCclTimestr_args)
          result = SumKeyCclTimestr_result.new()
          begin
            result.success = @handler.sumKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'sumKeyCclTimestr', seqid)
        end

        def process_averageKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecord_args)
          result = AverageKeyRecord_result.new()
          begin
            result.success = @handler.averageKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyRecord', seqid)
        end

        def process_averageKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecordTime_args)
          result = AverageKeyRecordTime_result.new()
          begin
            result.success = @handler.averageKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyRecordTime', seqid)
        end

        def process_averageKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecordTimestr_args)
          result = AverageKeyRecordTimestr_result.new()
          begin
            result.success = @handler.averageKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyRecordTimestr', seqid)
        end

        def process_averageKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecords_args)
          result = AverageKeyRecords_result.new()
          begin
            result.success = @handler.averageKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyRecords', seqid)
        end

        def process_averageKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecordsTime_args)
          result = AverageKeyRecordsTime_result.new()
          begin
            result.success = @handler.averageKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyRecordsTime', seqid)
        end

        def process_averageKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyRecordsTimestr_args)
          result = AverageKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.averageKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyRecordsTimestr', seqid)
        end

        def process_averageKey(seqid, iprot, oprot)
          args = read_args(iprot, AverageKey_args)
          result = AverageKey_result.new()
          begin
            result.success = @handler.averageKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKey', seqid)
        end

        def process_averageKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyTime_args)
          result = AverageKeyTime_result.new()
          begin
            result.success = @handler.averageKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyTime', seqid)
        end

        def process_averageKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyTimestr_args)
          result = AverageKeyTimestr_result.new()
          begin
            result.success = @handler.averageKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyTimestr', seqid)
        end

        def process_averageKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCriteria_args)
          result = AverageKeyCriteria_result.new()
          begin
            result.success = @handler.averageKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyCriteria', seqid)
        end

        def process_averageKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCriteriaTime_args)
          result = AverageKeyCriteriaTime_result.new()
          begin
            result.success = @handler.averageKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'averageKeyCriteriaTime', seqid)
        end

        def process_averageKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCriteriaTimestr_args)
          result = AverageKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.averageKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyCriteriaTimestr', seqid)
        end

        def process_averageKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCcl_args)
          result = AverageKeyCcl_result.new()
          begin
            result.success = @handler.averageKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyCcl', seqid)
        end

        def process_averageKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCclTime_args)
          result = AverageKeyCclTime_result.new()
          begin
            result.success = @handler.averageKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyCclTime', seqid)
        end

        def process_averageKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, AverageKeyCclTimestr_args)
          result = AverageKeyCclTimestr_result.new()
          begin
            result.success = @handler.averageKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'averageKeyCclTimestr', seqid)
        end

        def process_countKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecord_args)
          result = CountKeyRecord_result.new()
          begin
            result.success = @handler.countKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyRecord', seqid)
        end

        def process_countKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecordTime_args)
          result = CountKeyRecordTime_result.new()
          begin
            result.success = @handler.countKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyRecordTime', seqid)
        end

        def process_countKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecordTimestr_args)
          result = CountKeyRecordTimestr_result.new()
          begin
            result.success = @handler.countKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyRecordTimestr', seqid)
        end

        def process_countKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecords_args)
          result = CountKeyRecords_result.new()
          begin
            result.success = @handler.countKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyRecords', seqid)
        end

        def process_countKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecordsTime_args)
          result = CountKeyRecordsTime_result.new()
          begin
            result.success = @handler.countKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyRecordsTime', seqid)
        end

        def process_countKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyRecordsTimestr_args)
          result = CountKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.countKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyRecordsTimestr', seqid)
        end

        def process_countKey(seqid, iprot, oprot)
          args = read_args(iprot, CountKey_args)
          result = CountKey_result.new()
          begin
            result.success = @handler.countKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKey', seqid)
        end

        def process_countKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyTime_args)
          result = CountKeyTime_result.new()
          begin
            result.success = @handler.countKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyTime', seqid)
        end

        def process_countKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyTimestr_args)
          result = CountKeyTimestr_result.new()
          begin
            result.success = @handler.countKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyTimestr', seqid)
        end

        def process_countKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCriteria_args)
          result = CountKeyCriteria_result.new()
          begin
            result.success = @handler.countKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'countKeyCriteria', seqid)
        end

        def process_countKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCriteriaTime_args)
          result = CountKeyCriteriaTime_result.new()
          begin
            result.success = @handler.countKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyCriteriaTime', seqid)
        end

        def process_countKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCriteriaTimestr_args)
          result = CountKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.countKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyCriteriaTimestr', seqid)
        end

        def process_countKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCcl_args)
          result = CountKeyCcl_result.new()
          begin
            result.success = @handler.countKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyCcl', seqid)
        end

        def process_countKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCclTime_args)
          result = CountKeyCclTime_result.new()
          begin
            result.success = @handler.countKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyCclTime', seqid)
        end

        def process_countKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, CountKeyCclTimestr_args)
          result = CountKeyCclTimestr_result.new()
          begin
            result.success = @handler.countKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'countKeyCclTimestr', seqid)
        end

        def process_maxKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecord_args)
          result = MaxKeyRecord_result.new()
          begin
            result.success = @handler.maxKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyRecord', seqid)
        end

        def process_maxKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecordTime_args)
          result = MaxKeyRecordTime_result.new()
          begin
            result.success = @handler.maxKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyRecordTime', seqid)
        end

        def process_maxKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecordTimestr_args)
          result = MaxKeyRecordTimestr_result.new()
          begin
            result.success = @handler.maxKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyRecordTimestr', seqid)
        end

        def process_maxKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecords_args)
          result = MaxKeyRecords_result.new()
          begin
            result.success = @handler.maxKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyRecords', seqid)
        end

        def process_maxKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecordsTime_args)
          result = MaxKeyRecordsTime_result.new()
          begin
            result.success = @handler.maxKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyRecordsTime', seqid)
        end

        def process_maxKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyRecordsTimestr_args)
          result = MaxKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.maxKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyRecordsTimestr', seqid)
        end

        def process_maxKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCriteria_args)
          result = MaxKeyCriteria_result.new()
          begin
            result.success = @handler.maxKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyCriteria', seqid)
        end

        def process_maxKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCriteriaTime_args)
          result = MaxKeyCriteriaTime_result.new()
          begin
            result.success = @handler.maxKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyCriteriaTime', seqid)
        end

        def process_maxKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCriteriaTimestr_args)
          result = MaxKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.maxKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyCriteriaTimestr', seqid)
        end

        def process_maxKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCcl_args)
          result = MaxKeyCcl_result.new()
          begin
            result.success = @handler.maxKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyCcl', seqid)
        end

        def process_maxKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCclTime_args)
          result = MaxKeyCclTime_result.new()
          begin
            result.success = @handler.maxKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyCclTime', seqid)
        end

        def process_maxKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyCclTimestr_args)
          result = MaxKeyCclTimestr_result.new()
          begin
            result.success = @handler.maxKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyCclTimestr', seqid)
        end

        def process_maxKey(seqid, iprot, oprot)
          args = read_args(iprot, MaxKey_args)
          result = MaxKey_result.new()
          begin
            result.success = @handler.maxKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKey', seqid)
        end

        def process_maxKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyTime_args)
          result = MaxKeyTime_result.new()
          begin
            result.success = @handler.maxKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'maxKeyTime', seqid)
        end

        def process_maxKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MaxKeyTimestr_args)
          result = MaxKeyTimestr_result.new()
          begin
            result.success = @handler.maxKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'maxKeyTimestr', seqid)
        end

        def process_minKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecord_args)
          result = MinKeyRecord_result.new()
          begin
            result.success = @handler.minKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyRecord', seqid)
        end

        def process_minKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecordTime_args)
          result = MinKeyRecordTime_result.new()
          begin
            result.success = @handler.minKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyRecordTime', seqid)
        end

        def process_minKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecordTimestr_args)
          result = MinKeyRecordTimestr_result.new()
          begin
            result.success = @handler.minKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyRecordTimestr', seqid)
        end

        def process_minKey(seqid, iprot, oprot)
          args = read_args(iprot, MinKey_args)
          result = MinKey_result.new()
          begin
            result.success = @handler.minKey(args.key, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKey', seqid)
        end

        def process_minKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecordsTime_args)
          result = MinKeyRecordsTime_result.new()
          begin
            result.success = @handler.minKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyRecordsTime', seqid)
        end

        def process_minKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecordsTimestr_args)
          result = MinKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.minKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyRecordsTimestr', seqid)
        end

        def process_minKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCriteria_args)
          result = MinKeyCriteria_result.new()
          begin
            result.success = @handler.minKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyCriteria', seqid)
        end

        def process_minKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCriteriaTime_args)
          result = MinKeyCriteriaTime_result.new()
          begin
            result.success = @handler.minKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyCriteriaTime', seqid)
        end

        def process_minKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCriteriaTimestr_args)
          result = MinKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.minKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyCriteriaTimestr', seqid)
        end

        def process_minKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCcl_args)
          result = MinKeyCcl_result.new()
          begin
            result.success = @handler.minKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyCcl', seqid)
        end

        def process_minKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCclTime_args)
          result = MinKeyCclTime_result.new()
          begin
            result.success = @handler.minKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyCclTime', seqid)
        end

        def process_minKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyCclTimestr_args)
          result = MinKeyCclTimestr_result.new()
          begin
            result.success = @handler.minKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyCclTimestr', seqid)
        end

        def process_minKeyTime(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyTime_args)
          result = MinKeyTime_result.new()
          begin
            result.success = @handler.minKeyTime(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyTime', seqid)
        end

        def process_minKeyTimestr(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyTimestr_args)
          result = MinKeyTimestr_result.new()
          begin
            result.success = @handler.minKeyTimestr(args.key, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'minKeyTimestr', seqid)
        end

        def process_minKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, MinKeyRecords_args)
          result = MinKeyRecords_result.new()
          begin
            result.success = @handler.minKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'minKeyRecords', seqid)
        end

        def process_navigateKeyRecord(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecord_args)
          result = NavigateKeyRecord_result.new()
          begin
            result.success = @handler.navigateKeyRecord(args.key, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeyRecord', seqid)
        end

        def process_navigateKeyRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecordTime_args)
          result = NavigateKeyRecordTime_result.new()
          begin
            result.success = @handler.navigateKeyRecordTime(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeyRecordTime', seqid)
        end

        def process_navigateKeyRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecordTimestr_args)
          result = NavigateKeyRecordTimestr_result.new()
          begin
            result.success = @handler.navigateKeyRecordTimestr(args.key, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyRecordTimestr', seqid)
        end

        def process_navigateKeysRecord(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecord_args)
          result = NavigateKeysRecord_result.new()
          begin
            result.success = @handler.navigateKeysRecord(args.keys, args.record, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeysRecord', seqid)
        end

        def process_navigateKeysRecordTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecordTime_args)
          result = NavigateKeysRecordTime_result.new()
          begin
            result.success = @handler.navigateKeysRecordTime(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeysRecordTime', seqid)
        end

        def process_navigateKeysRecordTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecordTimestr_args)
          result = NavigateKeysRecordTimestr_result.new()
          begin
            result.success = @handler.navigateKeysRecordTimestr(args.keys, args.record, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysRecordTimestr', seqid)
        end

        def process_navigateKeysRecords(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecords_args)
          result = NavigateKeysRecords_result.new()
          begin
            result.success = @handler.navigateKeysRecords(args.keys, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeysRecords', seqid)
        end

        def process_navigateKeyRecords(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecords_args)
          result = NavigateKeyRecords_result.new()
          begin
            result.success = @handler.navigateKeyRecords(args.key, args.records, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeyRecords', seqid)
        end

        def process_navigateKeyRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecordsTime_args)
          result = NavigateKeyRecordsTime_result.new()
          begin
            result.success = @handler.navigateKeyRecordsTime(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeyRecordsTime', seqid)
        end

        def process_navigateKeyRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyRecordsTimestr_args)
          result = NavigateKeyRecordsTimestr_result.new()
          begin
            result.success = @handler.navigateKeyRecordsTimestr(args.key, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyRecordsTimestr', seqid)
        end

        def process_navigateKeysRecordsTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecordsTime_args)
          result = NavigateKeysRecordsTime_result.new()
          begin
            result.success = @handler.navigateKeysRecordsTime(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'navigateKeysRecordsTime', seqid)
        end

        def process_navigateKeysRecordsTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysRecordsTimestr_args)
          result = NavigateKeysRecordsTimestr_result.new()
          begin
            result.success = @handler.navigateKeysRecordsTimestr(args.keys, args.records, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysRecordsTimestr', seqid)
        end

        def process_navigateKeyCcl(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCcl_args)
          result = NavigateKeyCcl_result.new()
          begin
            result.success = @handler.navigateKeyCcl(args.key, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCcl', seqid)
        end

        def process_navigateKeyCclTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCclTime_args)
          result = NavigateKeyCclTime_result.new()
          begin
            result.success = @handler.navigateKeyCclTime(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCclTime', seqid)
        end

        def process_navigateKeyCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCclTimestr_args)
          result = NavigateKeyCclTimestr_result.new()
          begin
            result.success = @handler.navigateKeyCclTimestr(args.key, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCclTimestr', seqid)
        end

        def process_navigateKeysCcl(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCcl_args)
          result = NavigateKeysCcl_result.new()
          begin
            result.success = @handler.navigateKeysCcl(args.keys, args.ccl, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCcl', seqid)
        end

        def process_navigateKeysCclTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCclTime_args)
          result = NavigateKeysCclTime_result.new()
          begin
            result.success = @handler.navigateKeysCclTime(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCclTime', seqid)
        end

        def process_navigateKeysCclTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCclTimestr_args)
          result = NavigateKeysCclTimestr_result.new()
          begin
            result.success = @handler.navigateKeysCclTimestr(args.keys, args.ccl, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCclTimestr', seqid)
        end

        def process_navigateKeyCriteria(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCriteria_args)
          result = NavigateKeyCriteria_result.new()
          begin
            result.success = @handler.navigateKeyCriteria(args.key, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCriteria', seqid)
        end

        def process_navigateKeyCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCriteriaTime_args)
          result = NavigateKeyCriteriaTime_result.new()
          begin
            result.success = @handler.navigateKeyCriteriaTime(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCriteriaTime', seqid)
        end

        def process_navigateKeyCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeyCriteriaTimestr_args)
          result = NavigateKeyCriteriaTimestr_result.new()
          begin
            result.success = @handler.navigateKeyCriteriaTimestr(args.key, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeyCriteriaTimestr', seqid)
        end

        def process_navigateKeysCriteria(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCriteria_args)
          result = NavigateKeysCriteria_result.new()
          begin
            result.success = @handler.navigateKeysCriteria(args.keys, args.criteria, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCriteria', seqid)
        end

        def process_navigateKeysCriteriaTime(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCriteriaTime_args)
          result = NavigateKeysCriteriaTime_result.new()
          begin
            result.success = @handler.navigateKeysCriteriaTime(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCriteriaTime', seqid)
        end

        def process_navigateKeysCriteriaTimestr(seqid, iprot, oprot)
          args = read_args(iprot, NavigateKeysCriteriaTimestr_args)
          result = NavigateKeysCriteriaTimestr_result.new()
          begin
            result.success = @handler.navigateKeysCriteriaTimestr(args.keys, args.criteria, args.timestamp, args.creds, args.transaction, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'navigateKeysCriteriaTimestr', seqid)
        end

        def process_getServerEnvironment(seqid, iprot, oprot)
          args = read_args(iprot, GetServerEnvironment_args)
          result = GetServerEnvironment_result.new()
          begin
            result.success = @handler.getServerEnvironment(args.creds, args.token, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getServerEnvironment', seqid)
        end

        def process_getServerVersion(seqid, iprot, oprot)
          args = read_args(iprot, GetServerVersion_args)
          result = GetServerVersion_result.new()
          begin
            result.success = @handler.getServerVersion()
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'getServerVersion', seqid)
        end

        def process_time(seqid, iprot, oprot)
          args = read_args(iprot, Time_args)
          result = Time_result.new()
          begin
            result.success = @handler.time(args.creds, args.token, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          end
          write_result(result, oprot, 'time', seqid)
        end

        def process_timePhrase(seqid, iprot, oprot)
          args = read_args(iprot, TimePhrase_args)
          result = TimePhrase_result.new()
          begin
            result.success = @handler.timePhrase(args.phrase, args.creds, args.token, args.environment)
          rescue ::Concourse::SecurityException => ex
            result.ex = ex
          rescue ::Concourse::TransactionException => ex2
            result.ex2 = ex2
          rescue ::Concourse::ParseException => ex3
            result.ex3 = ex3
          end
          write_result(result, oprot, 'timePhrase', seqid)
        end

      end

      # HELPER FUNCTIONS AND STRUCTURES

      class Abort_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TRANSACTION = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Abort_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValue_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValue_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValueRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValueRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValueRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORDS = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AddKeyValueRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::BOOL}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditRecordStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AuditKeyRecordStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeys_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeys_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeysTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeysTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeysTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class BrowseKeysTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ChronologizeKeyRecordStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeysRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeysRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeysRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ClearKeysRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Commit_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TRANSACTION = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Commit_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Describe_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TRANSACTION = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Describe_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        TIMESTAMP = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        TIMESTAMP = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRING}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRING}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DescribeRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRING}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffRecordStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        START = 3
        TEND = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyRecordStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStart_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStart_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        START = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartEnd_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          START => {:type => ::Thrift::Types::I64, :name => 'start'},
          TEND => {:type => ::Thrift::Types::I64, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartEnd_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartstrEndstr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        START = 2
        TEND = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          START => {:type => ::Thrift::Types::STRING, :name => 'start'},
          TEND => {:type => ::Thrift::Types::STRING, :name => 'tend'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class DiffKeyStartstrEndstr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32, :enum_class => ::Concourse::Thrift::Diff}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::I64}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InvokePlugin_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        ID = 1
        METHOD = 2
        PARAMS = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          ID => {:type => ::Thrift::Types::STRING, :name => 'id'},
          METHOD => {:type => ::Thrift::Types::STRING, :name => 'method'},
          PARAMS => {:type => ::Thrift::Types::LIST, :name => 'params', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::ComplexTObject}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InvokePlugin_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::ComplexTObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Login_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        USERNAME = 1
        PASSWORD = 2
        ENVIRONMENT = 3

        FIELDS = {
          USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :binary => true},
          PASSWORD => {:type => ::Thrift::Types::STRING, :name => 'password', :binary => true},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Login_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::AccessToken},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Logout_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        TOKEN = 1
        ENVIRONMENT = 2

        FIELDS = {
          TOKEN => {:type => ::Thrift::Types::STRUCT, :name => 'token', :class => ::Concourse::Thrift::AccessToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Logout_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Stage_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        TOKEN = 1
        ENVIRONMENT = 2

        FIELDS = {
          TOKEN => {:type => ::Thrift::Types::STRUCT, :name => 'token', :class => ::Concourse::Thrift::AccessToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Stage_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TransactionToken},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJson_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        JSON = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          JSON => {:type => ::Thrift::Types::STRING, :name => 'json'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJson_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJsonRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        JSON = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          JSON => {:type => ::Thrift::Types::STRING, :name => 'json'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJsonRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJsonRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        JSON = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          JSON => {:type => ::Thrift::Types::STRING, :name => 'json'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class InsertJsonRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::BOOL}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RemoveKeyValueRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RemoveKeyValueRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RemoveKeyValueRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORDS = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RemoveKeyValueRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::BOOL}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValueRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValueRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValue_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValue_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValueRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORDS = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SetKeyValueRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ReconcileKeyRecordValues_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        VALUES = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          VALUES => {:type => ::Thrift::Types::SET, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class ReconcileKeyRecordValues_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Inventory_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TRANSACTION = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Inventory_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SelectKeysCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetKeysCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyKeyValueRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        IDENTIFIER = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          IDENTIFIER => {:type => ::Thrift::Types::BOOL, :name => 'identifier'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        IDENTIFIER = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          IDENTIFIER => {:type => ::Thrift::Types::BOOL, :name => 'identifier'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        TIMESTAMP = 2
        IDENTIFIER = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          IDENTIFIER => {:type => ::Thrift::Types::BOOL, :name => 'identifier'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class JsonifyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValues_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::I32, :name => 'operator', :enum_class => ::Concourse::Thrift::Operator},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
          unless @operator.nil? || ::Concourse::Thrift::Operator::VALID_VALUES.include?(@operator)
            raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field operator!')
          end
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValues_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValuesTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::I32, :name => 'operator', :enum_class => ::Concourse::Thrift::Operator},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
          unless @operator.nil? || ::Concourse::Thrift::Operator::VALID_VALUES.include?(@operator)
            raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field operator!')
          end
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValuesTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValuesTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::I32, :name => 'operator', :enum_class => ::Concourse::Thrift::Operator},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
          unless @operator.nil? || ::Concourse::Thrift::Operator::VALID_VALUES.include?(@operator)
            raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field operator!')
          end
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorValuesTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValues_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::STRING, :name => 'operator'},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValues_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValuesTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::STRING, :name => 'operator'},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValuesTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValuesTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        OPERATOR = 2
        VALUES = 3
        TIMESTAMP = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          OPERATOR => {:type => ::Thrift::Types::STRING, :name => 'operator'},
          VALUES => {:type => ::Thrift::Types::LIST, :name => 'values', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindKeyOperatorstrValuesTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Search_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        QUERY = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          QUERY => {:type => ::Thrift::Types::STRING, :name => 'query'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Search_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::SET, :name => 'success', :element => {:type => ::Thrift::Types::I64}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeysRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class RevertKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class PingRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORDS = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class PingRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::BOOL}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class PingRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        RECORD = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class PingRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyAndSwap_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        EXPECTED = 2
        RECORD = 3
        REPLACEMENT = 4
        CREDS = 5
        TRANSACTION = 6
        ENVIRONMENT = 7

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          EXPECTED => {:type => ::Thrift::Types::STRUCT, :name => 'expected', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          REPLACEMENT => {:type => ::Thrift::Types::STRUCT, :name => 'replacement', :class => ::Concourse::Thrift::TObject},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyAndSwap_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyOrSet_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        RECORD = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class VerifyOrSet_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrAddKeyValue_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        VALUE = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          VALUE => {:type => ::Thrift::Types::STRUCT, :name => 'value', :class => ::Concourse::Thrift::TObject},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrAddKeyValue_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3
        EX4 = 4

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::DuplicateEntryException},
          EX4 => {:type => ::Thrift::Types::STRUCT, :name => 'ex4', :class => ::Concourse::InvalidArgumentException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrInsertCriteriaJson_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CRITERIA = 1
        JSON = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          JSON => {:type => ::Thrift::Types::STRING, :name => 'json'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrInsertCriteriaJson_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::DuplicateEntryException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrInsertCclJson_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CCL = 1
        JSON = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          JSON => {:type => ::Thrift::Types::STRING, :name => 'json'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class FindOrInsertCclJson_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3
        EX4 = 4

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException},
          EX4 => {:type => ::Thrift::Types::STRUCT, :name => 'ex4', :class => ::Concourse::DuplicateEntryException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class SumKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class AverageKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class CountKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MaxKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKey_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CREDS = 2
        TRANSACTION = 3
        ENVIRONMENT = 4

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKey_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        TIMESTAMP = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class MinKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Concourse::Thrift::TObject},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecord_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecord_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORD = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORD => {:type => ::Thrift::Types::I64, :name => 'record'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecords_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecords_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordsTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordsTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordsTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        RECORDS = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          RECORDS => {:type => ::Thrift::Types::LIST, :name => 'records', :element => {:type => ::Thrift::Types::I64}},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysRecordsTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCcl_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCcl_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCclTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCclTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCclTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CCL = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CCL => {:type => ::Thrift::Types::STRING, :name => 'ccl'},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCclTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEY = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeyCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteria_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        CREDS = 3
        TRANSACTION = 4
        ENVIRONMENT = 5

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteria_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteriaTime_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteriaTime_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteriaTimestr_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        KEYS = 1
        CRITERIA = 2
        TIMESTAMP = 3
        CREDS = 4
        TRANSACTION = 5
        ENVIRONMENT = 6

        FIELDS = {
          KEYS => {:type => ::Thrift::Types::LIST, :name => 'keys', :element => {:type => ::Thrift::Types::STRING}},
          CRITERIA => {:type => ::Thrift::Types::STRUCT, :name => 'criteria', :class => ::Concourse::Thrift::TCriteria},
          TIMESTAMP => {:type => ::Thrift::Types::STRING, :name => 'timestamp'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TRANSACTION => {:type => ::Thrift::Types::STRUCT, :name => 'transaction', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class NavigateKeysCriteriaTimestr_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::MAP, :name => 'success', :key => {:type => ::Thrift::Types::I64}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::SET, :element => {:type => ::Thrift::Types::STRUCT, :class => ::Concourse::Thrift::TObject}}}},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetServerEnvironment_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TOKEN = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TOKEN => {:type => ::Thrift::Types::STRUCT, :name => 'token', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetServerEnvironment_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetServerVersion_args
        include ::Thrift::Struct, ::Thrift::Struct_Union

        FIELDS = {

        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class GetServerVersion_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Time_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        CREDS = 1
        TOKEN = 2
        ENVIRONMENT = 3

        FIELDS = {
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TOKEN => {:type => ::Thrift::Types::STRUCT, :name => 'token', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class Time_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class TimePhrase_args
        include ::Thrift::Struct, ::Thrift::Struct_Union
        PHRASE = 1
        CREDS = 2
        TOKEN = 3
        ENVIRONMENT = 4

        FIELDS = {
          PHRASE => {:type => ::Thrift::Types::STRING, :name => 'phrase'},
          CREDS => {:type => ::Thrift::Types::STRUCT, :name => 'creds', :class => ::Concourse::Thrift::AccessToken},
          TOKEN => {:type => ::Thrift::Types::STRUCT, :name => 'token', :class => ::Concourse::Thrift::TransactionToken},
          ENVIRONMENT => {:type => ::Thrift::Types::STRING, :name => 'environment'}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

      class TimePhrase_result
        include ::Thrift::Struct, ::Thrift::Struct_Union
        SUCCESS = 0
        EX = 1
        EX2 = 2
        EX3 = 3

        FIELDS = {
          SUCCESS => {:type => ::Thrift::Types::I64, :name => 'success'},
          EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Concourse::SecurityException},
          EX2 => {:type => ::Thrift::Types::STRUCT, :name => 'ex2', :class => ::Concourse::TransactionException},
          EX3 => {:type => ::Thrift::Types::STRUCT, :name => 'ex3', :class => ::Concourse::ParseException}
        }

        def struct_fields; FIELDS; end

        def validate
        end

        ::Thrift::Struct.generate_accessors self
      end

    end

  end
end
