` for details.
    To use it in a playbook, specify: :code:`theforeman.foreman.smart_class_parameter`.
.. version_added
.. rst-class:: ansible-version-added
New in theforeman.foreman 1.0.0
.. contents::
   :local:
   :depth: 1
.. Deprecated
Synopsis
--------
.. Description
- Update Smart Class Parameters.
- Smart Class Parameters are created/deleted for Puppet classes during import and cannot be created or deleted otherwise.
.. Aliases
Aliases: foreman_smart_class_parameter
.. Requirements
.. _ansible_collections.theforeman.foreman.smart_class_parameter_module_requirements:
Requirements
------------
The below requirements are needed on the host that executes this module.
- requests
.. Options
Parameters
----------
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
  :width: 100%
  :widths: auto
  :header-rows: 1
  :class: longtable ansible-option-table
  * - Parameter
    - Comments
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-avoid_duplicates:
      .. rst-class:: ansible-option-title
      **avoid_duplicates**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Remove duplicate values (only array type)
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-ca_path:
      .. rst-class:: ansible-option-title
      **ca_path**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`path`
      .. raw:: html
        
 
    - .. raw:: html
        
      PEM formatted file that contains a CA certificate to be used for validation.
      If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_CA\_PATH` will be used instead.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-default_value:
      .. rst-class:: ansible-option-title
      **default_value**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`any`
      .. raw:: html
        
 
    - .. raw:: html
        
      Value to use by default.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-description:
      .. rst-class:: ansible-option-title
      **description**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Description of the Smart Class Parameter
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-hidden_value:
      .. rst-class:: ansible-option-title
      **hidden_value**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      When enabled the parameter is hidden in the UI.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-merge_default:
      .. rst-class:: ansible-option-title
      **merge_default**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Include default value when merging all matching values.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-merge_overrides:
      .. rst-class:: ansible-option-title
      **merge_overrides**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Merge all matching values (only array/hash type).
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-omit:
      .. rst-class:: ansible-option-title
      **omit**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Don't send this parameter in classification output.
      Puppet will use the value defined in the Puppet manifest for this parameter.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override:
      .. rst-class:: ansible-option-title
      **override**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Whether the smart class parameter value is managed by Foreman
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override_value_order:
      .. rst-class:: ansible-option-title
      **override_value_order**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`list` / :ansible-option-elements:`elements=string`
      .. raw:: html
        
 
    - .. raw:: html
        
      The order in which values are resolved.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override_values:
      .. rst-class:: ansible-option-title
      **override_values**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary`
      .. raw:: html
        
 
    - .. raw:: html
        
      Value overrides
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. raw:: latex
        \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override_values/match:
      .. rst-class:: ansible-option-title
      **match**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string` / :ansible-option-required:`required`
      .. raw:: html
        
 
      .. raw:: latex
        \end{minipage}
    - .. raw:: html
        
      Override match
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. raw:: latex
        \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override_values/omit:
      .. rst-class:: ansible-option-title
      **omit**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
      .. raw:: latex
        \end{minipage}
    - .. raw:: html
        
      Don't send this parameter in classification output, replaces use\_puppet\_default.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. raw:: latex
        \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-override_values/value:
      .. rst-class:: ansible-option-title
      **value**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`any`
      .. raw:: html
        
 
      .. raw:: latex
        \end{minipage}
    - .. raw:: html
        
      Override value, required if omit is false
      .. raw:: html
        
  * - .. raw:: html
        
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-parameter:
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-smart_class_parameter:
      .. rst-class:: ansible-option-title
      **parameter**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-aliases:`aliases: smart_class_parameter`
        :ansible-option-type:`string` / :ansible-option-required:`required`
      .. raw:: html
        
 
    - .. raw:: html
        
      Name of the parameter
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-parameter_type:
      .. rst-class:: ansible-option-title
      **parameter_type**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Types of variable values. If :literal:`none`\ , set the parameter type to empty value.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`"string"`
      - :ansible-option-choices-entry:`"boolean"`
      - :ansible-option-choices-entry:`"integer"`
      - :ansible-option-choices-entry:`"real"`
      - :ansible-option-choices-entry:`"array"`
      - :ansible-option-choices-entry:`"hash"`
      - :ansible-option-choices-entry:`"yaml"`
      - :ansible-option-choices-entry:`"json"`
      - :ansible-option-choices-entry:`"none"`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-password:
      .. rst-class:: ansible-option-title
      **password**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Password of the user accessing the Foreman server.
      If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_PASSWORD` will be used instead.
      .. raw:: html
        
  * - .. raw:: html
        
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-puppetclass:
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-puppetclass_name:
      .. rst-class:: ansible-option-title
      **puppetclass_name**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-aliases:`aliases: puppetclass`
        :ansible-option-type:`string` / :ansible-option-required:`required`
      .. raw:: html
        
 
    - .. raw:: html
        
      Name of the puppetclass that own the parameter
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-required:
      .. rst-class:: ansible-option-title
      **required**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      If true, will raise an error if there is no default value and no matcher provide a value.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-server_url:
      .. rst-class:: ansible-option-title
      **server_url**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string` / :ansible-option-required:`required`
      .. raw:: html
        
 
    - .. raw:: html
        
      URL of the Foreman server.
      If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_SERVER\_URL` will be used instead.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-state:
      .. rst-class:: ansible-option-title
      **state**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      State of the entity.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)`
      - :ansible-option-choices-entry:`"present\_with\_defaults"`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-use_gssapi:
      .. rst-class:: ansible-option-title
      **use_gssapi**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication.
      Requires the Python library \ `requests\-gssapi `__ to be installed.
      If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_USE\_GSSAPI` will be used instead.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry-default:`false` :ansible-option-choices-default-mark:`← (default)`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-username:
      .. rst-class:: ansible-option-title
      **username**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Username accessing the Foreman server.
      If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_USERNAME` will be used instead.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-validate_certs:
      .. rst-class:: ansible-option-title
      **validate_certs**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`boolean`
      .. raw:: html
        
 
    - .. raw:: html
        
      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 :literal:`FOREMAN\_VALIDATE\_CERTS` will be used instead.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`false`
      - :ansible-option-choices-entry-default:`true` :ansible-option-choices-default-mark:`← (default)`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-validator_rule:
      .. rst-class:: ansible-option-title
      **validator_rule**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Used to enforce certain values for the parameter values.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__parameter-validator_type:
      .. rst-class:: ansible-option-title
      **validator_type**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      Types of validation values.
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`"regexp"`
      - :ansible-option-choices-entry:`"list"`
      .. raw:: html
        
