theforeman.foreman.repository – Manage Repositories
Note
This plugin is part of the theforeman.foreman collection (version 2.2.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install theforeman.foreman.
To use it in a playbook, specify: theforeman.foreman.repository.
New in version 1.0.0: of theforeman.foreman
Synopsis
- Create and manage repositories
 
Requirements
The below requirements are needed on the host that executes this module.
- requests
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   ansible_collection_requirements    string    |    Contents of requirement yaml file to sync from URL   |  |
|   auto_enabled    boolean    |   
  |    repositories will be automatically enabled on a registered host subscribed to this product   |  
|   checksum_type    string    |   
  |    Checksum of the repository   |  
|   content_type    string / required    |   
  |    The content type of the repository   |  
|   deb_architectures    string    |    comma separated list of architectures to be synced from deb-archive  only available for content_type=deb
   |  |
|   deb_components    string    |    comma separated list of repo components to be synced from deb-archive  only available for content_type=deb
   |  |
|   deb_errata_url    string    |    URL to sync Debian or Ubuntu errata information from  only available on Orcharhino  only available for content_type=deb
   |  |
|   deb_releases    string    |    comma separated list of releases to be synced from deb-archive  only available for content_type=deb
   |  |
|   description    string    |    Description of the repository   |  |
|   docker_tags_whitelist    list / elements=string    |    list of tags to sync for Container Image repository  only available for content_type=docker
   |  |
|   docker_upstream_name    string    |    name of the upstream docker repository  only available for content_type=docker
   |  |
|   download_policy    string    |   
  |    download policy for sync from upstream   |  
|   gpg_key    string    |    Repository GPG key   |  |
|   http_proxy    string    |    Name of the http proxy to use for content synching  Should be combined with http_proxy_policy='use_selected_http_proxy'
   |  |
|   http_proxy_policy    string    |   
  |    Which proxy to use for content synching   |  
|   ignorable_content    list / elements=string    |    List of content units to ignore while syncing a yum repository.  Must be subset of rpm,drpm,srpm,distribution,erratum.   |  |
|   ignore_global_proxy    boolean    |   
  |    Whether content sync should use or ignore the global http proxy setting  This is deprecated with Katello 3.13  It has been superseeded by http_proxy_policy
   |  
|   label    string    |    label of the repository   |  |
|   mirror_on_sync    boolean    |   
  |    toggle "mirror on sync" where the state of the repository mirrors that of the upstream repository at sync time   |  
|   name    string / required    |    Name of the repository   |  |
|   organization    string / required    |    Organization that the entity is in   |  |
|   os_versions    list / elements=string    |   
  |    Identifies whether the repository should be disabled on a client with a non-matching OS version.  A maximum of one OS version can be selected.  Set to   [] to disable filtering again. |  
|   password    string / required    |    Password of the user accessing the Foreman server.  If the value is not specified in the task, the value of environment variable   FOREMAN_PASSWORD will be used instead. |  |
|   product    string / required    |    Product to which the repository lives in   |  |
|   server_url    string / required    |    URL of the Foreman server.  If the value is not specified in the task, the value of environment variable   FOREMAN_SERVER_URL will be used instead. |  |
|   ssl_ca_cert    string    |    Repository SSL CA certificate   |  |
|   ssl_client_cert    string    |    Repository SSL client certificate   |  |
|   ssl_client_key    string    |    Repository SSL client private key   |  |
|   state    string    |   
  |    State of the entity  present_with_defaults will ensure the entity exists, but won't update existing ones |  
|   unprotected    boolean    |   
  |    publish the repository via HTTP   |  
|   upstream_password    string    |    password to access upstream repository   |  |
|   upstream_username    string    |    username to access upstream repository   |  |
|   url    string    |    Repository URL to sync from   |  |
|   username    string / required    |    Username accessing the Foreman server.  If the value is not specified in the task, the value of environment variable   FOREMAN_USERNAME will be used instead. |  |
|   validate_certs    boolean    |   
  |    Whether or not to verify the TLS certificates of the Foreman server.  If the value is not specified in the task, the value of environment variable   FOREMAN_VALIDATE_CERTS will be used instead. |  
|   verify_ssl_on_sync    boolean    |   
  |    verify the upstream certifcates are signed by a trusted CA   |  
Notes
Note
- You can configure certain aspects of existing Red Hat Repositories (like download_policy) using this module, but you can’t create (enable) or delete (disable) them.
 - If you want to enable or disable Red Hat Repositories available through your subscription, please use the theforeman.foreman.repository_set module instead.
 
Examples
- name: "Create repository"
  theforeman.foreman.repository:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "My repository"
    state: present
    content_type: "yum"
    product: "My Product"
    organization: "Default Organization"
    url: "http://yum.theforeman.org/plugins/latest/el7/x86_64/"
    mirror_on_sync: true
    download_policy: background
- name: "Create repository with content credentials"
  theforeman.foreman.repository:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "My repository 2"
    state: present
    content_type: "yum"
    product: "My Product"
    organization: "Default Organization"
    url: "http://yum.theforeman.org/releases/latest/el7/x86_64/"
    download_policy: background
    mirror_on_sync: true
    gpg_key: RPM-GPG-KEY-my-product2
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | |
|---|---|---|---|
|   entity    dictionary    |  success |   Final state of the affected entities grouped by their type.   |  |
|   repositories    list / elements=dictionary    |  success |   List of repositories.   |  |
Authors
- Eric D Helms (@ehelms)
 
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/latest/collections/theforeman/foreman/repository_module.html