[][src]Crate osauth

Asynchronous OpenStack session and authentication.

Introduction

This crate provides low-level asynchronous access to OpenStack API. It features:

  1. Authentication and token caching.
  2. Major and microversion handling.
  3. Service catalog integration.
  4. JSON API error handling.
  5. Service types for supported services.

It does NOT provide:

  1. Protocol structures for any services.
  2. Automatic microversion negotiation.
  3. High-level object-oriented API.

See openstack crate for these features.

Requirements

This crate requires Rust 2018 edition and compiler version 1.40.0 or newer.

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:

See Session documentation for the details on using a Session for making OpenStack calls.

If you need to work with a small number of servics, Adapter provides a more convenient interface. An adapter can be created directly using Adapter::new or from an existing Session using Session::adapter or Session::into_adapter.

Modules

identity

Authentication using Identity API v3.

request

Utilities to work with OpenStack requests.

services

OpenStack service types.

sync

Synchronous wrapper for a session.

Structs

Adapter

Adapter for a specific service.

ApiVersion

API version (major, minor).

BasicAuth

Authentication type that uses HTTP basic authentication.

EndpointFilters

Endpoint filters for looking up endpoints.

Error

Error from an OpenStack call.

NoAuth

Authentication type that provides no authentication.

Session

An OpenStack API session.

ValidInterfaces

A list of acceptable interface types.

Enums

ErrorKind

Kind of an error.

InterfaceType

Interface type: public, internal or admin.

Traits

AuthType

Trait for an authentication type.