tapis-pods 0.3.1

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](https://tapis.readthedocs.io/en/latest/technical/pods.html).
Documentation
# 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]https://tapis.readthedocs.io/en/latest/technical/pods.html.


For more information, please visit [https://tapis-project.org/](https://tapis-project.org/)

## Overview

This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.

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


## Documentation For Models

 - [Commands]docs/Commands.md
 - [CredentialsModel]docs/CredentialsModel.md
 - [DeleteSnapshotResponse]docs/DeleteSnapshotResponse.md
 - [DeleteVolumeResponse]docs/DeleteVolumeResponse.md
 - [ExecutePodCommands]docs/ExecutePodCommands.md
 - [FileModel]docs/FileModel.md
 - [FilesListResponse]docs/FilesListResponse.md
 - [FilesUploadResponse]docs/FilesUploadResponse.md
 - [HttpValidationError]docs/HttpValidationError.md
 - [ImageDeleteResponse]docs/ImageDeleteResponse.md
 - [ImageResponse]docs/ImageResponse.md
 - [ImageResponseModel]docs/ImageResponseModel.md
 - [ImagesResponse]docs/ImagesResponse.md
 - [LogsModel]docs/LogsModel.md
 - [ModelsPodsResources]docs/ModelsPodsResources.md
 - [ModelsTemplatesTagsResources]docs/ModelsTemplatesTagsResources.md
 - [Networking]docs/Networking.md
 - [NewImage]docs/NewImage.md
 - [NewPod]docs/NewPod.md
 - [NewSecret]docs/NewSecret.md
 - [NewSnapshot]docs/NewSnapshot.md
 - [NewTemplate]docs/NewTemplate.md
 - [NewTemplateTag]docs/NewTemplateTag.md
 - [NewTemplateTagFromPod]docs/NewTemplateTagFromPod.md
 - [NewVolume]docs/NewVolume.md
 - [PermissionsModel]docs/PermissionsModel.md
 - [PodCredentialsResponse]docs/PodCredentialsResponse.md
 - [PodDeleteResponse]docs/PodDeleteResponse.md
 - [PodLogsResponse]docs/PodLogsResponse.md
 - [PodPermissionsResponse]docs/PodPermissionsResponse.md
 - [PodResponse]docs/PodResponse.md
 - [PodResponseModel]docs/PodResponseModel.md
 - [PodsResponse]docs/PodsResponse.md
 - [ResponseGetImage]docs/ResponseGetImage.md
 - [ResponseGetTemplate]docs/ResponseGetTemplate.md
 - [ResponseGetTemplateTag]docs/ResponseGetTemplateTag.md
 - [ResponseListTemplateTags]docs/ResponseListTemplateTags.md
 - [ResponseListTemplates]docs/ResponseListTemplates.md
 - [SecretDeleteResponse]docs/SecretDeleteResponse.md
 - [SecretResponse]docs/SecretResponse.md
 - [SecretResponseModel]docs/SecretResponseModel.md
 - [SecretValueResponse]docs/SecretValueResponse.md
 - [SecretsResponse]docs/SecretsResponse.md
 - [SetPermission]docs/SetPermission.md
 - [SnapshotPermissionsResponse]docs/SnapshotPermissionsResponse.md
 - [SnapshotResponse]docs/SnapshotResponse.md
 - [SnapshotResponseModel]docs/SnapshotResponseModel.md
 - [SnapshotsResponse]docs/SnapshotsResponse.md
 - [TemplateDeleteResponse]docs/TemplateDeleteResponse.md
 - [TemplatePermissionsResponse]docs/TemplatePermissionsResponse.md
 - [TemplateResponse]docs/TemplateResponse.md
 - [TemplateResponseModel]docs/TemplateResponseModel.md
 - [TemplateTag]docs/TemplateTag.md
 - [TemplateTagDeleteResponse]docs/TemplateTagDeleteResponse.md
 - [TemplateTagDependencyInfo]docs/TemplateTagDependencyInfo.md
 - [TemplateTagDependents]docs/TemplateTagDependents.md
 - [TemplateTagPodDefinition]docs/TemplateTagPodDefinition.md
 - [TemplateTagResponse]docs/TemplateTagResponse.md
 - [TemplateTagWithDependents]docs/TemplateTagWithDependents.md
 - [TemplateTagsResponse]docs/TemplateTagsResponse.md
 - [TemplateTagsWithDependentsResponse]docs/TemplateTagsWithDependentsResponse.md
 - [TemplateWithDependentsModel]docs/TemplateWithDependentsModel.md
 - [TemplateWithDependentsResponse]docs/TemplateWithDependentsResponse.md
 - [TemplatesResponse]docs/TemplatesResponse.md
 - [TemplatesWithDependentsResponse]docs/TemplatesWithDependentsResponse.md
 - [UpdateImage]docs/UpdateImage.md
 - [UpdatePod]docs/UpdatePod.md
 - [UpdateSecret]docs/UpdateSecret.md
 - [UpdateSnapshot]docs/UpdateSnapshot.md
 - [UpdateTemplate]docs/UpdateTemplate.md
 - [UpdateVolume]docs/UpdateVolume.md
 - [ValidationError]docs/ValidationError.md
 - [ValidationErrorLocInner]docs/ValidationErrorLocInner.md
 - [VolumeMount]docs/VolumeMount.md
 - [VolumeMountsValue]docs/VolumeMountsValue.md
 - [VolumePermissionsResponse]docs/VolumePermissionsResponse.md
 - [VolumeResponse]docs/VolumeResponse.md
 - [VolumeResponseModel]docs/VolumeResponseModel.md
 - [VolumesResponse]docs/VolumesResponse.md


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

```
cargo doc --open
```

## Author

cicsupport@tacc.utexas.edu