Thanks to visit codestin.com
Credit goes to lib.rs

#pods #deployment #credentials #templating #docker-container #tcp-port #api-reference #web-services #message-broker #tapis

tapis-pods

The Pods Service is a web service and distributed computing platform providing pods-as-a-service (PaaS). The service implements a message broker and processor model that requests pods, alongside a health module to poll for pod data, including logs, status, and health. The primary use of this service is to have quick to deploy long-lived services based on Docker images that are exposed via HTTP or TCP endpoints listed by the API. The Pods service provides functionality for two types of pod solutions: * Templated Pods for run-as-is popular images. Neo4J is one example, the template manages TCP ports, user creation, and permissions. * Custom Pods for arbitrary docker images with less functionality. In this case we will expose port 5000 and do nothing else. The live-docs act as the most up-to-date API reference. Visit the documentation for more information.

4 releases (2 breaking)

Uses new Rust 2024

0.4.2 May 8, 2026
0.4.0 May 8, 2026
0.3.1 Apr 11, 2026
0.2.0 Feb 13, 2026
0.1.1 Feb 4, 2026

#2 in #tapis

45 downloads per month
Used in tapis-sdk

BSD-3-Clause

505KB
9K SLoC

Rust API client for tapis-pods

The Pods Service is a web service and distributed computing platform providing pods-as-a-service (PaaS). The service implements a message broker and processor model that requests pods, alongside a health module to poll for pod data, including logs, status, and health. The primary use of this service is to have quick to deploy long-lived services based on Docker images that are exposed via HTTP or TCP endpoints listed by the API.

The Pods service provides functionality for two types of pod solutions:

  • Templated Pods for run-as-is popular images. Neo4J is one example, the template manages TCP ports, user creation, and permissions.
  • Custom Pods for arbitrary docker images with less functionality. In this case we will expose port 5000 and do nothing else.

The live-docs act as the most up-to-date API reference. Visit the documentation for more information.

For more information, please visit https://tapis-project.org/

Overview

This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.

  • API version: 26Q1.1
  • Package version: 0.4.2
  • Generator version: 7.18.0
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder in a directory named tapis-pods and add the following to Cargo.toml under [dependencies]:

