Warning
This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.webapps.galaxy.api.job_ports
""" API for asynchronous job running mechanisms can use to fetch or put files
related to running and queued jobs.
"""
from galaxy.job_execution.ports import JobPortsView
from galaxy.structured_app import StructuredApp
from galaxy.web import expose_api_anonymous_and_sessionless
from . import BaseGalaxyAPIController
[docs]class JobPortsAPIController(BaseGalaxyAPIController):
""" This job files controller allows remote job running mechanisms to
modify the current state of ports for queued and running jobs.
It is certainly not meant to represent part of Galaxy's stable, user
facing API.
See the JobFiles API for information about per-job API keys.
"""
[docs] def __init__(self, app: StructuredApp):
super().__init__(app)
self._job_ports_view = JobPortsView(app)
[docs] @expose_api_anonymous_and_sessionless
def create(self, trans, job_id, payload, **kwargs):
"""
create( self, trans, job_id, payload, **kwargs )
* POST /api/jobs/{job_id}/ports
Populate port information for interactive tools.
:type job_id: str
:param job_id: encoded id string of the job
:type payload: dict
:param payload: dictionary structure containing::
'job_key' = Key authenticating
'container_runtime' = Path to file to create.
..note:
This API method is intended only for consumption by job runners,
not end users.
:rtype: dict
:returns: an okay message
"""
payload.update(kwargs)
return self._job_ports_view.register_container_information(job_id, **payload)