foreman_smart_class_parameter – Manage Foreman Smart Class Parameters using Foreman API

Synopsis

  • Update Foreman Smart Class Parameters using Foreman API. Smart Class Paramters are created/deleted at on puppet classes import

  • and cannot be created or deleted via Foreman API.

Requirements

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

  • apypie

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
Foreman will not 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
Foreman will not 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
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
state
string
    Choices:
  • present ←
  • present_with_defaults
State of the entity.
username
string / required
Username accessing the Foreman server
validate_certs
boolean
    Choices:
  • no
  • yes ←
Whether or not to verify the TLS certificates of the Foreman server

aliases: verify_ssl
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"
  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: "secret"
    state: present

- name: "Update prometheus::server alertmanagers_config param default value"
  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: "secret"
    override_values:
      - match: domain=example.com
        value: foo
      - match: domain=foo.example.com
        omit: true
    state: present

Status

Authors

  • Baptiste Agasse (@bagasse)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.