tapis-pods = { path = "./tapis-pods" }

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
ImagesApi add_image POST /pods/images add_image
ImagesApi add_images POST /pods/images/bulk add_images
ImagesApi delete_image DELETE /pods/images/{image_id} delete_image
ImagesApi get_image GET /pods/images/{image_id} get_image
ImagesApi get_images GET /pods/images get_images
ImagesApi update_image PUT /pods/images/{image_id} update_image
JupyterApi ensure_jupyter_pod GET /pods/jupyter/ensure Ensure user has a running Jupyter pod, useful for starting up coding environment
JupyterApi upload_to_jupyter POST /pods/jupyter/{pod_id}/upload Upload a document to the user's Jupyter pod
MiscApi error_handler GET /error-handler/{status} error_handler
MiscApi healthcheck GET /healthcheck healthcheck
MiscApi traefik_config GET /traefik-config traefik_config
PermissionsApi delete_pod_permission DELETE /pods/{pod_id}/permissions/{user} delete_pod_permission
PermissionsApi delete_snapshot_permission DELETE /pods/snapshots/{snapshot_id}/permissions/{user} delete_snapshot_permission
PermissionsApi delete_template_permission DELETE /pods/templates/{template_id}/permissions/{user} delete_template_permission
PermissionsApi delete_volume_permission DELETE /pods/volumes/{volume_id}/permissions/{user} delete_volume_permission
PermissionsApi get_pod_permissions GET /pods/{pod_id}/permissions get_pod_permissions
PermissionsApi get_snapshot_permissions GET /pods/snapshots/{snapshot_id}/permissions get_snapshot_permissions
PermissionsApi get_template_permissions GET /pods/templates/{template_id}/permissions get_template_permissions
PermissionsApi get_volume_permissions GET /pods/volumes/{volume_id}/permissions get_volume_permissions
PermissionsApi set_pod_permission POST /pods/{pod_id}/permissions set_pod_permission
PermissionsApi set_snapshot_permission POST /pods/snapshots/{snapshot_id}/permissions set_snapshot_permission
PermissionsApi set_template_permission POST /pods/templates/{template_id}/permissions set_template_permission
PermissionsApi set_volume_permission POST /pods/volumes/{volume_id}/permissions set_volume_permission
PodsApi create_pod POST /pods create_pod
PodsApi delete_pod DELETE /pods/{pod_id} delete_pod
PodsApi download_from_pod GET /pods/{pod_id}/download_from_pod{url_path} Download a file from the pod's filesystem
PodsApi exec_pod_commands POST /pods/{pod_id}/exec exec_pod_commands
PodsApi get_derived_pod GET /pods/{pod_id}/derived get_derived_pod
PodsApi get_pod GET /pods/{pod_id} get_pod
PodsApi get_pod_credentials GET /pods/{pod_id}/credentials get_pod_credentials
PodsApi get_pod_logs GET /pods/{pod_id}/logs get_pod_logs
PodsApi list_files_in_pod GET /pods/{pod_id}/list_files{url_path} List files in the pod's filesystem
PodsApi list_pods GET /pods list_pods
PodsApi pod_auth GET /pods/{pod_id_net}/auth pod_auth
PodsApi pod_auth_callback GET /pods/{pod_id_net}/auth/callback pod_auth_callback
PodsApi restart_pod GET /pods/{pod_id}/restart restart_pod
PodsApi save_pod_as_template_tag POST /pods/{pod_id_net}/save_pod_as_template_tag save_pod_as_template_tag
PodsApi start_pod GET /pods/{pod_id}/start start_pod
PodsApi stop_pod GET /pods/{pod_id}/stop stop_pod
PodsApi update_pod PUT /pods/{pod_id} update_pod
PodsApi upload_to_pod POST /pods/{pod_id}/upload_to_pod Upload a file directly into the pod's filesystem
SecretsApi create_secret POST /pods/secrets create_secret
SecretsApi delete_secret DELETE /pods/secrets/{secret_id} delete_secret
SecretsApi get_secret GET /pods/secrets/{secret_id} get_secret
SecretsApi get_secret_value GET /pods/secrets/{secret_id}/value get_secret_value
SecretsApi list_secrets GET /pods/secrets list_secrets
SecretsApi update_secret PUT /pods/secrets/{secret_id} update_secret
SnapshotsApi create_snapshot POST /pods/snapshots create_snapshot
SnapshotsApi delete_snapshot DELETE /pods/snapshots/{snapshot_id} delete_snapshot
SnapshotsApi download_snapshot_file GET /pods/snapshots/{snapshot_id}/download/{path} download_snapshot_file
SnapshotsApi get_snapshot GET /pods/snapshots/{snapshot_id} get_snapshot
SnapshotsApi get_snapshot_contents GET /pods/snapshots/{snapshot_id}/contents/{path} get_snapshot_contents
SnapshotsApi list_snapshot_files GET /pods/snapshots/{snapshot_id}/list list_snapshot_files
SnapshotsApi list_snapshots GET /pods/snapshots list_snapshots
SnapshotsApi update_snapshot PUT /pods/snapshots/{snapshot_id} update_snapshot
TemplatesApi add_template POST /pods/templates add_template
TemplatesApi add_template_tag POST /pods/templates/{template_id}/tags add_template_tag
TemplatesApi delete_template DELETE /pods/templates/{template_id} delete_template
TemplatesApi delete_template_tag DELETE /pods/templates/{template_id}/tags/{tag_id} delete_template_tag
TemplatesApi get_template GET /pods/templates/{template_id} get_template
TemplatesApi get_template_tag GET /pods/templates/{template_id}/tags/{tag_id} get_template_tag
TemplatesApi list_template_tags GET /pods/templates/{template_id}/tags list_template_tags
TemplatesApi list_templates GET /pods/templates list_templates
TemplatesApi list_templates_and_tags GET /pods/templates/tags list_templates_and_tags
TemplatesApi update_template PUT /pods/templates/{template_id} update_template
VolumesApi create_volume POST /pods/volumes create_volume
VolumesApi delete_volume DELETE /pods/volumes/{volume_id} delete_volume
VolumesApi download_volume_file GET /pods/volumes/{volume_id}/download/{path} download_volume_file
VolumesApi get_volume GET /pods/volumes/{volume_id} get_volume
VolumesApi get_volume_contents GET /pods/volumes/{volume_id}/contents/{path} get_volume_contents
VolumesApi list_volume_files GET /pods/volumes/{volume_id}/list list_volume_files
VolumesApi list_volumes GET /pods/volumes list_volumes
VolumesApi update_volume PUT /pods/volumes/{volume_id} update_volume
VolumesApi upload_to_volume POST /pods/volumes/{volume_id}/upload/{path} upload_to_volume

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open

Author

[email protected]

Dependencies

~11–19MB
~316K SLoC