Openstex 



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.
- Example - creating a new container
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.
- Example - Uploading a file
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.
-
Example - Getting all objects in a pseudofolder recursively,
[nested: :true]will check for objects recursively in deeper folders.
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
mix test
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: |
TODO
- improve the docs for some of the functions
-
add tests for genserver workings in
Openstex.Adapters.Bypass.Keystone -
add tests for
Openstex.Keystone.V2.HelpersTest -
add tests for
Openstex.Swift.V1with the execution of theHTTPipe.Connstructs with bypass. ` ## Licence MIT Licence