# Rust API client for incus-client
This is the REST API used by all Incus clients.
Internal endpoints aren't included in this documentation.
The Incus API is available over both a local unix+http and remote https API.
Authentication for local users relies on group membership and access to the unix socket.
For remote users, the default authentication method is TLS client
certificates.
For more information, please visit [https://github.com/lxc/incus](https://github.com/lxc/incus)
## 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: 1.0
- Package version: 1.0
- Generator version: 7.22.0
- Build package: `org.openapitools.codegen.languages.RustClientCodegen`
## Installation
Put the package under your project folder in a directory named `incus-client` and add the following to `Cargo.toml` under `[dependencies]`:
```
incus-client = { path = "./incus-client" }
```
## Documentation for API Endpoints
All URIs are relative to *http://localhost*
*ImagesApi* | [**image_delete**](docs/ImagesApi.md#image_delete) | **DELETE** /1.0/images/{fingerprint} | Delete the image
*ImagesApi* | [**image_get**](docs/ImagesApi.md#image_get) | **GET** /1.0/images/{fingerprint} | Get the image
*ImagesApi* | [**image_patch**](docs/ImagesApi.md#image_patch) | **PATCH** /1.0/images/{fingerprint} | Partially update the image
*ImagesApi* | [**image_put**](docs/ImagesApi.md#image_put) | **PUT** /1.0/images/{fingerprint} | Update the image
*ImagesApi* | [**images_get**](docs/ImagesApi.md#images_get) | **GET** /1.0/images | Get the images
*InstancesApi* | [**instance_access**](docs/InstancesApi.md#instance_access) | **GET** /1.0/instances/{name}/access | Get who has access to an instance
*InstancesApi* | [**instance_backup_delete**](docs/InstancesApi.md#instance_backup_delete) | **DELETE** /1.0/instances/{name}/backups/{backup} | Delete a backup
*InstancesApi* | [**instance_backup_export**](docs/InstancesApi.md#instance_backup_export) | **GET** /1.0/instances/{name}/backups/{backup}/export | Get the raw backup file(s)
*InstancesApi* | [**instance_backup_get**](docs/InstancesApi.md#instance_backup_get) | **GET** /1.0/instances/{name}/backups/{backup} | Get the backup
*InstancesApi* | [**instance_backup_post**](docs/InstancesApi.md#instance_backup_post) | **POST** /1.0/instances/{name}/backups/{backup} | Rename a backup
*InstancesApi* | [**instance_backups_get**](docs/InstancesApi.md#instance_backups_get) | **GET** /1.0/instances/{name}/backups | Get the backups
*InstancesApi* | [**instance_backups_get_recursion1**](docs/InstancesApi.md#instance_backups_get_recursion1) | **GET** /1.0/instances/{name}/backups?recursion=1 | Get the backups
*InstancesApi* | [**instance_backups_post**](docs/InstancesApi.md#instance_backups_post) | **POST** /1.0/instances/{name}/backups | Create a backup
*InstancesApi* | [**instance_bitmaps_post**](docs/InstancesApi.md#instance_bitmaps_post) | **POST** /1.0/instances/{name}/bitmaps | Create a bitmap
*InstancesApi* | [**instance_console_delete**](docs/InstancesApi.md#instance_console_delete) | **DELETE** /1.0/instances/{name}/console | Clear the console log
*InstancesApi* | [**instance_console_get**](docs/InstancesApi.md#instance_console_get) | **GET** /1.0/instances/{name}/console | Get console output
*InstancesApi* | [**instance_console_post**](docs/InstancesApi.md#instance_console_post) | **POST** /1.0/instances/{name}/console | Connect to console
*InstancesApi* | [**instance_debug_memory_get**](docs/InstancesApi.md#instance_debug_memory_get) | **GET** /1.0/instances/{name}/debug/memory | Get memory debug information of an instance
*InstancesApi* | [**instance_debug_repair_post**](docs/InstancesApi.md#instance_debug_repair_post) | **GET** /1.0/instances/{name}/debug/repair | Trigger a repair action on the instance.
*InstancesApi* | [**instance_delete**](docs/InstancesApi.md#instance_delete) | **DELETE** /1.0/instances/{name} | Delete an instance
*InstancesApi* | [**instance_exec_output_delete**](docs/InstancesApi.md#instance_exec_output_delete) | **DELETE** /1.0/instances/{name}/logs/exec-output/{filename} | Delete the exec record-output file
*InstancesApi* | [**instance_exec_output_get**](docs/InstancesApi.md#instance_exec_output_get) | **GET** /1.0/instances/{name}/logs/exec-output/{filename} | Get the exec-output log file
*InstancesApi* | [**instance_exec_outputs_get**](docs/InstancesApi.md#instance_exec_outputs_get) | **GET** /1.0/instances/{name}/logs/exec-output | Get the exec record-output files
*InstancesApi* | [**instance_exec_post**](docs/InstancesApi.md#instance_exec_post) | **POST** /1.0/instances/{name}/exec | Run a command
*InstancesApi* | [**instance_files_delete**](docs/InstancesApi.md#instance_files_delete) | **DELETE** /1.0/instances/{name}/files | Delete a file
*InstancesApi* | [**instance_files_get**](docs/InstancesApi.md#instance_files_get) | **GET** /1.0/instances/{name}/files | Get a file
*InstancesApi* | [**instance_files_head**](docs/InstancesApi.md#instance_files_head) | **HEAD** /1.0/instances/{name}/files | Get metadata for a file
*InstancesApi* | [**instance_files_post**](docs/InstancesApi.md#instance_files_post) | **POST** /1.0/instances/{name}/files | Create or replace a file
*InstancesApi* | [**instance_get**](docs/InstancesApi.md#instance_get) | **GET** /1.0/instances/{name} | Get the instance
*InstancesApi* | [**instance_get_recursion1**](docs/InstancesApi.md#instance_get_recursion1) | **GET** /1.0/instances/{name}?recursion=1 | Get the instance
*InstancesApi* | [**instance_log_delete**](docs/InstancesApi.md#instance_log_delete) | **DELETE** /1.0/instances/{name}/logs/{filename} | Delete the log file
*InstancesApi* | [**instance_log_get**](docs/InstancesApi.md#instance_log_get) | **GET** /1.0/instances/{name}/logs/{filename} | Get the log file
*InstancesApi* | [**instance_logs_get**](docs/InstancesApi.md#instance_logs_get) | **GET** /1.0/instances/{name}/logs | Get the log files
*InstancesApi* | [**instance_metadata_get**](docs/InstancesApi.md#instance_metadata_get) | **GET** /1.0/instances/{name}/metadata | Get the instance image metadata
*InstancesApi* | [**instance_metadata_patch**](docs/InstancesApi.md#instance_metadata_patch) | **PATCH** /1.0/instances/{name}/metadata | Partially update the image metadata
*InstancesApi* | [**instance_metadata_put**](docs/InstancesApi.md#instance_metadata_put) | **PUT** /1.0/instances/{name}/metadata | Update the image metadata
*InstancesApi* | [**instance_metadata_templates_delete**](docs/InstancesApi.md#instance_metadata_templates_delete) | **DELETE** /1.0/instances/{name}/metadata/templates | Delete a template file
*InstancesApi* | [**instance_metadata_templates_get**](docs/InstancesApi.md#instance_metadata_templates_get) | **GET** /1.0/instances/{name}/metadata/templates | Get the template file names or a specific
*InstancesApi* | [**instance_metadata_templates_post**](docs/InstancesApi.md#instance_metadata_templates_post) | **POST** /1.0/instances/{name}/metadata/templates | Create or replace a template file
*InstancesApi* | [**instance_patch**](docs/InstancesApi.md#instance_patch) | **PATCH** /1.0/instances/{name} | Partially update the instance
*InstancesApi* | [**instance_post**](docs/InstancesApi.md#instance_post) | **POST** /1.0/instances/{name} | Rename or move/migrate an instance
*InstancesApi* | [**instance_put**](docs/InstancesApi.md#instance_put) | **PUT** /1.0/instances/{name} | Update the instance
*InstancesApi* | [**instance_rebuild_post**](docs/InstancesApi.md#instance_rebuild_post) | **POST** /1.0/instances/{name}/rebuild | Rebuild an instance
*InstancesApi* | [**instance_sftp**](docs/InstancesApi.md#instance_sftp) | **GET** /1.0/instances/{name}/sftp | Get the instance SFTP connection
*InstancesApi* | [**instance_snapshot_delete**](docs/InstancesApi.md#instance_snapshot_delete) | **DELETE** /1.0/instances/{name}/snapshots/{snapshot} | Delete a snapshot
*InstancesApi* | [**instance_snapshot_get**](docs/InstancesApi.md#instance_snapshot_get) | **GET** /1.0/instances/{name}/snapshots/{snapshot} | Get the snapshot
*InstancesApi* | [**instance_snapshot_patch**](docs/InstancesApi.md#instance_snapshot_patch) | **PATCH** /1.0/instances/{name}/snapshots/{snapshot} | Partially update snapshot
*InstancesApi* | [**instance_snapshot_post**](docs/InstancesApi.md#instance_snapshot_post) | **POST** /1.0/instances/{name}/snapshots/{snapshot} | Rename or move/migrate a snapshot
*InstancesApi* | [**instance_snapshot_put**](docs/InstancesApi.md#instance_snapshot_put) | **PUT** /1.0/instances/{name}/snapshots/{snapshot} | Update snapshot
*InstancesApi* | [**instance_snapshots_get**](docs/InstancesApi.md#instance_snapshots_get) | **GET** /1.0/instances/{name}/snapshots | Get the snapshots
*InstancesApi* | [**instance_snapshots_get_recursion1**](docs/InstancesApi.md#instance_snapshots_get_recursion1) | **GET** /1.0/instances/{name}/snapshots?recursion=1 | Get the snapshots
*InstancesApi* | [**instance_snapshots_post**](docs/InstancesApi.md#instance_snapshots_post) | **POST** /1.0/instances/{name}/snapshots | Create a snapshot
*InstancesApi* | [**instance_state_get**](docs/InstancesApi.md#instance_state_get) | **GET** /1.0/instances/{name}/state | Get the runtime state
*InstancesApi* | [**instance_state_put**](docs/InstancesApi.md#instance_state_put) | **PUT** /1.0/instances/{name}/state | Change the state
*InstancesApi* | [**instances_get**](docs/InstancesApi.md#instances_get) | **GET** /1.0/instances | Get the instances
*InstancesApi* | [**instances_post**](docs/InstancesApi.md#instances_post) | **POST** /1.0/instances | Create a new instance
*InstancesApi* | [**instances_put**](docs/InstancesApi.md#instances_put) | **PUT** /1.0/instances | Bulk instance state update
*OperationsApi* | [**operation_wait_get**](docs/OperationsApi.md#operation_wait_get) | **GET** /1.0/operations/{id}/wait | Wait for the operation
*OperationsApi* | [**operations_get**](docs/OperationsApi.md#operations_get) | **GET** /1.0/operations | Get the operations
*ServerApi* | [**server_get**](docs/ServerApi.md#server_get) | **GET** /1.0 | Get the server environment and configuration
*ServerApi* | [**server_get_untrusted**](docs/ServerApi.md#server_get_untrusted) | **GET** /1.0?public | Get the server environment
*ServerApi* | [**server_patch**](docs/ServerApi.md#server_patch) | **PATCH** /1.0 | Partially update the server configuration
*ServerApi* | [**server_put**](docs/ServerApi.md#server_put) | **PUT** /1.0 | Update the server configuration
## Documentation For Models
- [AccessEntry](docs/AccessEntry.md)
- [BackupTarget](docs/BackupTarget.md)
- [Image](docs/Image.md)
- [ImageAlias](docs/ImageAlias.md)
- [ImageGet200Response](docs/ImageGet200Response.md)
- [ImageMetadata](docs/ImageMetadata.md)
- [ImageMetadataTemplate](docs/ImageMetadataTemplate.md)
- [ImagePut](docs/ImagePut.md)
- [ImageSource](docs/ImageSource.md)
- [ImagesGet200Response](docs/ImagesGet200Response.md)
- [Instance](docs/Instance.md)
- [InstanceAccess200Response](docs/InstanceAccess200Response.md)
- [InstanceBackup](docs/InstanceBackup.md)
- [InstanceBackupGet200Response](docs/InstanceBackupGet200Response.md)
- [InstanceBackupPost](docs/InstanceBackupPost.md)
- [InstanceBackupsGet200Response](docs/InstanceBackupsGet200Response.md)
- [InstanceBackupsGetRecursion1200Response](docs/InstanceBackupsGetRecursion1200Response.md)
- [InstanceBackupsPost](docs/InstanceBackupsPost.md)
- [InstanceConsoleGet404Response](docs/InstanceConsoleGet404Response.md)
- [InstanceConsolePost](docs/InstanceConsolePost.md)
- [InstanceDebugRepairPost](docs/InstanceDebugRepairPost.md)
- [InstanceExecOutputsGet200Response](docs/InstanceExecOutputsGet200Response.md)
- [InstanceExecPost](docs/InstanceExecPost.md)
- [InstanceFull](docs/InstanceFull.md)
- [InstanceGet200Response](docs/InstanceGet200Response.md)
- [InstanceGetRecursion1200Response](docs/InstanceGetRecursion1200Response.md)
- [InstanceLogsGet200Response](docs/InstanceLogsGet200Response.md)
- [InstanceMetadataGet200Response](docs/InstanceMetadataGet200Response.md)
- [InstanceMetadataPut412Response](docs/InstanceMetadataPut412Response.md)
- [InstancePatch200Response](docs/InstancePatch200Response.md)
- [InstancePost](docs/InstancePost.md)
- [InstancePostTarget](docs/InstancePostTarget.md)
- [InstancePut](docs/InstancePut.md)
- [InstanceRebuildPost](docs/InstanceRebuildPost.md)
- [InstanceSnapshot](docs/InstanceSnapshot.md)
- [InstanceSnapshotGet200Response](docs/InstanceSnapshotGet200Response.md)
- [InstanceSnapshotPost](docs/InstanceSnapshotPost.md)
- [InstanceSnapshotPut](docs/InstanceSnapshotPut.md)
- [InstanceSnapshotsGet200Response](docs/InstanceSnapshotsGet200Response.md)
- [InstanceSnapshotsGetRecursion1200Response](docs/InstanceSnapshotsGetRecursion1200Response.md)
- [InstanceSnapshotsPost](docs/InstanceSnapshotsPost.md)
- [InstanceSource](docs/InstanceSource.md)
- [InstanceState](docs/InstanceState.md)
- [InstanceStateCpu](docs/InstanceStateCpu.md)
- [InstanceStateDisk](docs/InstanceStateDisk.md)
- [InstanceStateGet200Response](docs/InstanceStateGet200Response.md)
- [InstanceStateMemory](docs/InstanceStateMemory.md)
- [InstanceStateNetwork](docs/InstanceStateNetwork.md)
- [InstanceStateNetworkAddress](docs/InstanceStateNetworkAddress.md)
- [InstanceStateNetworkCounters](docs/InstanceStateNetworkCounters.md)
- [InstanceStateOsInfo](docs/InstanceStateOsInfo.md)
- [InstanceStatePut](docs/InstanceStatePut.md)
- [InstancesGet200Response](docs/InstancesGet200Response.md)
- [InstancesGet403Response](docs/InstancesGet403Response.md)
- [InstancesGet500Response](docs/InstancesGet500Response.md)
- [InstancesPost](docs/InstancesPost.md)
- [InstancesPut](docs/InstancesPut.md)
- [InstancesPut202Response](docs/InstancesPut202Response.md)
- [InstancesPut400Response](docs/InstancesPut400Response.md)
- [Operation](docs/Operation.md)
- [OperationWaitGet200Response](docs/OperationWaitGet200Response.md)
- [OperationsGet200Response](docs/OperationsGet200Response.md)
- [Server](docs/Server.md)
- [ServerEnvironment](docs/ServerEnvironment.md)
- [ServerGet200Response](docs/ServerGet200Response.md)
- [ServerGetUntrusted200Response](docs/ServerGetUntrusted200Response.md)
- [ServerPut](docs/ServerPut.md)
- [ServerStorageDriverInfo](docs/ServerStorageDriverInfo.md)
- [ServerUntrusted](docs/ServerUntrusted.md)
- [StorageVolumeBitmapsPost](docs/StorageVolumeBitmapsPost.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
lxc-devel@lists.linuxcontainers.org