# Rust API client for tapis-systems
The Tapis Systems API provides for management of Tapis Systems including permissions, credentials and Scheduler Profiles.
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.2
- 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-systems` and add the following to `Cargo.toml` under `[dependencies]`:
```
tapis-systems = { path = "./tapis-systems" }
```
## Documentation for API Endpoints
All URIs are relative to *http://localhost:8080*
*ChildSystemsApi* | [**create_child_system**](docs/ChildSystemsApi.md#create_child_system) | **POST** /v3/systems/{parentId}/createChildSystem |
*ChildSystemsApi* | [**unlink_children**](docs/ChildSystemsApi.md#unlink_children) | **POST** /v3/systems/{parentSystemId}/unlinkChildren |
*ChildSystemsApi* | [**unlink_from_parent**](docs/ChildSystemsApi.md#unlink_from_parent) | **POST** /v3/systems/{childSystemId}/unlinkFromParent |
*CredentialsApi* | [**check_user_credential**](docs/CredentialsApi.md#check_user_credential) | **POST** /v3/systems/credential/{systemId}/user/{userName}/check |
*CredentialsApi* | [**create_user_credential**](docs/CredentialsApi.md#create_user_credential) | **POST** /v3/systems/credential/{systemId}/user/{userName} |
*CredentialsApi* | [**generate_globus_tokens**](docs/CredentialsApi.md#generate_globus_tokens) | **POST** /v3/systems/credential/{systemId}/user/{userName}/globus/tokens/{authCode}/{sessionId} | Use a Globus authorization code + Tapis session Id to generate tokens
*CredentialsApi* | [**get_globus_auth_url**](docs/CredentialsApi.md#get_globus_auth_url) | **GET** /v3/systems/credential/{systemId}/globus/authUrl | Retrieve a Globus URL that can be used to generate an authorization code for an OAuth2 flow.
*CredentialsApi* | [**get_user_credential**](docs/CredentialsApi.md#get_user_credential) | **GET** /v3/systems/credential/{systemId}/user/{userName} |
*CredentialsApi* | [**remove_user_credential**](docs/CredentialsApi.md#remove_user_credential) | **DELETE** /v3/systems/credential/{systemId}/user/{userName} |
*GeneralApi* | [**health_check**](docs/GeneralApi.md#health_check) | **GET** /v3/systems/healthcheck |
*GeneralApi* | [**ready_check**](docs/GeneralApi.md#ready_check) | **GET** /v3/systems/readycheck |
*PermissionsApi* | [**get_user_perms**](docs/PermissionsApi.md#get_user_perms) | **GET** /v3/systems/perms/{systemId}/user/{userName} |
*PermissionsApi* | [**grant_user_perms**](docs/PermissionsApi.md#grant_user_perms) | **POST** /v3/systems/perms/{systemId}/user/{userName} |
*PermissionsApi* | [**revoke_user_perm**](docs/PermissionsApi.md#revoke_user_perm) | **DELETE** /v3/systems/perms/{systemId}/user/{userName}/{permission} |
*PermissionsApi* | [**revoke_user_perms**](docs/PermissionsApi.md#revoke_user_perms) | **POST** /v3/systems/perms/{systemId}/user/{userName}/revoke |
*SchedulerProfilesApi* | [**create_scheduler_profile**](docs/SchedulerProfilesApi.md#create_scheduler_profile) | **POST** /v3/systems/schedulerProfile |
*SchedulerProfilesApi* | [**delete_scheduler_profile**](docs/SchedulerProfilesApi.md#delete_scheduler_profile) | **DELETE** /v3/systems/schedulerProfile/{name} |
*SchedulerProfilesApi* | [**get_scheduler_profile**](docs/SchedulerProfilesApi.md#get_scheduler_profile) | **GET** /v3/systems/schedulerProfile/{name} |
*SchedulerProfilesApi* | [**get_scheduler_profiles**](docs/SchedulerProfilesApi.md#get_scheduler_profiles) | **GET** /v3/systems/schedulerProfile |
*SharingApi* | [**get_share_info**](docs/SharingApi.md#get_share_info) | **GET** /v3/systems/share/{systemId} | Retrieve all sharing information for a system
*SharingApi* | [**share_system**](docs/SharingApi.md#share_system) | **POST** /v3/systems/share/{systemId} | Share a system with one or more users.
*SharingApi* | [**share_system_public**](docs/SharingApi.md#share_system_public) | **POST** /v3/systems/share_public/{systemId} | Share a system publicly with all users in the tenant.
*SharingApi* | [**un_share_system**](docs/SharingApi.md#un_share_system) | **POST** /v3/systems/unshare/{systemId} | Unshare a system with one or more users.
*SharingApi* | [**un_share_system_public**](docs/SharingApi.md#un_share_system_public) | **POST** /v3/systems/unshare_public/{systemId} | Remove public access for a system.
*SystemsApi* | [**change_system_owner**](docs/SystemsApi.md#change_system_owner) | **POST** /v3/systems/{systemId}/changeOwner/{userName} |
*SystemsApi* | [**create_system**](docs/SystemsApi.md#create_system) | **POST** /v3/systems |
*SystemsApi* | [**delete_system**](docs/SystemsApi.md#delete_system) | **POST** /v3/systems/{systemId}/delete |
*SystemsApi* | [**disable_system**](docs/SystemsApi.md#disable_system) | **POST** /v3/systems/{systemId}/disable |
*SystemsApi* | [**enable_system**](docs/SystemsApi.md#enable_system) | **POST** /v3/systems/{systemId}/enable |
*SystemsApi* | [**get_history**](docs/SystemsApi.md#get_history) | **GET** /v3/systems/{systemId}/history |
*SystemsApi* | [**get_system**](docs/SystemsApi.md#get_system) | **GET** /v3/systems/{systemId} |
*SystemsApi* | [**get_systems**](docs/SystemsApi.md#get_systems) | **GET** /v3/systems |
*SystemsApi* | [**host_eval**](docs/SystemsApi.md#host_eval) | **GET** /v3/systems/{systemId}/hostEval/{envVarName} |
*SystemsApi* | [**is_enabled**](docs/SystemsApi.md#is_enabled) | **GET** /v3/systems/{systemId}/isEnabled |
*SystemsApi* | [**match_constraints**](docs/SystemsApi.md#match_constraints) | **POST** /v3/systems/match/constraints |
*SystemsApi* | [**patch_system**](docs/SystemsApi.md#patch_system) | **PATCH** /v3/systems/{systemId} |
*SystemsApi* | [**put_system**](docs/SystemsApi.md#put_system) | **PUT** /v3/systems/{systemId} |
*SystemsApi* | [**search_systems_query_parameters**](docs/SystemsApi.md#search_systems_query_parameters) | **GET** /v3/systems/search |
*SystemsApi* | [**search_systems_request_body**](docs/SystemsApi.md#search_systems_request_body) | **POST** /v3/systems/search |
*SystemsApi* | [**undelete_system**](docs/SystemsApi.md#undelete_system) | **POST** /v3/systems/{systemId}/undelete |
## Documentation For Models
- [AuthnEnum](docs/AuthnEnum.md)
- [Capability](docs/Capability.md)
- [CategoryEnum](docs/CategoryEnum.md)
- [Credential](docs/Credential.md)
- [DatatypeEnum](docs/DatatypeEnum.md)
- [JobRuntime](docs/JobRuntime.md)
- [KeyValueInputModeEnum](docs/KeyValueInputModeEnum.md)
- [KeyValuePair](docs/KeyValuePair.md)
- [ListTypeEnum](docs/ListTypeEnum.md)
- [LogicalQueue](docs/LogicalQueue.md)
- [ModuleLoadSpec](docs/ModuleLoadSpec.md)
- [OperationTypeEnum](docs/OperationTypeEnum.md)
- [ReqMatchConstraints](docs/ReqMatchConstraints.md)
- [ReqPatchSystem](docs/ReqPatchSystem.md)
- [ReqPerms](docs/ReqPerms.md)
- [ReqPostChildSystem](docs/ReqPostChildSystem.md)
- [ReqPostPutCredential](docs/ReqPostPutCredential.md)
- [ReqPostSchedulerProfile](docs/ReqPostSchedulerProfile.md)
- [ReqPostSystem](docs/ReqPostSystem.md)
- [ReqPutSystem](docs/ReqPutSystem.md)
- [ReqSearchSystems](docs/ReqSearchSystems.md)
- [ReqShareUpdate](docs/ReqShareUpdate.md)
- [ReqUnlinkChildren](docs/ReqUnlinkChildren.md)
- [ReqUpdateCredential](docs/ReqUpdateCredential.md)
- [RespBasic](docs/RespBasic.md)
- [RespBoolean](docs/RespBoolean.md)
- [RespChangeCount](docs/RespChangeCount.md)
- [RespCredential](docs/RespCredential.md)
- [RespGlobusAuthUrl](docs/RespGlobusAuthUrl.md)
- [RespName](docs/RespName.md)
- [RespNameArray](docs/RespNameArray.md)
- [RespResourceUrl](docs/RespResourceUrl.md)
- [RespSchedulerProfile](docs/RespSchedulerProfile.md)
- [RespSchedulerProfiles](docs/RespSchedulerProfiles.md)
- [RespShareInfo](docs/RespShareInfo.md)
- [RespSystem](docs/RespSystem.md)
- [RespSystemHistory](docs/RespSystemHistory.md)
- [RespSystems](docs/RespSystems.md)
- [RespSystemsMetadata](docs/RespSystemsMetadata.md)
- [ResultBoolean](docs/ResultBoolean.md)
- [ResultChangeCount](docs/ResultChangeCount.md)
- [ResultGlobusAuthUrl](docs/ResultGlobusAuthUrl.md)
- [ResultName](docs/ResultName.md)
- [ResultNameArray](docs/ResultNameArray.md)
- [ResultResourceUrl](docs/ResultResourceUrl.md)
- [RuntimeTypeEnum](docs/RuntimeTypeEnum.md)
- [SchedulerHiddenOptionEnum](docs/SchedulerHiddenOptionEnum.md)
- [SchedulerProfile](docs/SchedulerProfile.md)
- [SchedulerTypeEnum](docs/SchedulerTypeEnum.md)
- [ShareInfo](docs/ShareInfo.md)
- [SkShareRecord](docs/SkShareRecord.md)
- [SystemHistory](docs/SystemHistory.md)
- [SystemTypeEnum](docs/SystemTypeEnum.md)
- [TapisSystem](docs/TapisSystem.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
cicsupport@tacc.utexas.edu