.. Attributes
Attributes
----------
.. tabularcolumns:: \X{2}{10}\X{3}{10}\X{5}{10}
.. list-table::
  :width: 100%
  :widths: auto
  :header-rows: 1
  :class: longtable ansible-option-table
  * - Attribute
    - Support
    - Description
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__attribute-check_mode:
      .. rst-class:: ansible-option-title
      **check_mode**
      .. raw:: html
        
      .. raw:: html
        
 
    - .. raw:: html
        
      :ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
      .. raw:: html
        
    - .. raw:: html
        
      Can run in check\_mode and return changed status prediction without modifying the entity
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__attribute-diff_mode:
      .. rst-class:: ansible-option-title
      **diff_mode**
      .. raw:: html
        
      .. raw:: html
        
 
    - .. raw:: html
        
      :ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
      .. raw:: html
        
    - .. raw:: html
        
      Will return details on what has changed (or possibly needs changing in check\_mode), when in diff mode
      .. raw:: html
        
.. Notes
.. Seealso
.. Examples
Examples
--------
.. code-block:: yaml+jinja
    - 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
.. Facts
.. Return values
Return Values
-------------
Common return values are documented :ref:`here `, the following are the fields unique to this module:
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
  :width: 100%
  :widths: auto
  :header-rows: 1
  :class: longtable ansible-option-table
  * - Key
    - Description
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__return-entity:
      .. rst-class:: ansible-option-title
      **entity**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`dictionary`
      .. raw:: html
        
 
    - .. raw:: html
        
      Final state of the affected entities grouped by their type.
      .. rst-class:: ansible-option-line
      :ansible-option-returned-bold:`Returned:` success
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. raw:: latex
        \hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
      .. _ansible_collections.theforeman.foreman.smart_class_parameter_module__return-entity/smart_class_parameters:
      .. rst-class:: ansible-option-title
      **smart_class_parameters**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary`
      .. raw:: html
        
 
      .. raw:: latex
        \end{minipage}
    - .. raw:: html
        
      List of smart class parameters.
      .. rst-class:: ansible-option-line
      :ansible-option-returned-bold:`Returned:` success
      .. raw:: html
        
..  Status (Presently only deprecated)
.. Authors
Authors
~~~~~~~
- Baptiste Agasse (@bagasse)
.. Extra links
Collection links
~~~~~~~~~~~~~~~~
.. ansible-links::
  - title: "Issue Tracker"
    url: "https://github.com/theforeman/foreman-ansible-modules/issues"
    external: true
  - title: "Homepage"
    url: "https://theforeman.org/"
    external: true
  - title: "Repository (Sources)"
    url: "https://github.com/theforeman/foreman-ansible-modules"
    external: true
.. Parsing errors