Client Bindings

Python Client

The pulp-ansible-client package on PyPI provides bindings for all API calls in the pulp_ansible API documentation. It is currently published daily and with every RC.

The pulpcore-client package on PyPI provides bindings for all API calls in the pulpcore API documentation. It is currently published daily and with every RC.

Ruby Client

The pulp_ansible_client Ruby Gem on rubygems.org provides bindings for all API calls in the pulp_ansible API documentation. It is currently published daily and with every RC.

The pulpcore_client Ruby Gem on rubygems.org provides bindings for all API calls in the pulpcore API documentation. It is currently published daily and with every RC.

Client in a language of your choice

A client can be generated using Pulp’s OpenAPI schema and any of the available generators.

Generating a client is a two step process:

1) Download the OpenAPI schema for pulpcore and all installed plugins:

curl -o api.json http://<pulp-hostname>:24817/pulp/api/v3/docs/api.json

The OpenAPI schema for a specific plugin can be downloaded by specifying the plugin’s module name as a GET parameter. For example for pulp_ansible only endpoints use a query like this:

curl -o api.json http://<pulp-hostname>:24817/pulp/api/v3/docs/api.json?plugin=pulp_ansible

2) Generate a client using openapi-generator.

The schema can then be used as input to the openapi-generator-cli. The documentation on getting started with openapi-generator-cli is available on openapi-generator.tech.

Generating a client on dev environment

Pulp dev environment provided by pulp_installer introduces a set of useful aliases, like pbindings.

Examples:

  • generating python bindings for pulp_ansible:

pbindings pulp_ansible python
  • generating ruby bindings for pulp_ansible with ‘3.0.0rc1.dev.10’ version

pbindings pulp_ansible ruby 3.0.0rc1.dev.10