'@param klass The thrift client class
@param host Host to connect to
@param port Port to connect to
@param service_name A human-readable name to describe the service
@param use_sasl If true, will use KERBEROS or PLAIN over SASL to authenticate
@param use_ssl If true, will use ca_certs, keyfile, and certfile to create TLS connection
@param mechanism: GSSAPI or PLAIN if SASL
@param username: username if PLAIN SASL or LDAP only
@param password: password if PLAIN LDAP only
@param kerberos_principal The Kerberos service name to connect to.
NOTE: for a service like fooservice/foo.blah.com@REALM only
specify "fooservice", NOT the full principal name.
@param ca_certs certificate authority certificates
@param keyfile private key file
@param certfile certificate file
@param validate Validate the certificate received from server
@param timeout_seconds Timeout for thrift calls
@param transport string representation of thrift transport to use
@param multiple Whether Use MultiplexedProtocol
@param transport_mode Can be socket or http
@param Url used when using http transport mode'

def __init__(self, klass, host, port, service_name, use_sasl=False, use_ssl=False, kerberos_principal='thrift', mechanism='GSSAPI', username='hue', password='hue', ca_certs=None, keyfile=None, certfile=None, validate=False, timeout_seconds=45, transport='buffered', multiple=False, transport_mode='socket', http_url=''):

    self.klass = klass
    self.host = host
    self.port = port
    self.service_name = service_name
    self.use_sasl = use_sasl
    self.use_ssl = use_ssl
    self.mechanism = mechanism
    self.username = username
    self.password = password
    self.kerberos_principal = kerberos_principal
    self.ca_certs = ca_certs
    self.keyfile = keyfile
    self.certfile = certfile
    self.validate = validate
    self.timeout_seconds = timeout_seconds
    self.transport = transport
    self.multiple = multiple
    self.transport_mode = transport_mode
    self.http_url = http_url
