[−][src]Crate osauth
Asynchronous OpenStack session and authentication.
Introduction
This crate provides low-level asynchronous access to OpenStack API. It features:
- Authentication and token caching.
- Major and microversion handling.
- Service catalog integration.
- JSON API error handling.
- Service types for supported services.
It does NOT provide:
- Protocol structures for any services.
- Automatic microversion negotiation.
See openstack crate for these features.
Requirements
This crate requires Rust 2018 edition and relies heavily on
futures 0.1. It has not yet been updated for the new
async
/await
syntax and may not be compatible with it out-of-box.
Usage
Your entry point to the API is the Session structure. To create it you need an authentication type object first. It can be obtained by:
- Using Password authentication against the Identity service.
- Using NoAuth authentication type, allowing access to standalone services without authentication.
A Session
can be created directly by loading it:
- From the
clouds.yaml
configuration file using from_config. - From environment variables using from_env.
See Session documentation for the details on using a Session
for making
OpenStack calls.
Modules
identity | Authentication using Identity API v3. |
request | Utilities to work with OpenStack requests. |
services | OpenStack service types. |
Structs
ApiVersion | API version (major, minor). |
Error | Error from an OpenStack call. |
NoAuth | Authentication type that provides no authentication. |
Session | An OpenStack API session. |
Enums
ErrorKind | Kind of an error. |
Traits
AuthType | Trait for an authentication type. |
Functions
from_config | Create a |
from_env | Create a |