On this page
theforeman.foreman.repository_set – Enable/disable Red Hat Repositories available through subscriptions
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_set.
New in version 1.0.0: of theforeman.foreman
Synopsis
- Enable/disable Red Hat Repositories that are available through subscriptions
 
Requirements
The below requirements are needed on the host that executes this module.
- requests
 
Parameters
| Parameter | Choices/Defaults | Comments | |
|---|---|---|---|
| all_repositories
        
        boolean
         | 
      
       
  | 
      
        
        Affect all available repositories in the repository set instead of listing them in repositories.
        
       
        Required when repositories is unset or an empty list.
         | 
     |
| label
        
        string
         | 
      
        
        Label of the repository set, can be used in place of name & product
         | 
     ||
| name
        
        string
         | 
      
        
        Name of the repository set
         | 
     ||
| organization
        
        string / required
         | 
      
        
        Organization that the entity is in
         | 
     ||
| 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
         | 
      
        
        Name of the parent product
         | 
     ||
| repositories
        
        list / elements=dictionary
         | 
      
        
        Release version and base architecture of the repositories to enable.
        
       
        Some reposotory sets require only basearch or only releasever to be set.
        
       
        See the examples how you can obtain this information using theforeman.foreman.resource_info.
        
       
        Required when all_repositories is unset or  false.
        | 
     ||
| basearch
        
        string
         | 
      
        
        Basearch of the repository to enable.
         | 
     ||
| releasever
        
        string
         | 
      
        
        Releasever of the repository to enable.
         | 
     ||
| 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.
        | 
     ||
| state
        
        string
         | 
      
       
  | 
      
        
        Whether the repositories are enabled or not
         | 
     |
| 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.
        | 
     |
Examples
- name: "Enable RHEL 7 RPMs repositories"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "Red Hat Enterprise Linux 7 Server (RPMs)"
    organization: "Default Organization"
    product: "Red Hat Enterprise Linux Server"
    repositories:
    - releasever: "7.0"
      basearch: "x86_64"
    - releasever: "7.1"
      basearch: "x86_64"
    - releasever: "7.2"
      basearch: "x86_64"
    - releasever: "7.3"
      basearch: "x86_64"
    state: enabled
- name: "Enable RHEL 7 RPMs repositories with label"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    label: rhel-7-server-rpms
    repositories:
    - releasever: "7.0"
      basearch: "x86_64"
    - releasever: "7.1"
      basearch: "x86_64"
    - releasever: "7.2"
      basearch: "x86_64"
    - releasever: "7.3"
      basearch: "x86_64"
    state: enabled
- name: "Disable RHEL 7 Extras RPMs repository"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: Red Hat Enterprise Linux 7 Server - Extras (RPMs)
    organization: "Default Organization"
    product: Red Hat Enterprise Linux Server
    state: disabled
    repositories:
      - basearch: x86_64
- name: "Enable RHEL 8 BaseOS RPMs repository with label"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    label: rhel-8-for-x86_64-baseos-rpms
    repositories:
      - releasever: "8"
- name: "Enable Red Hat Virtualization Manager RPMs repository with label"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    label: "rhel-7-server-rhv-4.2-manager-rpms"
    repositories:
      - basearch: x86_64
    state: enabled
- name: "Enable Red Hat Virtualization Manager RPMs repository without specifying basearch"
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    label: "rhel-7-server-rhv-4.2-manager-rpms"
    all_repositories: true
    state: enabled
- name: "Search for possible repository sets of a product"
  theforeman.foreman.resource_info:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    resource: repository_sets
    search: product_name="Red Hat Virtualization Manager"
  register: data
- name: "Output found repository sets, see the contentUrl section for possible repository substitutions"
  debug:
    var: data
- name: "Search for possible repository sets by label"
  theforeman.foreman.resource_info:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    resource: repository_sets
    search: label=rhel-7-server-rhv-4.2-manager-rpms
  register: data
- name: "Output found repository sets, see the contentUrl section for possible repository substitutions"
  debug:
    var: data
- name: Enable set with and without all_repositories at the same time
  theforeman.foreman.repository_set:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    organization: "Default Organization"
    label: "{{ item.label }}"
    repositories: "{{ item.repositories | default(omit) }}"
    all_repositories: "{{ item.repositories is not defined }}"
    state: enabled
  loop:
    - label: rhel-7-server-rpms
      repositories:
        - releasever: "7Server"
          basearch: "x86_64"
    - label: rhel-7-server-rhv-4.2-manager-rpms
  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.
          | 
     |
| repository_sets
        
        list / elements=dictionary
         | 
      success | 
        
        List of repository sets.
          | 
     |
Authors
- Andrew Kofink (@akofink)
 
© 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_set_module.html