theforeman.foreman.discovery_rule module – Manage Host Discovery Rules

Note

This module is part of the theforeman.foreman collection (version 4.1.0-dev).

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. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: theforeman.foreman.discovery_rule.

New in theforeman.foreman 3.5.0

Synopsis

  • Manage Host Discovery Rules

Requirements

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

  • requests

Parameters

Parameter

Comments

enabled

boolean

Enable or disable the rule

Choices:

  • false

  • true

hostgroup

string

Hostgroup to assign hosts to

Required if state=present

hostname

string

Hostname to assign to discovered host(s)

When matching multiple hosts, must provide unique hostnames for each of the discovered hosts

locations

list / elements=string

List of locations the entity should be assigned to

max_count

integer

Maximum amount of hosts to provision with the rule

0 means no limit

name

string / required

Name of the Discovery Rule

organizations

list / elements=string

List of organizations the entity should be assigned to

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.

priority

integer

Priority of the rule

string

Expression to match newly discovered hosts with

Required if state=present

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

State of the entity

Choices:

  • "present" ← (default)

  • "absent"

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.

Choices:

  • false

  • true ← (default)

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying the entity

diff_mode

Support: full

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode

Examples

- name: 'Ensure Discovery Rule'
  theforeman.foreman.discovery_rule:
    username: 'admin'
    password: 'secret_password'
    server_url: 'https://foreman.example.com'
    name: 'my-first-disco'
    search: 'mac = bb:bb:bb:bb:bb:bb'
    hostgroup: 'RedHat7-Base'
    hostname: 'servera'
    max_count: 1
    organizations:
      - 'MyOrg'
    locations:
      - 'DC1'

- name: 'Remove Discovery Rule'
  theforeman.foreman.discovery_rule:
    username: 'admin'
    password: 'secret_password'
    server_url: 'https://foreman.example.com'
    name: 'my-first-disco'
    state: 'absent'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

entity

dictionary

Final state of the affected entities grouped by their type.

Returned: success

discovery_rules

list / elements=dictionary

List of discovery rules.

Returned: success

Authors

  • Jeffrey van Pelt (@Thulium-Drake)