community.general.pulp_repo – Add or remove Pulp repos from a remote host.

From Get docs
Ansible/docs/2.11/collections/community/general/pulp repo module


community.general.pulp_repo – Add or remove Pulp repos from a remote host.

Note

This plugin is part of the community.general collection (version 2.0.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.pulp_repo.


Synopsis

  • Add or remove Pulp repos from a remote host.

Parameters

Parameter Choices/Defaults Comments

add_export_distributor

boolean

  • no

  • yes

Whether or not to add the export distributor to new rpm repositories.

client_cert

path

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

path

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

string

Upstream feed URL to receive updates from.

feed_ca_cert

string

CA certificate string used to validate the feed source SSL certificate. This can be the file content or the path to the file. The ca_cert alias will be removed in community.general 3.0.0.


aliases: importer_ssl_ca_cert, ca_cert

feed_client_cert

string

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.

If not specified the default value will come from client_cert. Which will change in community.general 3.0.0.


aliases: importer_ssl_client_cert

feed_client_key

string

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.

If not specified the default value will come from client_key. Which will change in community.general 3.0.0.


aliases: importer_ssl_client_key

force

boolean

  • no

  • yes

If yes do not get a cached copy.

Alias thirsty has been deprecated and will be removed in 2.13.


aliases: thirsty

force_basic_auth

boolean

  • no

  • yes

httplib2, the library used by the ansible.builtin.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.

generate_sqlite

boolean

  • no

  • yes

Boolean flag to indicate whether sqlite files should be generated during a repository publish.

http_agent

string

Default:

"ansible-httpget"

Header to identify as, generally appears in web server logs.

name

string / required

Name of the repo to add or remove. This correlates to repo-id in Pulp.


aliases: repo

proxy_host

string

Proxy url setting for the pulp repository importer. This is in the format scheme://host.

proxy_password

string

Proxy password for the pulp repository importer.

proxy_port

string

Proxy port setting for the pulp repository importer.

proxy_username

string

Proxy username for the pulp repository importer.

publish_distributor

string

Distributor to use when state is publish. The default is to publish all distributors.

pulp_host

string

Default:

URL of the pulp server to connect to.

relative_url

string

Relative URL for the local repository. It's required when state=present.

repo_type

string

Default:

"rpm"

Repo plugin type to use (i.e. rpm, docker).

repoview

boolean

  • no

  • yes

Whether to generate repoview files for a published repository. Setting this to "yes" automatically activates `generate_sqlite`.

serve_http

boolean

  • no

  • yes

Make the repo available over HTTP.

serve_https

boolean

  • no
  • yes

Make the repo available over HTTPS.

state

string

  • 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

string

HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path

url_password

string

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

string

The username for use in HTTP basic authentication to the pulp API.

use_gssapi

boolean

added in 2.11 of ansible.builtin

  • no

  • yes

Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication.

Requires the Python library gssapi to be installed.

Credentials for GSSAPI can be specified with url_username/url_password or with the GSSAPI env var KRB5CCNAME that specified a custom Kerberos credential cache.

NTLM authentication is not supported even if the GSSAPI mech for NTLM has been installed.

use_proxy

boolean

  • 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

boolean

  • 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

boolean

  • 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'
  community.general.pulp_repo:
    name: my_repo
    relative_url: my/repo
    state: present

- name: Create a repo with a feed and a relative URL
  community.general.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
  community.general.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




Authors

  • Joe Adams (@sysadmind)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/pulp_repo_module.html