'Creates a new ``DatabricksSubmitRunOperator``.'

def __init__(self, json=None, spark_jar_task=None, notebook_task=None, new_cluster=None, existing_cluster_id=None, libraries=None, run_name=None, timeout_seconds=None, databricks_conn_id='databricks_default', polling_period_seconds=30, databricks_retry_limit=3, **kwargs):

    super(DatabricksSubmitRunOperator, self).__init__(**kwargs)
    self.json = (json or {})
    self.databricks_conn_id = databricks_conn_id
    self.polling_period_seconds = polling_period_seconds
    self.databricks_retry_limit = databricks_retry_limit
    if (spark_jar_task is not None):
        self.json['spark_jar_task'] = spark_jar_task
    if (notebook_task is not None):
        self.json['notebook_task'] = notebook_task
    if (new_cluster is not None):
        self.json['new_cluster'] = new_cluster
    if (existing_cluster_id is not None):
        self.json['existing_cluster_id'] = existing_cluster_id
    if (libraries is not None):
        self.json['libraries'] = libraries
    if (run_name is not None):
        self.json['run_name'] = run_name
    if (timeout_seconds is not None):
        self.json['timeout_seconds'] = timeout_seconds
    if ('run_name' not in self.json):
        self.json['run_name'] = (run_name or kwargs['task_id'])
    self.json = self._deep_string_coerce(self.json)
    self.run_id = None
