apt_repository - Add and remove APT repositories

Synopsis

  • Add or remove an APT repositories in Ubuntu and Debian.

Requirements (on host that executes module)

  • python-apt (python 2)
  • python3-apt (python 3)

Options

parameter required default choices comments
codename
(added in 2.3)
no
Override the distribution codename to use for PPA repositories. Should usually only be set when working with a PPA on a non-Ubuntu target (e.g. Debian or Mint)
filename
(added in 2.1)
no
Sets the name of the source list file in sources.list.d. Defaults to a file name based on the repository source url. The .list extension will be automatically added.
mode
(added in 1.6)
no 420
The octal mode for newly created files in sources.list.d
repo
yes none
A source string for the repository.
state
no present
  • absent
  • present
A source string state.
update_cache
no yes
  • yes
  • no
Run the equivalent of apt-get update when a change occurs. Cache updates are run after making changes.
validate_certs
(added in 1.8)
no yes
  • yes
  • no
If no, SSL certificates for the target repo will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Examples

# Add specified repository into sources list.
- apt_repository:
    repo: deb http://archive.canonical.com/ubuntu hardy partner
    state: present

# Add specified repository into sources list using specified filename.
- apt_repository:
    repo: deb http://dl.google.com/linux/chrome/deb/ stable main
    state: present
    filename: 'google-chrome'

# Add source repository into sources list.
- apt_repository:
    repo: deb-src http://archive.canonical.com/ubuntu hardy partner
    state: present

# Remove specified repository from sources list.
- apt_repository:
    repo: deb http://archive.canonical.com/ubuntu hardy partner
    state: absent

# Add nginx stable repository from PPA and install its signing key.
# On Ubuntu target:
- apt_repository:
    repo: 'ppa:nginx/stable'

# On Debian target
- apt_repository:
    repo: 'ppa:nginx/stable'
    codename: 'trusty'

Notes

Note

  • This module works on Debian, Ubuntu and their derivatives.
  • This module supports Debian Squeeze (version 6) as well as its successors.

Status

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

Maintenance Info

For more information about Red Hat’s this support of this module, please refer to this knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/apt_repository_module.html