theforeman.foreman.smart_class_parameter – Manage Smart Class Parameters

Note

This plugin is part of the theforeman.foreman collection.

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)