A fast openstack client

Timothy Rice d694a491e5 Print aggregates as a table 2 years ago
.gitignore f661175a04 Add nova client 2 years ago
LICENSE.md b68e1f6493 Refactor generic osc into keystone to successfully retrieve tokens 3 years ago
Makefile 15332ec65a Break up nova 2 years ago
README.md 3da3fd7720 Show how to format the output with jq 2 years ago
aggregates.c d694a491e5 Print aggregates as a table 2 years ago
cJSON.c 0cdaeb7e20 Initial commit 5 years ago
cJSON.h 0cdaeb7e20 Initial commit 5 years ago
catalog.c 8b29fdaad4 Abstract main 2 years ago
compute.h 15332ec65a Break up nova 2 years ago
curl.c 1ee0c59359 Abstract api queries 2 years ago
curl.h 1ee0c59359 Abstract api queries 2 years ago
keystone.c 8b29fdaad4 Abstract main 2 years ago
keystone.h c207888177 Make it possible for other functions to retrieve catalog 2 years ago
nova.c 15332ec65a Break up nova 2 years ago
osc.c b68e1f6493 Refactor generic osc into keystone to successfully retrieve tokens 3 years ago
service.c 392a001acd Abstract the url building step of api call 2 years ago
token.c 8b29fdaad4 Abstract main 2 years ago
utils.c 8b29fdaad4 Abstract main 2 years ago
utils.h 8b29fdaad4 Abstract main 2 years ago

README.md

Openstack C Client

A fast, lightweight client for interacting with the OpenStack API.

Note that while formatting functions might be added later, they aren't an initial priority. The json output can be manipulated with jq. For example:

$ ./keystone catalog list | jq -r '.catalog[] | .type as $t | .name as $n | .endpoints[] | select(.interface == "public") | [$t, $n, .region, .url] | @tsv' | column -s$'\t' -t
s3                   S3 Service                       My Region  https://swift.example.com/
reservation          Reservation Service              My Region  https://blazar.example.com:8010
account              Nectar Account Service           My Region  https://accounts.example.com/api/
container-infra      Container Orchestration Service  My Region  https://magnum.example.com:9511/v1
metric               Metric Service                   My Region  https://gnocchi.example.com:8041/
metric               Metric Service                   Other      https://gnocchi-metrics.example.com:8040/
placement            Placement Service                My Region  https://placement.example.com/placement
database             Database Service                 My Region  https://trove.example.com:8779/v1.0/b70bb69ede2a3fbd5fd71306da957ec1
compute              Compute Service                  My Region  https://nova.example.com:8774/v2.1/b70bb69ede2a3fbd5fd71306da957ec1
ec2                  EC2 Service                      My Region  https://nova.example.com:8773/services/Cloud
sharev2              Shared Filesystem Service        My Region  https://manila.example.com:8786/v2/b70bb69ede2a3fbd5fd71306da957ec1
load-balancer        Load Balancer Service            My Region  https://octavia.example.com:9876
network              network                          My Region  https://neutron.example.com:9696/
volumev2             Volume Service v2                My Region  https://cinder.example.com:8776/v2/b70bb69ede2a3fbd5fd71306da957ec1
share                Shared Filesystem Service        My Region  https://manila.example.com:8786/v1/b70bb69ede2a3fbd5fd71306da957ec1
application-catalog  Application Catalog Service      My Region  https://murano.example.com:8082/
dns                  DNS Service                      My Region  https://designate.example.com:9001/
image                Image Service                    My Region  https://glance.example.com:9292/
identity             Identity Service                 My Region  https://keystone.example.com:5000/v3
object-store         Object Storage Service           My Region  https://swift.example.com/v1/AUTH_b70bb69ede2a3fbd5fd71306da957ec1
orchestration        Orchestration Service            My Region  https://heat.example.com:8004/v1/b70bb69ede2a3fbd5fd71306da957ec1
volumev3             Volume Service v3                My Region  https://cinder.example.com:8776/v3/b70bb69ede2a3fbd5fd71306da957ec1
key-manager          barbican                         My Region  https://barbican.example.com:9311/
alarming             Alarming Service                 My Region  https://aodh.example.com:8042

Dependencies