theforeman.foreman.smart_class_parameter – Manage Smart Class Parameters

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

New in version 1.0.0: of theforeman.foreman

Synopsis

  • Update Smart Class Parameters.

  • Smart Class Parameters are created/deleted for Puppet classes during import and cannot be created or deleted otherwise.

Requirements

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

  • requests

Parameters

Parameter Choices/Defaults Comments
avoid_duplicates
boolean
    Choices:
  • no
  • yes
Remove duplicate values (only array type)
default_value
raw
Value to use by default.
description
string
Description of the Smart Class Parameter
hidden_value
boolean
    Choices:
  • no
  • yes
When enabled the parameter is hidden in the UI.
merge_default
boolean
    Choices:
  • no
  • yes
Include default value when merging all matching values.
merge_overrides
boolean
    Choices:
  • no
  • yes
Merge all matching values (only array/hash type).
omit
boolean
    Choices:
  • no
  • yes
Don't send this parameter in classification output.
Puppet will use the value defined in the Puppet manifest for this parameter.
override
boolean
    Choices:
  • no
  • yes
Whether the smart class parameter value is managed by Foreman
override_value_order
list / elements=string
The order in which values are resolved.
override_values
list / elements=dictionary
Value overrides
match
string / required
Override match
omit
boolean
    Choices:
  • no
  • yes
Don't send this parameter in classification output, replaces use_puppet_default.
value
raw
Override value, required if omit is false
parameter
string / required
Name of the parameter
parameter_type
string
    Choices:
  • string
  • boolean
  • integer
  • real
  • array
  • hash
  • yaml
  • json
  • none
Types of variable values. If none, set the parameter type to empty value.
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.
puppetclass_name
string / required
Name of the puppetclass that own the parameter
required
boolean
    Choices:
  • no
  • yes
If true, will raise an error if there is no default value and no matcher provide a value.
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
State of the entity.
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.
validator_rule
string
Used to enforce certain values for the parameter values.
validator_type
string
    Choices:
  • regexp
  • list
Types of validation values.

Examples

- name: "Update prometheus::server alertmanagers_config param default value"
  theforeman.foreman.smart_class_parameter:
    puppetclass_name: "prometheus::server"
    parameter: alertmanagers_config
    override: true
    required: true
    default_value: /etc/prometheus/alert.yml
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: "Update prometheus::server alertmanagers_config param default value"
  theforeman.foreman.smart_class_parameter:
    puppetclass_name: "prometheus::server"
    parameter: alertmanagers_config
    override: true
    override_value_order:
      - fqdn
      - hostgroup
      - domain
    required: true
    default_value: /etc/prometheus/alert.yml
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    override_values:
      - match: domain=example.com
        value: foo
      - match: domain=foo.example.com
        omit: true
    state: present

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.

 
smart_class_parameters
list / elements=dictionary
success
List of smart class parameters.



Authors

  • Baptiste Agasse (@bagasse)