A fast openstack client

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

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