':param    key: API key or username to used (required)
:type     key: ``str``
:param    secret: Secret password to be used (required)
:type     secret: ``str``
:param    secure: Whether to use HTTPS or HTTP. Note: Some providers
only support HTTPS, and it is on by default.
:type     secure: ``bool``
:param    host: Override hostname used for connections.
:type     host: ``str``
:param    port: Override port used for connections.
:type     port: ``int``
:param    key_file: Path to private key for TLS connection (optional)
:type     key_file: ``str``
:param    cert_file: Path to public key for TLS connection (optional)
:type     cert_file: ``str``
:return: ``None``'

def __init__(self, key=None, secret=None, secure=False, host='localhost', port=4243, key_file=None, cert_file=None):

    super(DockerContainerDriver, self).__init__(key=key, secret=secret, secure=secure, host=host, port=port, key_file=key_file, cert_file=cert_file)
    if host.startswith('https://'):
        secure = True
    prefixes = ['http://', 'https://']
    for prefix in prefixes:
        if host.startswith(prefix):
            host = host.strip(prefix)
    if (key_file or cert_file):
        if (not (key_file and cert_file)):
            raise Exception('Needs    both    private    key    file    and    certificate    file    for    tls    authentication')
        self.connection.key_file = key_file
        self.connection.cert_file = cert_file
        self.connection.secure = True
    else:
        self.connection.secure = secure
    self.connection.host = host
    self.connection.port = port
