# apt_repository – Add and remove APT repositories

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

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

## Requirements

The below requirements are needed on the host that executes this module.

- python-apt (python 2)

- python3-apt (python 3)

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
codename - |  | 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 - |  | 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 - | Default: "0644" | The octal mode for newly created files in sources.list.d
repo - / required |  | A source string for the repository.

state
-

Choices:
- absent
- present ←

A source string state.

update_cache
boolean

Choices:
- no
- yes ←

Run the equivalent of `apt-get update` when a change occurs. Cache updates are run after making changes.

validate_certs
boolean

Choices:
- no
- yes ←

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.

## Notes

Note

- This module works on Debian, Ubuntu and their derivatives.

- This module supports Debian Squeeze (version 6) as well as its successors.

## 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

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Core Team. [core]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Alexander Saltanov (@sashka)

Hint

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