A fast openstack client

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

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