ansible.builtin.package – Generic OS package manager

From Get docs
Ansible/docs/2.10/collections/ansible/builtin/package module


ansible.builtin.package – Generic OS package manager

Note

This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name package even without specifying the collections: keyword. Despite that, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.


New in version 2.0: of ansible.builtin


Synopsis

  • Installs, upgrade and removes packages using the underlying OS package manager.
  • For Windows targets, use the ansible.windows.win_package module instead.

Note

This module has a corresponding action plugin.


Requirements

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

  • Whatever is required for the package plugins specific for each system.

Parameters

Parameter Choices/Defaults Comments

name

string / required

Package name, or package specifier with version.

Syntax varies with package manager. For example name-1.0 or name=1.0.

Package names also vary with package manager; this module will not "translate" them per distro. For example libyaml-dev, libyaml-devel.

state

string / required

Whether to install (present), or remove (absent) a package.

You can use other states like latest ONLY if they are supported by the underlying package module(s) executed.

use

string

Default:

"auto"

The required package manager module to use (yum, apt, etc). The default 'auto' will use existing facts or try to autodetect it.

You should only use this field if the automatic selection is not working for some reason.



Notes

Note

  • This module actually calls the pertinent package modules for each system (apt, yum, etc).
  • For Windows targets, use the ansible.windows.win_package module instead.


Examples

- name: Install ntpdate
  package:
    name: ntpdate
    state: present

# This uses a variable as this changes per distribution.
- name: Remove the apache package
  package:
    name: "{{ apache }}"
    state: absent

- name: Install the latest version of Apache and MariaDB
  package:
    name:
      - httpd
      - mariadb-server
    state: latest

Authors

  • Ansible Core Team

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