Documentation

pulp_repo - Add or remove Pulp repos from a remote host.

New in version 2.3.

Synopsis

  • Add or remove Pulp repos from a remote host.

Parameters

Parameter Choices/Defaults Comments
add_export_distributor
bool
    Choices:
  • no ←
  • yes
Whether or not to add the export distributor to new rpm repositories.
client_cert
PEM formatted certificate chain file to be used for SSL client authentication. This file can also include the key as well, and if the key is included, client_key is not required.
client_key
PEM formatted file that contains your private key to be used for SSL client authentication. If client_cert contains both the certificate and key, this option is not required.
feed
Upstream feed URL to receive updates from.
force
bool
    Choices:
  • no ←
  • yes
If yes do not get a cached copy.

aliases: thirsty
force_basic_auth
bool
    Choices:
  • no ←
  • yes
httplib2, the library used by the uri module only sends authentication information when a webservice responds to an initial request with a 401 status. Since some basic auth services do not properly send a 401, logins will fail. This option forces the sending of the Basic authentication header upon initial request.
http_agent Default:
ansible-httpget
Header to identify as, generally appears in web server logs.
importer_ssl_ca_cert
CA certificate string used to validate the feed source SSL certificate. This can be the file content or the path to the file.
importer_ssl_client_cert
Certificate used as the client certificate when synchronizing the repository. This is used to communicate authentication information to the feed source. The value to this option must be the full path to the certificate. The specified file may be the certificate itself or a single file containing both the certificate and private key. This can be the file content or the path to the file.
importer_ssl_client_key
Private key to the certificate specified in importer_ssl_client_cert, assuming it is not included in the certificate file itself. This can be the file content or the path to the file.
name
required
Name of the repo to add or remove. This correlates to repo-id in Pulp.
proxy_host
Proxy url setting for the pulp repository importer. This is in the format scheme://host.
proxy_port
Proxy port setting for the pulp repository importer.
publish_distributor
Distributor to use when state is publish. The default is to publish all distributors.
pulp_host Default:
http://127.0.0.1
URL of the pulp server to connect to.
relative_url
required
Relative URL for the local repository.
repo_type Default:
rpm
Repo plugin type to use (i.e. rpm, docker).
serve_http
bool
    Choices:
  • no ←
  • yes
Make the repo available over HTTP.
serve_https
bool
    Choices:
  • no
  • yes ←
Make the repo available over HTTPS.
state
    Choices:
  • present ←
  • absent
  • sync
  • publish
The repo state. A state of sync will queue a sync of the repo. This is asynchronous but not delayed like a scheduled sync. A state of publish will use the repository's distributor to publish the content.
url
HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
url_password
The password for use in HTTP basic authentication to the pulp API. If the url_username parameter is not specified, the url_password parameter will not be used.
url_username
The username for use in HTTP basic authentication to the pulp API.
use_proxy
bool
    Choices:
  • no
  • yes ←
If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.
validate_certs
bool
    Choices:
  • no
  • yes ←
If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
wait_for_completion
bool
    Choices:
  • no ←
  • yes
Wait for asynchronous tasks to complete before returning.

Notes

Note

  • This module can currently only create distributors and importers on rpm repositories. Contributions to support other repo types are welcome.

Examples

- name: Create a new repo with name 'my_repo'
  pulp_repo:
    name: my_repo
    relative_url: my/repo
    state: present

- name: Create a repo with a feed and a relative URL
  pulp_repo:
    name: my_centos_updates
    repo_type: rpm
    feed: http://mirror.centos.org/centos/6/updates/x86_64/
    relative_url: centos/6/updates
    url_username: admin
    url_password: admin
    force_basic_auth: yes
    state: present

- name: Remove a repo from the pulp server
  pulp_repo:
    name: my_old_repo
    repo_type: rpm
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
repo
string
success
Name of the repo that the action was performed on.

Sample:
my_repo


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Joe Adams (@sysadmind)

Hint

If you notice any issues in this documentation you can edit this document to improve it.