# Rust API client for tapis-apps

The Tapis Applications API provides for management of Tapis applications including permissions.

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: 25Q4.0
- Package version: 0.2.0
- 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-apps` and add the following to `Cargo.toml` under `[dependencies]`:

```
tapis-apps = { path = "./tapis-apps" }
```

## Documentation for API Endpoints

All URIs are relative to *http://localhost:8080*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ApplicationsApi* | [**change_app_owner**](docs/ApplicationsApi.md#change_app_owner) | **POST** /v3/apps/{appId}/changeOwner/{userName} | 
*ApplicationsApi* | [**create_app_version**](docs/ApplicationsApi.md#create_app_version) | **POST** /v3/apps | 
*ApplicationsApi* | [**delete_app**](docs/ApplicationsApi.md#delete_app) | **POST** /v3/apps/{appId}/delete | 
*ApplicationsApi* | [**disable_app**](docs/ApplicationsApi.md#disable_app) | **POST** /v3/apps/{appId}/disable | 
*ApplicationsApi* | [**disable_app_version**](docs/ApplicationsApi.md#disable_app_version) | **POST** /v3/apps/{appId}/{appVersion}/disable | 
*ApplicationsApi* | [**enable_app**](docs/ApplicationsApi.md#enable_app) | **POST** /v3/apps/{appId}/enable | 
*ApplicationsApi* | [**enable_app_version**](docs/ApplicationsApi.md#enable_app_version) | **POST** /v3/apps/{appId}/{appVersion}/enable | 
*ApplicationsApi* | [**get_app**](docs/ApplicationsApi.md#get_app) | **GET** /v3/apps/{appId}/{appVersion} | 
*ApplicationsApi* | [**get_app_latest_version**](docs/ApplicationsApi.md#get_app_latest_version) | **GET** /v3/apps/{appId} | 
*ApplicationsApi* | [**get_apps**](docs/ApplicationsApi.md#get_apps) | **GET** /v3/apps | 
*ApplicationsApi* | [**get_history**](docs/ApplicationsApi.md#get_history) | **GET** /v3/apps/{appId}/history | 
*ApplicationsApi* | [**is_enabled**](docs/ApplicationsApi.md#is_enabled) | **GET** /v3/apps/{appId}/isEnabled | 
*ApplicationsApi* | [**lock_app**](docs/ApplicationsApi.md#lock_app) | **POST** /v3/apps/{appId}/{appVersion}/lock | 
*ApplicationsApi* | [**patch_app**](docs/ApplicationsApi.md#patch_app) | **PATCH** /v3/apps/{appId}/{appVersion} | 
*ApplicationsApi* | [**put_app**](docs/ApplicationsApi.md#put_app) | **PUT** /v3/apps/{appId}/{appVersion} | 
*ApplicationsApi* | [**search_apps_query_parameters**](docs/ApplicationsApi.md#search_apps_query_parameters) | **GET** /v3/apps/search | 
*ApplicationsApi* | [**search_apps_request_body**](docs/ApplicationsApi.md#search_apps_request_body) | **POST** /v3/apps/search | 
*ApplicationsApi* | [**undelete_app**](docs/ApplicationsApi.md#undelete_app) | **POST** /v3/apps/{appId}/undelete | 
*ApplicationsApi* | [**unlock_app**](docs/ApplicationsApi.md#unlock_app) | **POST** /v3/apps/{appId}/{appVersion}/unlock | 
*GeneralApi* | [**health_check**](docs/GeneralApi.md#health_check) | **GET** /v3/apps/healthcheck | 
*GeneralApi* | [**ready_check**](docs/GeneralApi.md#ready_check) | **GET** /v3/apps/readycheck | 
*PermissionsApi* | [**get_user_perms**](docs/PermissionsApi.md#get_user_perms) | **GET** /v3/apps/perms/{appId}/user/{userName} | 
*PermissionsApi* | [**grant_user_perms**](docs/PermissionsApi.md#grant_user_perms) | **POST** /v3/apps/perms/{appId}/user/{userName} | 
*PermissionsApi* | [**revoke_user_perm**](docs/PermissionsApi.md#revoke_user_perm) | **DELETE** /v3/apps/perms/{appId}/user/{userName}/{permission} | 
*PermissionsApi* | [**revoke_user_perms**](docs/PermissionsApi.md#revoke_user_perms) | **POST** /v3/apps/perms/{appId}/user/{userName}/revoke | 
*SharingApi* | [**get_share_info**](docs/SharingApi.md#get_share_info) | **GET** /v3/apps/share/{appId} | Retrieve all sharing information for an app
*SharingApi* | [**share_app**](docs/SharingApi.md#share_app) | **POST** /v3/apps/share/{appId} | Share an app with one or more users.
*SharingApi* | [**share_app_public**](docs/SharingApi.md#share_app_public) | **POST** /v3/apps/share_public/{appId} | Share an app publicly with all users in the tenant.
*SharingApi* | [**un_share_app**](docs/SharingApi.md#un_share_app) | **POST** /v3/apps/unshare/{appId} | Unshare an app with one or more users.
*SharingApi* | [**un_share_app_public**](docs/SharingApi.md#un_share_app_public) | **POST** /v3/apps/unshare_public/{appId} | Remove public access for an app.


## Documentation For Models

 - [AppArgSpec](docs/AppArgSpec.md)
 - [AppFileInput](docs/AppFileInput.md)
 - [AppFileInputArray](docs/AppFileInputArray.md)
 - [AppHistory](docs/AppHistory.md)
 - [ArchiveModeEnum](docs/ArchiveModeEnum.md)
 - [ArgInputModeEnum](docs/ArgInputModeEnum.md)
 - [FileInputModeEnum](docs/FileInputModeEnum.md)
 - [JobAttributes](docs/JobAttributes.md)
 - [JobEventCategoryFilter](docs/JobEventCategoryFilter.md)
 - [JobTypeEnum](docs/JobTypeEnum.md)
 - [KeyValueInputModeEnum](docs/KeyValueInputModeEnum.md)
 - [KeyValuePair](docs/KeyValuePair.md)
 - [ListTypeEnum](docs/ListTypeEnum.md)
 - [NotifDeliveryMethod](docs/NotifDeliveryMethod.md)
 - [NotifDeliveryTarget](docs/NotifDeliveryTarget.md)
 - [OperationTypeEnum](docs/OperationTypeEnum.md)
 - [ParameterSet](docs/ParameterSet.md)
 - [ParameterSetArchiveFilter](docs/ParameterSetArchiveFilter.md)
 - [ParameterSetLogConfig](docs/ParameterSetLogConfig.md)
 - [ReqPatchApp](docs/ReqPatchApp.md)
 - [ReqPerms](docs/ReqPerms.md)
 - [ReqPostApp](docs/ReqPostApp.md)
 - [ReqPutApp](docs/ReqPutApp.md)
 - [ReqSearchApps](docs/ReqSearchApps.md)
 - [ReqShareUpdate](docs/ReqShareUpdate.md)
 - [ReqSubscribe](docs/ReqSubscribe.md)
 - [RespApp](docs/RespApp.md)
 - [RespAppHistory](docs/RespAppHistory.md)
 - [RespApps](docs/RespApps.md)
 - [RespAppsMetadata](docs/RespAppsMetadata.md)
 - [RespBasic](docs/RespBasic.md)
 - [RespBoolean](docs/RespBoolean.md)
 - [RespChangeCount](docs/RespChangeCount.md)
 - [RespNameArray](docs/RespNameArray.md)
 - [RespResourceUrl](docs/RespResourceUrl.md)
 - [RespShareInfo](docs/RespShareInfo.md)
 - [ResultBoolean](docs/ResultBoolean.md)
 - [ResultChangeCount](docs/ResultChangeCount.md)
 - [ResultNameArray](docs/ResultNameArray.md)
 - [ResultResourceUrl](docs/ResultResourceUrl.md)
 - [RuntimeEnum](docs/RuntimeEnum.md)
 - [RuntimeOptionEnum](docs/RuntimeOptionEnum.md)
 - [ShareInfo](docs/ShareInfo.md)
 - [TapisApp](docs/TapisApp.md)


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

```
cargo doc --open
```

## Author

cicsupport@tacc.utexas.edu

