telekom_mms.icinga_director.icinga_syncrule module – Manage sync rules in Icinga2 Director
Note
This module is part of the telekom_mms.icinga_director collection (version 2.6.1).
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 telekom_mms.icinga_director.
To use it in a playbook, specify: telekom_mms.icinga_director.icinga_syncrule.
New in telekom_mms.icinga_director 2.0.0
Synopsis
Add or remove a sync rule in Icinga2 Director through the director API.
Parameters
Parameter |
Comments |
|---|---|
Default timeout to wait for transaction to finish in seconds. Default: |
|
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. Choices:
|
|
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, |
|
PEM formatted file that contains your private key to be used for SSL client authentication. If |
|
An optional description for this sync rule. |
|
An optional filter expression to restrict which imported rows are processed by this sync rule. |
|
If Choices:
|
|
Credentials specified with Choices:
|
|
Header to identify as, generally appears in web server logs. Default: |
|
The Icinga object type that this sync rule targets. This is the type of Icinga object that will be created or updated by the sync rule, not to be confused with the Director object_type (object/template/apply). Choices:
|
|
Action to take when purging objects that no longer exist in the import source. Only relevant when Choices:
|
|
Whether to remove Icinga objects that are no longer present in the import source. Choices:
|
|
Name of the sync rule. This must be unique across all sync rules in Icinga Director. |
|
Apply feature state. Choices:
|
|
List of sync property mappings from import-source columns to Icinga object fields. Each entry must contain Optional per-entry keys are When omitted the module does not manage sync properties (existing properties are preserved). |
|
Defines how existing Icinga objects are updated when the sync rule runs.
Choices:
|
|
HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path |
|
The password for use in HTTP basic authentication. If the |
|
The username for use in HTTP basic authentication. This parameter can be used without |
|
Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication. Requires the Python library gssapi to be installed. Credentials for GSSAPI can be specified with NTLM authentication is not supported even if the GSSAPI mech for NTLM has been installed. Choices:
|
|
If Choices:
|
|
If This should only be used on personally controlled sites using self-signed certificates. Choices:
|
Notes
Note
This module supports check mode.
Uses the standard
/director/syncrulesbulk endpoint (GET/POST/DELETE). Requires Director with upstream PR adding POST and DELETE support toSyncrulesControllerandunserializeSyncRulesinImportExport.
Examples
- name: Create a sync rule in icinga
telekom_mms.icinga_director.icinga_syncrule:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
rule_name: "Sync Hosts from CMDB"
object_type: "host"
update_policy: "merge"
purge_existing: false
description: "Synchronizes hosts from the CMDB import source"
- name: Create a sync rule that purges deleted objects
telekom_mms.icinga_director.icinga_syncrule:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
rule_name: "Sync Services from CMDB"
object_type: "service"
update_policy: "override"
purge_existing: true
purge_action: "disable"
filter_expression: 'source.vars.monitored="yes"'
- name: Update the description of a sync rule
telekom_mms.icinga_director.icinga_syncrule:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
rule_name: "Sync Hosts from CMDB"
description: "Updated description"
append: true
- name: Delete a sync rule in icinga
telekom_mms.icinga_director.icinga_syncrule:
state: absent
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
rule_name: "Sync Hosts from CMDB"