t_systems_mms / t_systems_mms.icinga_director / 1.33.1 / module / icinga_command_template Manage command templates in Icinga2 | "added in version" 1.1.0 of t_systems_mms.icinga_director" Authors: Lars Krahl (@mmslkr)t_systems_mms.icinga_director.icinga_command_template (1.33.1) — module
Install with ansible-galaxy collection install t_systems_mms.icinga_director:==1.33.1
collections: - name: t_systems_mms.icinga_director version: 1.33.1
Add or remove a command template to Icinga2 through the director API.
- name: Create command template t_systems_mms.icinga_director.icinga_command_template: state: present url: "{{ icinga_url }}" url_username: "{{ icinga_user }}" url_password: "{{ icinga_pass }}" arguments: '--authpassphrase': value: $snmpv3_priv_key$ '--authprotocol': value: $snmpv3_auth_protocol$ '--critical': value: $centreon_critical$ '--filter': value: $centreon_filter$ '--hostname': value: $snmp_address$ '--maxrepetitions': value: $centreon_maxrepetitions$ '--mode': value: $centreon_mode$ '--plugin': value: $centreon_plugin$ '--privpassphrase': value: $snmpv3_auth_key$ '--privprotocol': value: $snmpv3_priv_protocol$ '--snmp-community': value: $snmp_community$ '--snmp-timeout': value: $snmp_timeout$ '--snmp-username': value: $snmpv3_user$ '--snmp-version': value: $snmp_version$ '--subsetleef': value: $centreon_subsetleef$ '--verbose': set_if: $centreon_verbose$ '--warning': value: $centreon_warning$ '--dummy-arg': description: "dummy arg using Icinga DSL code" value: type: "Function" body: 'return macro("$dummy_var$")' command: "/opt/centreon-plugins/centreon_plugins.pl" command_type: "PluginCheck" object_name: centreon-plugins-template disabled: false vars: centreon_maxrepetitions: 20 centreon_subsetleef: 20 centreon_verbose: false snmp_address: $address$ snmp_timeout: 60 snmp_version: '2' snmpv3_auth_key: authkey snmpv3_priv_key: privkey snmpv3_user: user
- name: Update command template t_systems_mms.icinga_director.icinga_command_template: state: present url: "{{ icinga_url }}" url_username: "{{ icinga_user }}" url_password: "{{ icinga_pass }}" object_name: centreon-plugins-template timeout: "2m" append: true
url: description: - HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path required: true type: str vars: default: {} description: - Custom properties of the command template. type: dict zone: description: - Icinga cluster zone. Allows to manually override Directors decisions of where to deploy your config to. - You should consider not doing so unless you gained deep understanding of how an Icinga Cluster stack works. type: str force: default: false description: - If V(yes) do not get a cached copy. type: bool state: choices: - present - absent default: present description: - Apply feature state. type: str append: choices: - true - false description: - Do not overwrite the whole object but instead append the defined properties. - Note - Appending to existing vars, imports or any other list/dict is not possible. You have to overwrite the complete list/dict. - Note - Variables that are set by default will also be applied, even if not set. type: bool version_added: 1.25.0 version_added_collection: t_systems_mms.icinga_director command: description: - The command Icinga should run. - Absolute paths are accepted as provided, relative paths are prefixed with "PluginDir + ", similar Constant prefixes are allowed. - Spaces will lead to separation of command path and standalone arguments. - Please note that this means that we do not support spaces in plugin names and paths right now. type: str imports: default: [] description: - Importable templates, add as many as you want. Please note that order matters when importing properties from multiple templates - last one wins. elements: str type: list timeout: description: - Optional command timeout. Allowed values are seconds or durations postfixed with a specific unit (for example 1m or also 3m 30s). type: str disabled: choices: - true - false default: false description: - Disabled objects will not be deployed. type: bool arguments: description: - Arguments of the command template. - Each argument can take either a string, a json or a dict - When using a dict as argument value, the following properties are supported. C(skip_key), C(repeat_key), C(required), C(order), C(description)), C(set_if), C(value). - The C(value) property can be either a string, a json or a dict. When used as a dict, you can define its C(type) as C(Function) and set its C(body) property as an Icinga DSL piece of config. type: dict use_proxy: default: true description: - If V(no), it will not use a proxy, even if one is defined in an environment variable on the target hosts. type: bool client_key: description: - PEM formatted file that contains your private key to be used for SSL client authentication. - If O(client_cert) contains both the certificate and key, this option is not required. type: path http_agent: default: ansible-httpget description: - Header to identify as, generally appears in web server logs. type: str use_gssapi: default: false description: - Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication. - Requires the Python library L(gssapi,https://github.com/pythongssapi/python-gssapi) to be installed. - Credentials for GSSAPI can be specified with O(url_username)/O(url_password) or with the GSSAPI env var C(KRB5CCNAME) that specified a custom Kerberos credential cache. - NTLM authentication is B(not) supported even if the GSSAPI mech for NTLM has been installed. type: bool version_added: '2.11' version_added_collection: ansible.builtin client_cert: description: - PEM formatted certificate chain file to be used for SSL client authentication. - This file can also include the key as well, and if the key is included, O(client_key) is not required. type: path object_name: aliases: - name description: - Name of the command template. required: true type: str url_password: description: - The password for use in HTTP basic authentication. - If the O(url_username) parameter is not specified, the O(url_password) parameter will not be used. type: str url_username: description: - The username for use in HTTP basic authentication. - This parameter can be used without O(url_password) for sites that allow empty passwords type: str validate_certs: default: true description: - If V(no), SSL certificates will not be validated. - This should only be used on personally controlled sites using self-signed certificates. type: bool methods_execute: aliases: - command_type choices: - PluginCheck - PluginNotification - PluginEvent default: PluginCheck description: - Plugin Check commands are what you need when running checks against your infrastructure. - Notification commands will be used when it comes to notify your users. - Event commands allow you to trigger specific actions when problems occur. - Some people use them for auto-healing mechanisms, like restarting services or rebooting systems at specific thresholds. type: str force_basic_auth: default: false description: - Credentials specified with O(url_username) and O(url_password) should be passed in HTTP Header. type: bool