Stop a running pipeline. The API waits for the pipeline to be 'STOPPED' before returning.

    Args:
        url         (str): the host url in the form 'http://host:port/'.
        pipeline_id (str): the ID of of the exported pipeline.
        auth      (tuple): a tuple of username, and password.
        verify_ssl (bool): whether to verify ssl certificates

    Returns:
        dict: the response json

def stop_pipeline(url, pipeline_id, auth, verify_ssl):
    """Stop a running pipeline. The API waits for the pipeline to be 'STOPPED' before returning.

    Args:
        url         (str): the host url in the form 'http://host:port/'.
        pipeline_id (str): the ID of of the exported pipeline.
        auth      (tuple): a tuple of username, and password.
        verify_ssl (bool): whether to verify ssl certificates

    Returns:
        dict: the response json

    """

    stop_result = requests.post(url + '/' + pipeline_id + '/stop', headers=X_REQ_BY, auth=auth, verify=verify_ssl)
    stop_result.raise_for_status()

    logging.info("Pipeline stop requested.")

    poll_pipeline_status(STATUS_STOPPED, url, pipeline_id, auth, verify_ssl)

    logging.info('Pipeline stopped.')
    return stop_result.json()