Openstex Hex VersionHex docsLicenseBuild Status

An elixir client for making requests to Openstack compliant apis.

Supported services

Openstack Service Supported
Identity 2.0 (Keystone) :heavy_check_mark:
Object Storage 1.0 (Swift) :heavy_check_mark:

Features

1. Request modules for generating HTTPipe.Conn.t structs which can subsequently be sent

to the API using a request function.

account = Client.Swift.get_account()
conn = Openstex.Swift.V1.create_container("new_container", account)
client.request(conn)

2. Helper modules for

a. One liners for sending queries to the client API.

file_path = Path.join(Path.expand(__DIR__, "priv/test.json")
Client.Swift.upload_file(file_path, server_object, container,

b. Sending more complex queries such as multi-step queries to the client API.

file_path = Path.join(Path.expand(__DIR__, "priv/test.json")
Client.Swift.list_objects("nested_folder", "new_container", [nested: :true])

3. Adapter modules for

All of the above Adapters provide access to Swift Object Storage services which are (mostly) openstack compliant.

Installation and Getting Started

Adapter Getting started
Ovh Adapter openstex_adapters_ovh
Rackspace Adapter openstex_adapters_rackspace

Tests

Available Services

Tables Version Status
Identity (Keystone) , overview, api v2 :heavy_check_mark:
Identity (Keystone) , overview, api v3 :x:
Object Storage (Swift) , overview, api v1 :heavy_check_mark:

Openstack api reference

TODO