4 releases (2 breaking)
Uses new Rust 2024
| 0.4.2 | May 8, 2026 |
|---|---|
| 0.4.0 |
|
| 0.3.1 |
|
| 0.2.0 | Feb 13, 2026 |
| 0.1.1 | Feb 4, 2026 |
#2 in #tapis
45 downloads per month
Used in tapis-sdk
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
- Commands
- CredentialsModel
- DeleteSnapshotResponse
- DeleteVolumeResponse
- ExecutePodCommands
- FileModel
- FilesListResponse
- FilesUploadResponse
- HttpValidationError
- ImageDeleteResponse
- ImageResponse
- ImageResponseModel
- ImagesResponse
- LogsModel
- ModelsPodsResources
- ModelsTemplatesTagsResources
- Networking
- NewImage
- NewPod
- NewSecret
- NewSnapshot
- NewTemplate
- NewTemplateTag
- NewTemplateTagFromPod
- NewVolume
- PermissionsModel
- PodCredentialsResponse
- PodDeleteResponse
- PodLogsResponse
- PodPermissionsResponse
- PodResponse
- PodResponseModel
- PodsResponse
- ResponseGetImage
- ResponseGetTemplate
- ResponseGetTemplateTag
- ResponseListTemplateTags
- ResponseListTemplates
- SecretDeleteResponse
- SecretResponse
- SecretResponseModel
- SecretValueResponse
- SecretsResponse
- SetPermission
- SnapshotPermissionsResponse
- SnapshotResponse
- SnapshotResponseModel
- SnapshotsResponse
- TemplateDeleteResponse
- TemplatePermissionsResponse
- TemplateResponse
- TemplateResponseModel
- TemplateTag
- TemplateTagDeleteResponse
- TemplateTagDependencyInfo
- TemplateTagDependents
- TemplateTagPodDefinition
- TemplateTagResponse
- TemplateTagWithDependents
- TemplateTagsResponse
- TemplateTagsWithDependentsResponse
- TemplateWithDependentsModel
- TemplateWithDependentsResponse
- TemplatesResponse
- TemplatesWithDependentsResponse
- UpdateImage
- UpdatePod
- UpdateSecret
- UpdateSnapshot
- UpdateTemplate
- UpdateVolume
- ValidationError
- ValidationErrorLocInner
- VolumeMount
- VolumeMountsValue
- VolumePermissionsResponse
- VolumeResponse
- VolumeResponseModel
- VolumesResponse
To get access to the crate's generated documentation, use:
cargo doc --open
Author
Dependencies
~11–19MB
~316K SLoC