- api/permission-model.html.textile.liquid
- api/execution.html.textile.liquid
- Permission and authentication:
- - api/methods/users.html.textile.liquid
- - api/methods/groups.html.textile.liquid
- api/methods/api_client_authorizations.html.textile.liquid
- api/methods/api_clients.html.textile.liquid
- api/methods/authorized_keys.html.textile.liquid
+ - api/methods/groups.html.textile.liquid
+ - api/methods/users.html.textile.liquid
- System resources:
- api/methods/keep_services.html.textile.liquid
- api/methods/links.html.textile.liquid
--- /dev/null
+---
+layout: default
+navsection: api
+title: Computing with Crunch
+...
+
+Crunch is the name for the Arvados system for managing computation. It provides an abstract API to various clouds and HPC resource allocation and scheduling systems.
+
+h2. Container API
+
+Note: although the preferred API for Aravdos going forward, the Container API may not yet be available on all installations.
+
+# To submit work, create a "container request":{{site.baseurl}}/api/methods/container_requests.html in the @Committed@ state.
+# The system will fufill the container request by creating a "Container object":{{site.baseurl}}/api/methods/containers.html or, if the same request has been submitted in the past, reusing an existing container. This will be assigned to the @container_uuid@ field.
+# The dispatcher process will notice a new container in @Queued@ state and submit a container executor to the underyling work queuing system (such as SLURM).
+# The container executes. Upon termination the container goes into the @Complete@ state. If the container execution was interrupted or lost due to system failure, it will go into the @Cancelled@ state.
+# When the container associated with the container request is completed, the container request will go into the @Final@ state.
+# Retrieve the container object; the @output@ field contains the portable data hash of collection with the output files of the container.
+
+h2. Job API (deprecated)
+
+# To submit work, create a "job":{{site.baseurl}}/api/methods/job.html . If the same job has been submitted in the past, it will return an existing job in @Completed@ state.
+# The dispatcher process will notice a new job in @Queued@ state and attempt to allocate nodes to run the job.
+# The job executes.
+# Retrieve the @output@ field with the portable data hash of the collection with the output files of the job.
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/api_clients@
+UUID type: @ozdt8@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/authorized_keys@
+UUID type: @fngyi@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/collections@
+UUID type: @4zz18@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Methods
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/container_requests@
+UUID type: @xvhdp@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/containers@
+UUID type: @dz642@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/groups@
+UUID type: @j7d0g@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/humans@
+UUID type: @7a9it@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/job_tasks@
+UUID type: @ot0gb@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/jobs@
+UUID type: @8i9sb@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/keep_disks@
+UUID type: @penuu@
+
Required arguments are displayed in %{background:#ccffcc}green%.
+Obsoleted by "keep_services":{{site.baseurl}}/api/methods/keep_services.html
+
h2. Resource
Each KeepDisk has, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
|keep_service_uuid|string|||
h2. Methods
+
h3. create
Create a new KeepDisk.
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/keep_services@
+UUID type: @bi6l4@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
h3. accessible
-Get a list of keep services that are accessible to the requesting client. This
-is context-sensitive, for example providing the list of actual Keep servers
-when inside the cluster, but providing a proxy service if client contacts
-Arvados from outside the cluster.
+Get a list of keep services that are accessible to the requesting client. Unlike @list@, this is context-sensitive based on the requester, for example providing the list of actual Keep servers when inside the cluster, but providing a proxy service if client contacts Arvados from outside the cluster.
-Takes no arguments.
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
h3. create
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/links@
+UUID type: @o0j2j@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
h2. Methods
+
h3. create
Create a new Link.
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/logs@
+UUID type: @57u5n@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Creation
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/nodes@
+UUID type: @7ekkf@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/pipeline_instances@
+UUID type: @d1hrv@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/pipeline_templates@
+UUID type: @p5p6p@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/repositories@
+UUID type: @s0uqq@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
See "REST methods for working with Arvados resources":{{site.baseurl}}/api/methods.html
+UUID type: @j58dm@
+
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/specimens@
Required arguments are displayed in %{background:#ccffcc}green%.
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/traits@
+UUID type: @q1cn2@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/users@
+UUID type: @tpzed@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/virtual_machines@
+UUID type: @2x53u@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/workflows@
+UUID type: @7fd4e@
+
Required arguments are displayed in %{background:#ccffcc}green%.
h2. Resource
--- /dev/null
+---
+layout: default
+navsection: api
+title: API Authorization
+...
+
+All requests to the API server must have an API token. API tokens can be issued by going though the login flow, or created via the API. At this time, only browser based applications can perform login from email/password. Command line applications and services must have an API token provided via the @ARVADOS_API_TOKEN@ environment variable or configuration file.
+
+h2. Browser login
+
+Browser based applications can perform log in via the following flow:
+
+# The web application presents a "login" link to @/login@ on the API server with a @return_to@ parameter provided in the query portion of the URL. For example @https://{{ site.arvados_api_host }}/login?return_to=XXX@ , where @return_to=XXX@ is the URL of the login page for the web application.
+# The "login" link takes the browser to the login page (this may involve several redirects)
+# The user logs in. API server authenticates the user and issues a new API token.
+# The browser is redirected to the login page URL provided in @return_to=XXX@ with the addition of @?api_token=xxxxapitokenxxxx@.
+# The web application gets the login request with the included API token.
+
+h2. Creating tokens via the API
+
+Use the @create@ method of the "API client authorizations":{{site.baseurl}}/api/methods/api_client_authorizations.html resource.