Client Bindings¶
Python Client¶
The pulp-rpm-client package on PyPI provides bindings for all API calls in the pulp_rpm 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_rpm_client Ruby Gem on rubygems.org provides bindings for all API calls in the pulp_rpm 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_rpm
only endpoints use a query like this:
curl -o api.json http://<pulp-hostname>:24817/pulp/api/v3/docs/api.json?plugin=pulp_rpm
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 for a dev environment¶
The pulp dev environment provided by pulp_installer
introduces a set of useful
aliases,
such as pbindings
.
Examples:
- generating python bindings for pulp_rpm:
pbindings pulp_rpm python
- generating ruby bindings for pulp_rpm with '3.0.0rc1.dev.10' version
pbindings pulp_rpm ruby 3.0.0rc1.dev.10