theforeman.foreman.operatingsystem – Manage Operating Systems

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.operatingsystem.

New in version 1.0.0: of theforeman.foreman

Synopsis

  • Manage Operating Systems

Requirements

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

  • requests

Parameters

Parameter Choices/Defaults Comments
architectures
list / elements=string
architectures, the operating system can be installed on
description
string
Description of the Operating System
major
string
major version of the Operating System
media
list / elements=string
list of installation media
minor
string
minor version of the Operating System
name
string / required
Name of the Operating System
os_family
string
    Choices:
  • AIX
  • Altlinux
  • Archlinux
  • Coreos
  • Debian
  • Freebsd
  • Gentoo
  • Junos
  • NXOS
  • Rancheros
  • Redhat
  • Solaris
  • Suse
  • Windows
  • Xenserver
Distribution family of the Operating System

aliases: family
parameters
list / elements=dictionary
Operating System specific host parameters
name
string / required
Name of the parameter
parameter_type
string
    Choices:
  • string ←
  • boolean
  • integer
  • real
  • array
  • hash
  • yaml
  • json
Type of the parameter
value
raw / required
Value of the parameter
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.
password_hash
string
    Choices:
  • MD5
  • SHA256
  • SHA512
  • Base64
  • Base64-Windows
hashing algorithm for passwd
provisioning_templates
list / elements=string
List of provisioning templates that are associated with the operating system.
Specify the full list of template names you want to associate with your OS.
For example ["Kickstart default", "Kickstart default finish", "Kickstart default iPXE", "custom"].
After specifying the template associations, you can set the default association in
ptables
list / elements=string
list of partitioning tables
release_name
string
Release name of the operating system (recommended for debian)
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
    Choices:
  • present ←
  • present_with_defaults
  • absent
State of the entity
present_with_defaults will ensure the entity exists, but won't update existing ones
updated_name
string
New operating system name. When this parameter is set, the module will not be idempotent.
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
    Choices:
  • no
  • yes ←
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: "Create an Operating System"
  theforeman.foreman.operatingsystem:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: Debian
    release_name: stretch
    family: Debian
    major: 9
    parameters:
      - name: additional-packages
        value: python vim
    state: present

- name: "Ensure existence of an Operating System (provide default values)"
  theforeman.foreman.operatingsystem:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: Centos
    family: Redhat
    major: 7
    password_hash: SHA256
    state: present_with_defaults

- name: "Delete an Operating System"
  theforeman.foreman.operatingsystem:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: Debian
    family: Debian
    major: 9
    state: absent

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.

 
operatinsystems
list / elements=dictionary
success
List of operatinsystems.



Authors

  • Matthias M Dellweg (@mdellweg) ATIX AG

  • Bernhard Hopfenmüller (@Fobhep) ATIX AG