summaryrefslogtreecommitdiffstats
path: root/ansible_collections/telekom_mms
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/telekom_mms')
-rw-r--r--ansible_collections/telekom_mms/icinga_director/.aar_doc.yml72
-rw-r--r--ansible_collections/telekom_mms/icinga_director/CHANGELOG.rst40
-rw-r--r--ansible_collections/telekom_mms/icinga_director/FILES.json741
-rw-r--r--ansible_collections/telekom_mms/icinga_director/MANIFEST.json4
-rw-r--r--ansible_collections/telekom_mms/icinga_director/README.md30
-rw-r--r--ansible_collections/telekom_mms/icinga_director/changelogs/.plugin-cache.yaml2
-rw-r--r--ansible_collections/telekom_mms/icinga_director/changelogs/changelog.yaml444
-rw-r--r--ansible_collections/telekom_mms/icinga_director/docs/icinga_deploy.rst5
-rw-r--r--ansible_collections/telekom_mms/icinga_director/docs/icinga_notification.rst28
-rw-r--r--ansible_collections/telekom_mms/icinga_director/examples/icinga_deploy.yml1
-rw-r--r--ansible_collections/telekom_mms/icinga_director/examples/icinga_notification.yml23
-rw-r--r--ansible_collections/telekom_mms/icinga_director/meta/runtime.yml2
-rw-r--r--ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_deploy.py12
-rw-r--r--ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_notification.py39
-rw-r--r--ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_service_apply.py14
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/README.md2268
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/defaults/main.yml18
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/handlers/main.yml8
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/argument_specs.yml1345
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/main.yml5
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command.yml26
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command_template.yml28
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_endpoint.yml18
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host.yml72
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host_template.yml72
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_hostgroup.yml14
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification.yml30
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification_template.yml32
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml24
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service.yml53
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_apply.yml52
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_template.yml54
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_servicegroup.yml14
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_serviceset.yml14
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_timeperiod.yml16
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user.yml22
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_group.yml24
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_template.yml18
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_zone.yml14
-rw-r--r--ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/main.yml77
40 files changed, 4613 insertions, 1162 deletions
diff --git a/ansible_collections/telekom_mms/icinga_director/.aar_doc.yml b/ansible_collections/telekom_mms/icinga_director/.aar_doc.yml
new file mode 100644
index 000000000..9991be7fb
--- /dev/null
+++ b/ansible_collections/telekom_mms/icinga_director/.aar_doc.yml
@@ -0,0 +1,72 @@
+output_template: |
+ <!-- BEGIN_ANSIBLE_DOCS -->
+ # Ansible Role: {{ role }}
+ ---
+ {%- if "version" in galaxy_collection %}
+ Version: {{ galaxy_collection.version }}
+ {% endif %}
+ {{ metadata.galaxy_info.description }}
+ {% if ("galaxy_tags" in metadata.galaxy_info) and (metadata.galaxy_info.galaxy_tags | length > 0) %}
+ Tags: {{ metadata.galaxy_info.galaxy_tags | join(', ') }}
+ {%- endif %}
+
+ ## Requirements
+ ---
+ | Platform | Versions |
+ | -------- | -------- |
+ {%- for platform in metadata.galaxy_info.platforms %}
+ | {{ platform.name }} | {{ platform.versions | default([]) | join(', ') }} |
+ {%- endfor %}
+
+ ## Supported Operating Systems
+
+ {%- for platform in metadata.galaxy_info.platforms %}
+ - {{ platform.name }}
+ {%- if "versions" in platform %}
+ - {{ platform.versions | default([]) | join(', ') }}
+ {%- endif %}
+ {%- endfor %}
+
+ ## Role Variables
+ {% for entrypoint in argument_specs.keys() %}
+ {%- set path, options=entrypoint_options[entrypoint][0] -%}
+ {%- for name, details in options.items() |sort() %}
+ - `{{ name }}`:
+ - Default: `{{ details.display_default }}`
+ - Description: {{ details.display_description }}
+ - Type: {{ details.display_type }}
+ - Required: {{ details.display_required }}
+ {% if details.options -%}
+ - Options:
+ {% for key, value in details.options.items() %}
+ - `{{ key }}`:
+ - description:
+ {% for line in value.description %}
+ - "{{ line }}"
+ {% endfor %}
+ {%- if value.choices %}
+ - Choices:
+ {%- for choice in value.choices %}
+ - {{ choice }}
+ {%- endfor %}
+ {%- endif %}
+ - default: "{{ value.default }}"
+ - type: "{{ value.type }}"
+ - required: "{{ value.display_required }}"
+ {% endfor %}
+ {%- endif %}
+ {%- endfor %}
+ {%- endfor %}
+
+ ## Dependencies
+
+ {%- if ("dependencies" in metadata) and (metadata.dependencies | length > 0) %}
+ {%- for dependency in metadata.dependencies %}
+ - {{ dependency }}
+ {%- endfor %}
+ {%- else %}
+
+ None.
+ {%- endif %}
+
+ <!-- END_ANSIBLE_DOCS -->
diff --git a/ansible_collections/telekom_mms/icinga_director/CHANGELOG.rst b/ansible_collections/telekom_mms/icinga_director/CHANGELOG.rst
index 338e4ad1a..655db019b 100644
--- a/ansible_collections/telekom_mms/icinga_director/CHANGELOG.rst
+++ b/ansible_collections/telekom_mms/icinga_director/CHANGELOG.rst
@@ -5,6 +5,46 @@ telekom_mms.icinga_director Release Notes
.. contents:: Topics
+v2.1.2
+======
+
+v2.1.1
+======
+
+Bugfixes
+--------
+
+- change notification interval variable to int-type (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/254)
+- set user_groups in notification to empty list (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/255)
+
+v2.1.0
+======
+
+Minor Changes
+-------------
+
+- Increase sleep to 5 seconds (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/245)
+
+v2.0.5
+======
+
+v2.0.4
+======
+
+v2.0.3
+======
+
+v2.0.2
+======
+
+v2.0.1
+======
+
+Bugfixes
+--------
+
+- Fixes #190 - Workaround for service apply bug (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/239)
+
v1.35.0
=======
diff --git a/ansible_collections/telekom_mms/icinga_director/FILES.json b/ansible_collections/telekom_mms/icinga_director/FILES.json
index 93627f1e6..9c9f11913 100644
--- a/ansible_collections/telekom_mms/icinga_director/FILES.json
+++ b/ansible_collections/telekom_mms/icinga_director/FILES.json
@@ -8,388 +8,402 @@
"format": 1
},
{
- "name": "CHANGELOG.md",
+ "name": "README.md",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "99d0821e711ba004b27660d12cfedefdbd22714040ad8758da0de2e7e7a6a18b",
+ "chksum_sha256": "cbd05e65ef1941cf778aa7194150be8aafdfda99574ff76475bccb7dfb40f356",
"format": 1
},
{
- "name": "renovate.json",
+ "name": "CHANGELOG.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e711d74edde804d88ffcdb2f07cd04fdb50c088ed7e8733bce44f95b56fba8b4",
+ "chksum_sha256": "560ba024e6d16a87a027b64a354f7457557e64e2ca459df5a2b80564fcb78aaa",
"format": 1
},
{
- "name": "LICENSE",
+ "name": ".aar_doc.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986",
+ "chksum_sha256": "4553d719d053f16602266cd5b772273391bf7921a7d6540fd903642371b40942",
"format": 1
},
{
- "name": "meta",
+ "name": "CONTRIBUTING.md",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "95e2b2b6d356582984f8c830150fcfa1b879807776d24c0111426df8191febca",
+ "format": 1
+ },
+ {
+ "name": ".gitattributes",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b2deb48e94193846f3933845436e4b28bd819b7e54f87f713c4e45925e84d645",
+ "format": 1
+ },
+ {
+ "name": "docs",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "meta/runtime.yml",
+ "name": "docs/icinga_notification_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7987b97d023a17278e43b9e5977acb7a3717efc4997816565f9471c67e48999e",
+ "chksum_sha256": "4dba0f64ee219cea065ee72054722622f8011b47958ab0ccaedc3cc3cb3721fa",
"format": 1
},
{
- "name": "README.md",
+ "name": "docs/icinga_user_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "18b4f88a37545cedf51b2d6bde363654cfe832525217d4c38a8a590a692f0088",
+ "chksum_sha256": "65f2cc11ca8e564df632609b154f39411402811b0fbbd1b1a6220aeedca56451",
"format": 1
},
{
- "name": "plugins",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "docs/icinga_timeperiod_info.rst",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "379a46278cad4604604d98b839e88b050db962329a22d9bebc18a3a734c2f2be",
"format": 1
},
{
- "name": "plugins/inventory",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "docs/icinga_timeperiod_template_info.rst",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "38ea5dca279e66726bfedb9eb906decfef42b60b578eae0c71999dcff2b9ced0",
"format": 1
},
{
- "name": "plugins/inventory/icinga_director_inventory.py",
+ "name": "docs/icinga_servicegroup_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "afce980e40cd5134fb384d20d89db8b6ed94500cf18afe4a25f201c5d1b33403",
+ "chksum_sha256": "9a99593e23cb0c744204e4761aae8557dc2e1db7d15d8cfe03dad62a5cd09897",
"format": 1
},
{
- "name": "plugins/modules",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "docs/icinga_service_info.rst",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "2b6272b280c7c9d24908096ae72245c53828cee1497b624192d689c7f2cbf0bb",
"format": 1
},
{
- "name": "plugins/modules/icinga_user_group.py",
+ "name": "docs/icinga_hostgroup_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0bbe9b060799897810c637ffacb1b1a723e46b99db928999f1093503cdbdad2e",
+ "chksum_sha256": "68f3bb8c3bd161b0979580c51f409e58dc53e8d050f6cf2cf92ca94e414fd93e",
"format": 1
},
{
- "name": "plugins/modules/icinga_user_info.py",
+ "name": "docs/icinga_host_template_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "581b14244d8c3706e6631780b29f46b0fb89f63cd8b1cbdda5c23c0651e9c3cf",
+ "chksum_sha256": "b5820cd58abb5fcca940d318f2fe600d596becf192754b1766a9d454fd18e86e",
"format": 1
},
{
- "name": "plugins/modules/icinga_user_template.py",
+ "name": "docs/icinga_command_template_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "002207d6493402887a2b66a02ef12cbe09fd5402a62f329089d8572fbb669bcd",
+ "chksum_sha256": "4fd5b810c23e74381890134eaf332b4c07846fdd8b2c676d0b4604360c0ebf3d",
"format": 1
},
{
- "name": "plugins/modules/icinga_zone_info.py",
+ "name": "docs/icinga_endpoint.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "031dab242c365b3aee630abee6448545a818f38430358d3358aa3db5f58c00b2",
+ "chksum_sha256": "98d4c03cffe0d6ec6996c9fdb02dcd83b11c6fbf5417f1ad3babe465487d845d",
"format": 1
},
{
- "name": "plugins/modules/icinga_notification_template_info.py",
+ "name": "docs/icinga_timeperiod_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b94210434c4785785f183e94539bad62b7e906abd763cfafc199291324a66a4b",
+ "chksum_sha256": "2023e5f94e875f8a49c9e6305239c7c9aa2058a25a412fed6ddc8ce140ba423e",
"format": 1
},
{
- "name": "plugins/modules/icinga_host_template.py",
+ "name": "docs/icinga_serviceset.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f08ea8599c552ba06ef28fd87223ad3176a5fae73077adc0ff13e1ce5e870d29",
+ "chksum_sha256": "f00d2d38ace64bfc24ce034ecea861de33fd8cf054da1184721d8a799b22638b",
"format": 1
},
{
- "name": "plugins/modules/icinga_notification_template.py",
+ "name": "docs/icinga_notification.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d44a47b755ea484cae1334f8a8904ee38000510e178c1fbc5fa709f0987cd0fd",
+ "chksum_sha256": "a0b0c2fc93bcb3826801337041212917f7d76fda0509031b9aa459b4041a198c",
"format": 1
},
{
- "name": "plugins/modules/icinga_service_apply_info.py",
+ "name": "docs/icinga_service_template_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b7b1ef59f8f83ae999174fc5023ebfcf4b831b44356a4704b0d5757d31f9413a",
+ "chksum_sha256": "26aea36bc17910c713576b95ef1800704a81caec2a2c1f62611085dda8c5a97d",
"format": 1
},
{
- "name": "plugins/modules/icinga_service_template_info.py",
+ "name": "docs/icinga_deploy_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "79027979d612de069884ea422b430660c1823ebcbef95872b2ae4b12089f7100",
+ "chksum_sha256": "04c3b91f6ccc48f19bfc1b2287e97cc15158626e0de4018a359a523858a58847",
"format": 1
},
{
- "name": "plugins/modules/icinga_service_apply.py",
+ "name": "docs/icinga_user_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "39fdca31bf58c5a11d1b6670cb39227b5a5b01fa5b289d7949f50e643937722f",
+ "chksum_sha256": "b6479d03bff152baef69dbe2db979077248f0c61addf85af0ff8fcd95c45a1df",
"format": 1
},
{
- "name": "plugins/modules/icinga_endpoint.py",
+ "name": "docs/icinga_host_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b00feba05e27cbe1e62eaf2d99e9293d8f4fcbeb6342811aade18398ef0b66b5",
+ "chksum_sha256": "3073ef58234d064561bd1c61afd3bf13c155b031ca154813dfe6cf6cea2e8d60",
"format": 1
},
{
- "name": "plugins/modules/icinga_endpoint_info.py",
+ "name": "docs/icinga_notification_template_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d3fd36c406dd69b24afcbc405f384ce9ccbd509d54a5b7e31eb0023357861258",
+ "chksum_sha256": "a8c8bf662b23f55fc34fb9354369ac7b551f70efaa21abe4222c77c058817daf",
"format": 1
},
{
- "name": "plugins/modules/icinga_user_template_info.py",
+ "name": "docs/icinga_director_inventory.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "09015fa2d503a63f75918ebeadf81488d5db96d8003553accd666534e17258ec",
+ "chksum_sha256": "83eac988b52587241a2e171a655111e58418375e21fd7d82149e1ec4f5014851",
"format": 1
},
{
- "name": "plugins/modules/icinga_zone.py",
+ "name": "docs/icinga_command_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "68a82be1565b2841b69c20d663ae084c364c517b27531f683024d3f1fb32badd",
+ "chksum_sha256": "712ceada4873413eaf6f514e7f11204ab84e41fc3fcbf9ba0a848021e180dfdf",
"format": 1
},
{
- "name": "plugins/modules/icinga_user.py",
+ "name": "docs/icinga_host_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "94cca6809793d50a7716466701bcaadd307b1bf36ae2db1839ed679631936e5d",
+ "chksum_sha256": "c953507375cbf5d1bd4b727bfcaabd7719f4f7a4489186d1569474e206d395d3",
"format": 1
},
{
- "name": "plugins/modules/icinga_service_template.py",
+ "name": "docs/icinga_zone.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7aaf5a8cbe631079be1e54aaa74048ff39a067b9443af9f3e3e706e7e4958e71",
+ "chksum_sha256": "6698e90afcc560405494f8a5cb15446ad300db0cf43a71b96cc9710fda7c99dd",
"format": 1
},
{
- "name": "plugins/modules/icinga_host.py",
+ "name": "docs/icinga_host.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "932cb54002669c25a603ea998dfa3bc5845e025d5362a0afba8f38733fe5a672",
+ "chksum_sha256": "c84d729e51fed6bb199f22b5d6113118ab4647a55d1b9f98fccdc62ff1bbb312",
"format": 1
},
{
- "name": "plugins/modules/icinga_command_template_info.py",
+ "name": "docs/icinga_endpoint_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0552ff8bcecd00973bae4ef9f695ba27cdebd2d806e5341fe2b292b87a7792e2",
+ "chksum_sha256": "b167b9c55be74dcb839737b6fcac7d4d70f4d4607578c20e4e9d7a57a97ee263",
"format": 1
},
{
- "name": "plugins/modules/icinga_scheduled_downtime.py",
+ "name": "docs/.gitkeep",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f156a76ea47beff013a3de0f879aaf7245274c53c1e01355ec7a7c5fc034782f",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"format": 1
},
{
- "name": "plugins/modules/icinga_hostgroup.py",
+ "name": "docs/icinga_timeperiod.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "25fe567954b8e78857aad9a889ea0da80f24a9005d2316a1e9b2aa2172fa9947",
+ "chksum_sha256": "7ef79a953606d7d5745c045cb83db736251d825e377d89c26079b2d919533b80",
"format": 1
},
{
- "name": "plugins/modules/icinga_servicegroup_info.py",
+ "name": "docs/icinga_user_group.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3d3f9d954c477286c2b789f604da25d116cf850e9e1e14b0ea04b4d755037cac",
+ "chksum_sha256": "76a7629d4d25a9939f443bdf6d227957b937ea2bc0bce6adabef07c2efff5ce3",
"format": 1
},
{
- "name": "plugins/modules/icinga_hostgroup_info.py",
+ "name": "docs/icinga_notification_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8e385fdf84e961d6cae5496c59bdc710b8cc8516eaa921d36991b826185423b2",
+ "chksum_sha256": "8320c94d95451596987f446d4efed37889e03f5b9e6e53b3181791cdf486f639",
"format": 1
},
{
- "name": "plugins/modules/icinga_host_info.py",
+ "name": "docs/icinga_deploy.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e7c4e5676e867e448abc760dd5480bd064852aff48ebf3b9c644a4032747c2b4",
+ "chksum_sha256": "6524856305f2d5cda1cff40aa29ce58cd51a12d85a0648dc67c5cf94e81840c7",
"format": 1
},
{
- "name": "plugins/modules/icinga_notification_info.py",
+ "name": "docs/icinga_zone_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0acf822f2bfbf15b9a197750457f71117973b92d31a301ddb51d3adc49d5cabe",
+ "chksum_sha256": "b46356a8245852122b172a2c9daff95947f9996d4119b09d0a3125b6b59b910d",
"format": 1
},
{
- "name": "plugins/modules/icinga_serviceset.py",
+ "name": "docs/icinga_user_group_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9cffad89eeb2cc4da1ef1749836025725df751db35fefbcd420e00528f440f71",
+ "chksum_sha256": "d79cf09e18862e57adf7976bbdfa19c2b8c9e53e89eebc6b8c35a5faab3932ab",
"format": 1
},
{
- "name": "plugins/modules/icinga_command_info.py",
+ "name": "docs/icinga_hostgroup.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f3325e7be18fa95480235d7905bc83756c1d958bcfb3e39de047c6aaf37c0d12",
+ "chksum_sha256": "4dbb0f673fb9bdbc4e200d7789e6c9e31ef767c9d2870dfe411e4b1169f8dfd1",
"format": 1
},
{
- "name": "plugins/modules/icinga_timeperiod.py",
+ "name": "docs/icinga_command.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "08ff91ecd1d9f0e160bd9b7997cdbc2ebbeb287b77969c8477c30d29d54701b1",
+ "chksum_sha256": "5af5899a3f95baf28cafe4a262bd5f9351abf27bb1c7543a653a70a4c89574db",
"format": 1
},
{
- "name": "plugins/modules/icinga_timeperiod_info.py",
+ "name": "docs/icinga_servicegroup.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f87bfe7a7e6f88867ad916658c4d92d63867179f3e793ff4d800ffc753ac66d5",
+ "chksum_sha256": "c6b7007f9b9c819d9d8ee38887ed5143da04363c92dff84b6562eb29e3e82c22",
"format": 1
},
{
- "name": "plugins/modules/icinga_timeperiod_template_info.py",
+ "name": "docs/icinga_scheduled_downtime.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7ecd6655ff95b53700806d00d09ef2b8d606ad3edcd8c9c5f40b526d6746fbd4",
+ "chksum_sha256": "eb05d0dcddad62d103030a48fcb2b7be270e44008fc0c7d66c3eeeb965a95c4b",
"format": 1
},
{
- "name": "plugins/modules/icinga_notification.py",
+ "name": "docs/icinga_user_template_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2a18c8f247b9350f212481a9df6382ffbc040ed12a0215af5c033ff678239508",
+ "chksum_sha256": "b5abd1e0ef18abe2e48caa887151484b02e35481a57842ee7873987312eba8ac",
"format": 1
},
{
- "name": "plugins/modules/icinga_service_info.py",
+ "name": "docs/icinga_service_apply.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ef2c457bf40f38f8973a23ed3946e27387a441d0aeb0e0dba3e9a3099bec1782",
+ "chksum_sha256": "e717a877bf9b007a02e6201a93d787a2764b9fbf179d1d2a4b32f7f58d61662c",
"format": 1
},
{
- "name": "plugins/modules/icinga_deploy.py",
+ "name": "docs/icinga_user.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6a10712f3ff9598c8ec99609c9ed58c9b6e3afa3b54a9d79149d4cb8451cb2a5",
+ "chksum_sha256": "f1a9a588e8abdf884c79e963d167d3bbeea6e7ee9c9aa2e855347590e7ec65b8",
"format": 1
},
{
- "name": "plugins/modules/icinga_host_template_info.py",
+ "name": "docs/icinga_command_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6a916778512b0d6f27f525e2da8280e065a6e06f32fca4325e5164a3f4ff31b6",
+ "chksum_sha256": "ff12f037d7dc8f6e6e1ee533dac6e89fcefd1b6ec522e6f1bb3a86b1fac549d7",
"format": 1
},
{
- "name": "plugins/modules/icinga_command_template.py",
+ "name": "docs/icinga_service_apply_info.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "bc15ac65064e261663ed9fb329fd4b8bcee60c9a02d1b3f7b0e53ec38060e9b1",
+ "chksum_sha256": "128ae7c70f7c0a6095bb6eff2fd9e85ac180b0575265c40ef621d611d192f085",
"format": 1
},
{
- "name": "plugins/modules/icinga_service.py",
+ "name": "docs/icinga_service_template.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "15fa5bed2a8d7c308fb7f95892ad540a764fc57352e2c48f6f57269cadf41333",
+ "chksum_sha256": "f787870a906543323acf30f41c10df902aa3a04848ffdaff89557f297f91e19d",
"format": 1
},
{
- "name": "plugins/modules/icinga_user_group_info.py",
+ "name": "docs/icinga_service.rst",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6e5f229cafab5a3d8024752f58e3192082d956aea409f4f4b9dba0f1b2a6371e",
+ "chksum_sha256": "3b2fdfcc93e1cdf1c5908719c08884b3d48e33bf958686242e9bec9dcea5d852",
"format": 1
},
{
- "name": "plugins/modules/icinga_command.py",
+ "name": "CHANGELOG.md",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4850dd60b1c6557995e0f0a30a2e8e05bfaa3873febfb410e663429585a72707",
+ "chksum_sha256": "99d0821e711ba004b27660d12cfedefdbd22714040ad8758da0de2e7e7a6a18b",
"format": 1
},
{
- "name": "plugins/modules/icinga_timeperiod_template.py",
+ "name": "renovate.json",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "aef9cb6ea2ee9f4a8540da6ef4b0185e9fc8d904e7ec63b4a451a9b78e66d092",
+ "chksum_sha256": "e711d74edde804d88ffcdb2f07cd04fdb50c088ed7e8733bce44f95b56fba8b4",
"format": 1
},
{
- "name": "plugins/modules/icinga_deploy_info.py",
+ "name": "CODEOWNERS",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8c15b71eb94e7323670d54a49bbcf74c0f198af9b4418064a86e9465f9b32d49",
+ "chksum_sha256": "24cd4a61cdbb71f31779fccb0e8cfca894fb02eade70c5c9cee71ae6828d1b58",
"format": 1
},
{
- "name": "plugins/modules/icinga_servicegroup.py",
+ "name": ".gitignore",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9208341a441e4b47b70dd3ecbbd7749dbe730b327ad582c8e04acc44a258897e",
+ "chksum_sha256": "0cb2d7d561d8f1feb38146d6c58c6143c7568b624e2ab6cf03ebc6247e35c991",
"format": 1
},
{
- "name": "plugins/doc_fragments",
+ "name": "changelogs",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/doc_fragments/common_options.py",
+ "name": "changelogs/.plugin-cache.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4636a41b3a10c7786474a983e2e95c4098b9134c4ea779322639c4907380714e",
+ "chksum_sha256": "e225ec6a82744ba0692e5df987b9bf94ddcbf9da65236a16ba291528bc789fb9",
"format": 1
},
{
- "name": "plugins/module_utils",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "changelogs/config.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "abbab66a433f6362c97d2c632af58683642922225a26a1dd7c6a78923d4ab8d8",
"format": 1
},
{
- "name": "plugins/module_utils/icinga.py",
+ "name": "changelogs/changelog.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a17012640e0de964ad91678334aafd451c37e18566e4bb852374c764f0e857d8",
+ "chksum_sha256": "2ec3b1408f299447a0545db3af5352d7805e500126d402052a2a5350d6176cf3",
"format": 1
},
{
- "name": ".gitattributes",
+ "name": "LICENSE",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b2deb48e94193846f3933845436e4b28bd819b7e54f87f713c4e45925e84d645",
+ "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986",
"format": 1
},
{
@@ -407,6 +421,13 @@
"format": 1
},
{
+ "name": "roles/ansible_icinga/README.md",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b4f92a3f9a28b13ac06e528005998559a6127e397f993786178592f8cbcad953",
+ "format": 1
+ },
+ {
"name": "roles/ansible_icinga/tasks",
"ftype": "dir",
"chksum_type": null,
@@ -417,147 +438,140 @@
"name": "roles/ansible_icinga/tasks/icinga_notification_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7b40258afda97cc0a454a143530b109c6859a5e4e18a525ab091c1b06075cc2f",
+ "chksum_sha256": "3ed510aecab0815ba21273b12109ad176a82109e8d4632fd55cc4a6a1351e950",
"format": 1
},
{
"name": "roles/ansible_icinga/tasks/icinga_user.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d1a71b5185068e8547ba6b5d8b984a89bf2b9aef5a5570fb01187e3308c6be20",
+ "chksum_sha256": "0a22ae1878b383e50b0ce070f93dea6891ebfb7435ee8418855dc97ebfbf018a",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_endpoint.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_user_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e9bff8ec9f24722912d56fe4aef10678726f43171e75787044ede75fd922f8ed",
+ "chksum_sha256": "909270ad5fb424847e0c83bcda5b4a1c57594cd84cfa4e1c69163d0bf1647965",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_command.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_hostgroup.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c9dfd5df8e7f84087bfbb6ef993f49bb8db875c8b09496f4c1a62550ee430995",
+ "chksum_sha256": "0c6b23d97d1a9952ec9c136412169c2aaab0fb6afb5d60f2a284f47170d61976",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_service_apply.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_command.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3d698077d5a521445d4ffb3b99da0b00ca68f4949c74ce52a12c0d46a3dc035a",
+ "chksum_sha256": "120bc74b88e32236c14c79c883b780bae6a897fd44b326f1a173c33365a236be",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/main.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_host_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c78b9cb1b47b8fed5166803121a998d0f7cd44bc7840f2a5fb9074dfd7bae6e1",
+ "chksum_sha256": "7c991233dc5f88dbb383cac233b6555ddcb6aee765de0305bd567ab89d06f680",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_timeperiod.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_zone.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d93eaf04ff4345e95f5442b8d65736936a65db5bb3bdbdd8c88dcaf800133b62",
+ "chksum_sha256": "de69367fb15d7a51a9fb5d1efcc639f042745c62c1912715bbcc38e28b2d974b",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_host.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_notification.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "cc7a01b09dbc8f55da467561db37a50597fe0f898ca4315b9be142436ed2adb1",
+ "chksum_sha256": "70c88549773540214c9606974ea596853b65c3ac25e9b89b4f51462e9a49edf2",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_serviceset.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "58759313dc7e005b8305061f763914db20a39d49b355d73d15cd216cd6891edf",
+ "chksum_sha256": "c08714a38f6614ca9b5f180fa8074a70e664c87ed8bdd3d1fcd7dddfb1c9b10e",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_notification.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_serviceset.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b070e387a00a888c727fded1c0e606071a3b17d330e2b804e09facf25b489b69",
+ "chksum_sha256": "b1a5d31ae8f72d61af4f5c2d1748a9a026f13e65270b7433dbb0b797aeac228b",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_command_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "64be740615cf8dd41d6fe6e6822c7c1d88996e2d2ff932d758790909f735f547",
+ "chksum_sha256": "6a863accf72920058f286460f9abba307277807ec979532702f297403035bb8b",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_command_template.yml",
+ "name": "roles/ansible_icinga/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8557d9101cbc474d273d1a79b36b9267384e815d516c7dc624c259c8ec3c9137",
+ "chksum_sha256": "8ea7cf03bc7719dd5bbb4b180c3c58f4ea0ff960db5b497b206a3be9aebc0c41",
"format": 1
},
{
"name": "roles/ansible_icinga/tasks/icinga_service_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3f13bce269bd96b971880d84b12b11ce7ce80ecf9791be1b886e22a92e3e444",
+ "chksum_sha256": "ca5c61d35dcd4f5d0a5f87549bff8bf49ef7777e94b6f03acca1a1f934f85b88",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_servicegroup.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_service.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c2a6537dcf570c01b0174c1d2a3ec0617f6e2c3b88a3712f729179dbe042332f",
+ "chksum_sha256": "e5541f52f89db4d37cd95835c81808ec35d4caaa410e1c65596cc8d6d768242a",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_zone.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_endpoint.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9f60ea308d382cbe5bff05ad356e83642a56311bcab056ab43d3f44bc05aa151",
+ "chksum_sha256": "4483c6972926b577c2e6c3eac78d751391ecab194a86060a453c280f32b8ed1c",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_hostgroup.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_host.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ec9efa8c517983730ba94a9fb8b2887d7403b3f9a8a4472df659c393943a1fd5",
+ "chksum_sha256": "36bb7da0f254af2ff2a498450dcfd9d867d1c0529647603d3cc3c25fabdc0e8f",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_service.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_timeperiod.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b1c45c43c43b4a9b5191bd82d7f7af12fea23b278f6824a47fbd92430d0e6b9f",
+ "chksum_sha256": "97e1ca54f74e56dab1e87e8a69bfc126bb949818bcac01b2217a65996873595b",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_host_template.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_servicegroup.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "df94796dfa810cdeebaedf6d6aff926a5dd561e92d620054edea2caff09bcc77",
+ "chksum_sha256": "1863a5620567750f71ebe476ee433424eaa0da7727c8000dc166dc6bd27162e6",
"format": 1
},
{
- "name": "roles/ansible_icinga/tasks/icinga_user_template.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_service_apply.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e08ecac2e205d4ff1a3824b2053f3c916b124f2c6607b53ae8d7a906e2aa0cde",
+ "chksum_sha256": "1eb3e2cb19d048f5e37b8c622a6c6ec7fdd731611d3633caaee984f60aea4862",
"format": 1
},
{
- "name": "roles/ansible_icinga/meta",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
- "format": 1
- },
- {
- "name": "roles/ansible_icinga/meta/main.yml",
+ "name": "roles/ansible_icinga/tasks/icinga_user_group.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7203a939bb29fcfd6d88a7ecc1a93c75833c8a82ca683a6414356b87906476ff",
+ "chksum_sha256": "dc35eb0051ce092cc9048472539576d0f8d862f23c2ec4cd221b0bb4c2cc0f27",
"format": 1
},
{
@@ -571,14 +585,7 @@
"name": "roles/ansible_icinga/defaults/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b37f3b9d942e8ef665c760298b361ebf9b1ee62d0ca2f1c8c365b12649cdccef",
- "format": 1
- },
- {
- "name": "roles/ansible_icinga/README.md",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "e67a3d46ad1dcab9da55b04eab44fa386a548027ed182d6e21e5d0d4af324791",
+ "chksum_sha256": "5ff6af0c5eb2a0a234c2359e4ef5c078dfa16d22b7f18a806829f30cb1c1b36d",
"format": 1
},
{
@@ -592,371 +599,385 @@
"name": "roles/ansible_icinga/handlers/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8867063615e078327203d9d9a3dc7d49a4544144c4ad87b1e734ea08f658aebb",
+ "chksum_sha256": "1851c12423d24d98f49fd53cb56da447f2ccb725f280db6969dc3eb30d0b8ea8",
"format": 1
},
{
- "name": "CODE_OF_CONDUCT.md",
+ "name": "roles/ansible_icinga/meta",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "roles/ansible_icinga/meta/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "14ec928234a7ed52bf8b458d31e4862335111e477e4dbe7fb543686c24115140",
+ "chksum_sha256": "78562ed7a833674efbe5cde1822727ea75caf3b549500c4b9052c0edd5f63384",
"format": 1
},
{
- "name": "CODEOWNERS",
+ "name": "roles/ansible_icinga/meta/argument_specs.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "24cd4a61cdbb71f31779fccb0e8cfca894fb02eade70c5c9cee71ae6828d1b58",
+ "chksum_sha256": "25860ec1fafc849c73719f5cbb52de08d240a80f34b7838a9557aa7f64f548f5",
"format": 1
},
{
- "name": "docs",
+ "name": "meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "docs/icinga_serviceset.rst",
+ "name": "meta/runtime.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f00d2d38ace64bfc24ce034ecea861de33fd8cf054da1184721d8a799b22638b",
+ "chksum_sha256": "28cccdc20bd762974f58a8cf94c75cf0579034a0ccb7d2018c5693bfe4a3d3b7",
"format": 1
},
{
- "name": "docs/icinga_host_template_info.rst",
+ "name": "CODE_OF_CONDUCT.md",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b5820cd58abb5fcca940d318f2fe600d596becf192754b1766a9d454fd18e86e",
+ "chksum_sha256": "14ec928234a7ed52bf8b458d31e4862335111e477e4dbe7fb543686c24115140",
"format": 1
},
{
- "name": "docs/.gitkeep",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "name": "plugins",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
"format": 1
},
{
- "name": "docs/icinga_notification_info.rst",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "8320c94d95451596987f446d4efed37889e03f5b9e6e53b3181791cdf486f639",
+ "name": "plugins/module_utils",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
"format": 1
},
{
- "name": "docs/icinga_deploy_info.rst",
+ "name": "plugins/module_utils/icinga.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "04c3b91f6ccc48f19bfc1b2287e97cc15158626e0de4018a359a523858a58847",
+ "chksum_sha256": "a17012640e0de964ad91678334aafd451c37e18566e4bb852374c764f0e857d8",
"format": 1
},
{
- "name": "docs/icinga_command_template.rst",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "712ceada4873413eaf6f514e7f11204ab84e41fc3fcbf9ba0a848021e180dfdf",
+ "name": "plugins/modules",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
"format": 1
},
{
- "name": "docs/icinga_service_apply_info.rst",
+ "name": "plugins/modules/icinga_notification.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "128ae7c70f7c0a6095bb6eff2fd9e85ac180b0575265c40ef621d611d192f085",
+ "chksum_sha256": "731478a58e562235f434eea6157672258d52558a1aec5b541389261f0ae5030a",
"format": 1
},
{
- "name": "docs/icinga_hostgroup_info.rst",
+ "name": "plugins/modules/icinga_host_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "68f3bb8c3bd161b0979580c51f409e58dc53e8d050f6cf2cf92ca94e414fd93e",
+ "chksum_sha256": "6a916778512b0d6f27f525e2da8280e065a6e06f32fca4325e5164a3f4ff31b6",
"format": 1
},
{
- "name": "docs/icinga_user_info.rst",
+ "name": "plugins/modules/icinga_command.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "65f2cc11ca8e564df632609b154f39411402811b0fbbd1b1a6220aeedca56451",
+ "chksum_sha256": "4850dd60b1c6557995e0f0a30a2e8e05bfaa3873febfb410e663429585a72707",
"format": 1
},
{
- "name": "docs/icinga_timeperiod_info.rst",
+ "name": "plugins/modules/icinga_user_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "379a46278cad4604604d98b839e88b050db962329a22d9bebc18a3a734c2f2be",
+ "chksum_sha256": "581b14244d8c3706e6631780b29f46b0fb89f63cd8b1cbdda5c23c0651e9c3cf",
"format": 1
},
{
- "name": "docs/icinga_service_info.rst",
+ "name": "plugins/modules/icinga_user_group_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2b6272b280c7c9d24908096ae72245c53828cee1497b624192d689c7f2cbf0bb",
+ "chksum_sha256": "6e5f229cafab5a3d8024752f58e3192082d956aea409f4f4b9dba0f1b2a6371e",
"format": 1
},
{
- "name": "docs/icinga_user.rst",
+ "name": "plugins/modules/icinga_timeperiod_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f1a9a588e8abdf884c79e963d167d3bbeea6e7ee9c9aa2e855347590e7ec65b8",
+ "chksum_sha256": "7ecd6655ff95b53700806d00d09ef2b8d606ad3edcd8c9c5f40b526d6746fbd4",
"format": 1
},
{
- "name": "docs/icinga_endpoint.rst",
+ "name": "plugins/modules/icinga_command_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "98d4c03cffe0d6ec6996c9fdb02dcd83b11c6fbf5417f1ad3babe465487d845d",
+ "chksum_sha256": "f3325e7be18fa95480235d7905bc83756c1d958bcfb3e39de047c6aaf37c0d12",
"format": 1
},
{
- "name": "docs/icinga_zone.rst",
+ "name": "plugins/modules/icinga_service_apply_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6698e90afcc560405494f8a5cb15446ad300db0cf43a71b96cc9710fda7c99dd",
+ "chksum_sha256": "b7b1ef59f8f83ae999174fc5023ebfcf4b831b44356a4704b0d5757d31f9413a",
"format": 1
},
{
- "name": "docs/icinga_host_template.rst",
+ "name": "plugins/modules/icinga_zone_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3073ef58234d064561bd1c61afd3bf13c155b031ca154813dfe6cf6cea2e8d60",
+ "chksum_sha256": "031dab242c365b3aee630abee6448545a818f38430358d3358aa3db5f58c00b2",
"format": 1
},
{
- "name": "docs/icinga_notification_template_info.rst",
+ "name": "plugins/modules/icinga_deploy.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a8c8bf662b23f55fc34fb9354369ac7b551f70efaa21abe4222c77c058817daf",
+ "chksum_sha256": "4e416026f92cbb6e21667a8832161748078932cd096a78011ba4b85bca99109b",
"format": 1
},
{
- "name": "docs/icinga_command_info.rst",
+ "name": "plugins/modules/icinga_timeperiod_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ff12f037d7dc8f6e6e1ee533dac6e89fcefd1b6ec522e6f1bb3a86b1fac549d7",
+ "chksum_sha256": "f87bfe7a7e6f88867ad916658c4d92d63867179f3e793ff4d800ffc753ac66d5",
"format": 1
},
{
- "name": "docs/icinga_timeperiod_template_info.rst",
+ "name": "plugins/modules/icinga_serviceset.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "38ea5dca279e66726bfedb9eb906decfef42b60b578eae0c71999dcff2b9ced0",
+ "chksum_sha256": "9cffad89eeb2cc4da1ef1749836025725df751db35fefbcd420e00528f440f71",
"format": 1
},
{
- "name": "docs/icinga_notification.rst",
+ "name": "plugins/modules/icinga_user_group.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3d71f9465eff1f11bae990b23e80481ff472cd8d3ae76df2f737a3d5bcd1c7c6",
+ "chksum_sha256": "0bbe9b060799897810c637ffacb1b1a723e46b99db928999f1093503cdbdad2e",
"format": 1
},
{
- "name": "docs/icinga_servicegroup.rst",
+ "name": "plugins/modules/icinga_endpoint_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c6b7007f9b9c819d9d8ee38887ed5143da04363c92dff84b6562eb29e3e82c22",
+ "chksum_sha256": "d3fd36c406dd69b24afcbc405f384ce9ccbd509d54a5b7e31eb0023357861258",
"format": 1
},
{
- "name": "docs/icinga_deploy.rst",
+ "name": "plugins/modules/icinga_service_apply.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "083671bd5b35e19249529327624c7d515296b72b4a9441907a6a1bc6986df721",
+ "chksum_sha256": "70a4feba741119bf2aaa7bcf4f870cd25b6e88f9030b37f8f24f5919ea7d6899",
"format": 1
},
{
- "name": "docs/icinga_host.rst",
+ "name": "plugins/modules/icinga_host_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c84d729e51fed6bb199f22b5d6113118ab4647a55d1b9f98fccdc62ff1bbb312",
+ "chksum_sha256": "f08ea8599c552ba06ef28fd87223ad3176a5fae73077adc0ff13e1ce5e870d29",
"format": 1
},
{
- "name": "docs/icinga_service_template_info.rst",
+ "name": "plugins/modules/icinga_service.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "26aea36bc17910c713576b95ef1800704a81caec2a2c1f62611085dda8c5a97d",
+ "chksum_sha256": "15fa5bed2a8d7c308fb7f95892ad540a764fc57352e2c48f6f57269cadf41333",
"format": 1
},
{
- "name": "docs/icinga_zone_info.rst",
+ "name": "plugins/modules/icinga_zone.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b46356a8245852122b172a2c9daff95947f9996d4119b09d0a3125b6b59b910d",
+ "chksum_sha256": "68a82be1565b2841b69c20d663ae084c364c517b27531f683024d3f1fb32badd",
"format": 1
},
{
- "name": "docs/icinga_user_template_info.rst",
+ "name": "plugins/modules/icinga_command_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b5abd1e0ef18abe2e48caa887151484b02e35481a57842ee7873987312eba8ac",
+ "chksum_sha256": "bc15ac65064e261663ed9fb329fd4b8bcee60c9a02d1b3f7b0e53ec38060e9b1",
"format": 1
},
{
- "name": "docs/icinga_service.rst",
+ "name": "plugins/modules/icinga_timeperiod_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3b2fdfcc93e1cdf1c5908719c08884b3d48e33bf958686242e9bec9dcea5d852",
+ "chksum_sha256": "aef9cb6ea2ee9f4a8540da6ef4b0185e9fc8d904e7ec63b4a451a9b78e66d092",
"format": 1
},
{
- "name": "docs/icinga_user_template.rst",
+ "name": "plugins/modules/icinga_notification_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b6479d03bff152baef69dbe2db979077248f0c61addf85af0ff8fcd95c45a1df",
+ "chksum_sha256": "b94210434c4785785f183e94539bad62b7e906abd763cfafc199291324a66a4b",
"format": 1
},
{
- "name": "docs/icinga_notification_template.rst",
+ "name": "plugins/modules/icinga_hostgroup_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4dba0f64ee219cea065ee72054722622f8011b47958ab0ccaedc3cc3cb3721fa",
+ "chksum_sha256": "8e385fdf84e961d6cae5496c59bdc710b8cc8516eaa921d36991b826185423b2",
"format": 1
},
{
- "name": "docs/icinga_user_group.rst",
+ "name": "plugins/modules/icinga_hostgroup.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "76a7629d4d25a9939f443bdf6d227957b937ea2bc0bce6adabef07c2efff5ce3",
+ "chksum_sha256": "25fe567954b8e78857aad9a889ea0da80f24a9005d2316a1e9b2aa2172fa9947",
"format": 1
},
{
- "name": "docs/icinga_endpoint_info.rst",
+ "name": "plugins/modules/icinga_user_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b167b9c55be74dcb839737b6fcac7d4d70f4d4607578c20e4e9d7a57a97ee263",
+ "chksum_sha256": "09015fa2d503a63f75918ebeadf81488d5db96d8003553accd666534e17258ec",
"format": 1
},
{
- "name": "docs/icinga_command.rst",
+ "name": "plugins/modules/icinga_service_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5af5899a3f95baf28cafe4a262bd5f9351abf27bb1c7543a653a70a4c89574db",
+ "chksum_sha256": "79027979d612de069884ea422b430660c1823ebcbef95872b2ae4b12089f7100",
"format": 1
},
{
- "name": "docs/icinga_servicegroup_info.rst",
+ "name": "plugins/modules/icinga_deploy_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9a99593e23cb0c744204e4761aae8557dc2e1db7d15d8cfe03dad62a5cd09897",
+ "chksum_sha256": "8c15b71eb94e7323670d54a49bbcf74c0f198af9b4418064a86e9465f9b32d49",
"format": 1
},
{
- "name": "docs/icinga_scheduled_downtime.rst",
+ "name": "plugins/modules/icinga_user.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "eb05d0dcddad62d103030a48fcb2b7be270e44008fc0c7d66c3eeeb965a95c4b",
+ "chksum_sha256": "94cca6809793d50a7716466701bcaadd307b1bf36ae2db1839ed679631936e5d",
"format": 1
},
{
- "name": "docs/icinga_timeperiod.rst",
+ "name": "plugins/modules/icinga_notification_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7ef79a953606d7d5745c045cb83db736251d825e377d89c26079b2d919533b80",
+ "chksum_sha256": "0acf822f2bfbf15b9a197750457f71117973b92d31a301ddb51d3adc49d5cabe",
"format": 1
},
{
- "name": "docs/icinga_host_info.rst",
+ "name": "plugins/modules/icinga_servicegroup.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c953507375cbf5d1bd4b727bfcaabd7719f4f7a4489186d1569474e206d395d3",
+ "chksum_sha256": "9208341a441e4b47b70dd3ecbbd7749dbe730b327ad582c8e04acc44a258897e",
"format": 1
},
{
- "name": "docs/icinga_command_template_info.rst",
+ "name": "plugins/modules/icinga_host.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4fd5b810c23e74381890134eaf332b4c07846fdd8b2c676d0b4604360c0ebf3d",
+ "chksum_sha256": "932cb54002669c25a603ea998dfa3bc5845e025d5362a0afba8f38733fe5a672",
"format": 1
},
{
- "name": "docs/icinga_director_inventory.rst",
+ "name": "plugins/modules/icinga_command_template_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "83eac988b52587241a2e171a655111e58418375e21fd7d82149e1ec4f5014851",
+ "chksum_sha256": "0552ff8bcecd00973bae4ef9f695ba27cdebd2d806e5341fe2b292b87a7792e2",
"format": 1
},
{
- "name": "docs/icinga_hostgroup.rst",
+ "name": "plugins/modules/icinga_service_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4dbb0f673fb9bdbc4e200d7789e6c9e31ef767c9d2870dfe411e4b1169f8dfd1",
+ "chksum_sha256": "7aaf5a8cbe631079be1e54aaa74048ff39a067b9443af9f3e3e706e7e4958e71",
"format": 1
},
{
- "name": "docs/icinga_service_template.rst",
+ "name": "plugins/modules/icinga_user_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f787870a906543323acf30f41c10df902aa3a04848ffdaff89557f297f91e19d",
+ "chksum_sha256": "002207d6493402887a2b66a02ef12cbe09fd5402a62f329089d8572fbb669bcd",
"format": 1
},
{
- "name": "docs/icinga_user_group_info.rst",
+ "name": "plugins/modules/icinga_servicegroup_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d79cf09e18862e57adf7976bbdfa19c2b8c9e53e89eebc6b8c35a5faab3932ab",
+ "chksum_sha256": "3d3f9d954c477286c2b789f604da25d116cf850e9e1e14b0ea04b4d755037cac",
"format": 1
},
{
- "name": "docs/icinga_service_apply.rst",
+ "name": "plugins/modules/icinga_timeperiod.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e717a877bf9b007a02e6201a93d787a2764b9fbf179d1d2a4b32f7f58d61662c",
+ "chksum_sha256": "08ff91ecd1d9f0e160bd9b7997cdbc2ebbeb287b77969c8477c30d29d54701b1",
"format": 1
},
{
- "name": "docs/icinga_timeperiod_template.rst",
+ "name": "plugins/modules/icinga_scheduled_downtime.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2023e5f94e875f8a49c9e6305239c7c9aa2058a25a412fed6ddc8ce140ba423e",
+ "chksum_sha256": "f156a76ea47beff013a3de0f879aaf7245274c53c1e01355ec7a7c5fc034782f",
"format": 1
},
{
- "name": "changelogs",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "plugins/modules/icinga_endpoint.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b00feba05e27cbe1e62eaf2d99e9293d8f4fcbeb6342811aade18398ef0b66b5",
"format": 1
},
{
- "name": "changelogs/.plugin-cache.yaml",
+ "name": "plugins/modules/icinga_notification_template.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "753a07ef0f7ef12a58c41bd87d838c9c38596847321793a663bb05d81773d27e",
+ "chksum_sha256": "d44a47b755ea484cae1334f8a8904ee38000510e178c1fbc5fa709f0987cd0fd",
"format": 1
},
{
- "name": "changelogs/config.yaml",
+ "name": "plugins/modules/icinga_service_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "abbab66a433f6362c97d2c632af58683642922225a26a1dd7c6a78923d4ab8d8",
+ "chksum_sha256": "ef2c457bf40f38f8973a23ed3946e27387a441d0aeb0e0dba3e9a3099bec1782",
"format": 1
},
{
- "name": "changelogs/changelog.yaml",
+ "name": "plugins/modules/icinga_host_info.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2517d86911c97e893f0bfe6ec4710bc64af609102160c4fe65bf2855b94228df",
+ "chksum_sha256": "e7c4e5676e867e448abc760dd5480bd064852aff48ebf3b9c644a4032747c2b4",
"format": 1
},
{
- "name": "CHANGELOG.rst",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "37b71114a4a2582519b119d06a58096412169169d949fea7160974085fab8ef5",
+ "name": "plugins/inventory",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
"format": 1
},
{
- "name": ".gitignore",
+ "name": "plugins/inventory/icinga_director_inventory.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0cb2d7d561d8f1feb38146d6c58c6143c7568b624e2ab6cf03ebc6247e35c991",
+ "chksum_sha256": "afce980e40cd5134fb384d20d89db8b6ed94500cf18afe4a25f201c5d1b33403",
"format": 1
},
{
- "name": "CONTRIBUTING.md",
+ "name": "plugins/doc_fragments",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/doc_fragments/common_options.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "95e2b2b6d356582984f8c830150fcfa1b879807776d24c0111426df8191febca",
+ "chksum_sha256": "4636a41b3a10c7786474a983e2e95c4098b9134c4ea779322639c4907380714e",
"format": 1
},
{
@@ -974,276 +995,276 @@
"format": 1
},
{
- "name": "examples/icinga_user.yml",
+ "name": "examples/icinga_timeperiod_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "77a4a85033a17a2c01e0b815841b9b6f8a2005b79f79a192d8a7ff79eba88f19",
+ "chksum_sha256": "251b934cfff8049e8f099e27fab9004770bd5e7e70ab9e05735a58f92dcba8a3",
"format": 1
},
{
- "name": "examples/icinga_deploy.yml",
+ "name": "examples/icinga_command_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b9240a2981ad06b06ab70b1e20f8b723db498cecd8b9da9bc238190dcd5f57b5",
+ "chksum_sha256": "254be467a7a0cab236214309451b5d4e0d4b3e69174bacbdf9cabdf90ca3a551",
"format": 1
},
{
- "name": "examples/icinga_service_apply_info.yml",
+ "name": "examples/icinga_user.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "14d8ab6677e86c30b351eecab2a7272c78ac4655986213d3eddcf30859e623d1",
+ "chksum_sha256": "77a4a85033a17a2c01e0b815841b9b6f8a2005b79f79a192d8a7ff79eba88f19",
"format": 1
},
{
- "name": "examples/icinga_endpoint.yml",
+ "name": "examples/icinga_user_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "887165606d68526c02c6bfdbf0eb4645920e4daf39209ddaf45d52f2478604ec",
+ "chksum_sha256": "911e2d4932b2c32781659ee618b20c8601bc877ac64b60576499816f09b0090e",
"format": 1
},
{
- "name": "examples/icinga_user_template_info.yml",
+ "name": "examples/icinga_hostgroup.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7b6110eeb12c02697fcece0808700950ac19fe43e3a646ce0f89118dabc81168",
+ "chksum_sha256": "2f97da7567484286d19828e9400893320a57437db22c48e5c6ac9d42060baa05",
"format": 1
},
{
- "name": "examples/icinga_command.yml",
+ "name": "examples/icinga_hostgroup_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a6f06fb01b75049349ddfb1e9013f51ec9c4895e7608a14dddf700248bf5d513",
+ "chksum_sha256": "45e4689ee18180e4eb7b40d3068f97d027dd3fea15ef7d4047472c389ab29b6b",
"format": 1
},
{
- "name": "examples/icinga_notification_template_info.yml",
+ "name": "examples/icinga_command.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2809ba95d1af3826a7c9a452b9d3653b3c043b2481d2b97aed755122fbcc25fc",
+ "chksum_sha256": "a6f06fb01b75049349ddfb1e9013f51ec9c4895e7608a14dddf700248bf5d513",
"format": 1
},
{
- "name": "examples/icinga_service_apply.yml",
+ "name": "examples/icinga_notification_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a00a08b1b456f6e894cc8663d210c6047d52a597814297b160615c93164962d1",
+ "chksum_sha256": "98eef22da0092ff5377fcecca15e1fc0558c503679bc2a3294a765decaacb96e",
"format": 1
},
{
- "name": "examples/icinga_service_info.yml",
+ "name": "examples/icinga_host_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "860bc4e5be4715321447a98f302fcc5d0c5b7477261c518fabb7425f906e864b",
+ "chksum_sha256": "c8f6c22b0e4607397b72ce7547c53e00af67a886defe17803114098454921e24",
"format": 1
},
{
- "name": "examples/icinga_host_info.yml",
+ "name": "examples/icinga_timeperiod_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "055b91b5c0ee2414d2d98615f347dbd069a78435de77cd9c48920231fa676d99",
+ "chksum_sha256": "71d222a97afc01aea18d020ac807c0e95b8e4333b6615c46a74da488cde74184",
"format": 1
},
{
- "name": "examples/icinga_timeperiod.yml",
+ "name": "examples/icinga_user_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "13a953f1e4cfe7d03820a103b39b0ccd7c4e0d197589d5eb07bbdc3d25008a08",
+ "chksum_sha256": "7b6110eeb12c02697fcece0808700950ac19fe43e3a646ce0f89118dabc81168",
"format": 1
},
{
- "name": "examples/icinga_deploy_info.yml",
+ "name": "examples/icinga_user_group_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a1b828fbaa900b4f6feb21890e80c3323f7bd7a77bab812c6b54dce83c3e8cf2",
+ "chksum_sha256": "5bf5d5e38e4495259143cd23953d5c4ab3159d3054f99c999290b3fa26d5c1f1",
"format": 1
},
{
- "name": "examples/icinga_host_template_info.yml",
+ "name": "examples/icinga_host_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "346041e0adb668b0804089e625b752ddec705c89d802509ecd91210c7423995c",
+ "chksum_sha256": "055b91b5c0ee2414d2d98615f347dbd069a78435de77cd9c48920231fa676d99",
"format": 1
},
{
- "name": "examples/icinga_host.yml",
+ "name": "examples/icinga_zone.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b1c68f146fb672336cf61ef7d479eb627289e4486c1b125ba872dfe50d75468f",
+ "chksum_sha256": "0c274ef58c679451cad3b66fdeefe6a87b3464e6428aa6d7ffb5c2ca246998f8",
"format": 1
},
{
- "name": "examples/icinga_command_info.yml",
+ "name": "examples/icinga_notification.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b74a538c1280f212d6a6472008a257addb0eda43e0fdc6fb1ef90702d5c140e",
+ "chksum_sha256": "01c0155456e226ab4ad7795f7476da6a33143f7ac58c276f381420433de1a665",
"format": 1
},
{
- "name": "examples/icinga_serviceset.yml",
+ "name": "examples/icinga_service_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9412f532cfc7d4240833335438e2f76719fdd077e0565d105682feec0ed57077",
+ "chksum_sha256": "91eb87e231b61a57f0e04e7fdc1f1948d718213d509fafdc525ae641aace21ce",
"format": 1
},
{
- "name": "examples/icinga_notification_info.yml",
+ "name": "examples/icinga_service_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "98eef22da0092ff5377fcecca15e1fc0558c503679bc2a3294a765decaacb96e",
+ "chksum_sha256": "860bc4e5be4715321447a98f302fcc5d0c5b7477261c518fabb7425f906e864b",
"format": 1
},
{
- "name": "examples/icinga_timeperiod_template_info.yml",
+ "name": "examples/icinga_scheduled_downtime.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "71d222a97afc01aea18d020ac807c0e95b8e4333b6615c46a74da488cde74184",
+ "chksum_sha256": "d61714d09931ee87e2a1cec25ce88701c7fae920bef878426ac3d07df4cd7f16",
"format": 1
},
{
- "name": "examples/icinga_hostgroup_info.yml",
+ "name": "examples/icinga_serviceset.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "45e4689ee18180e4eb7b40d3068f97d027dd3fea15ef7d4047472c389ab29b6b",
+ "chksum_sha256": "9412f532cfc7d4240833335438e2f76719fdd077e0565d105682feec0ed57077",
"format": 1
},
{
- "name": "examples/icinga_notification.yml",
+ "name": "examples/icinga_command_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "1c17cc131bf59ed8a505ca7b13567cb7a5dd98c57ff81a5a04ca49551ec5792d",
+ "chksum_sha256": "f2e846ba5a592eebb5ea3a2e7a6523086e99f82d9c5a3b513379c23875147405",
"format": 1
},
{
- "name": "examples/icinga_zone_info.yml",
+ "name": "examples/icinga_endpoint_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8fb9373a0e75af62078dbd18d9bb5707fdc66bdfbf1876d4a2b72a2502053588",
+ "chksum_sha256": "89b884f7dc89266675d13800795addb80f63926cbc2f1123146e0004ececd715",
"format": 1
},
{
- "name": "examples/icinga_scheduled_downtime.yml",
+ "name": "examples/icinga_service_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d61714d09931ee87e2a1cec25ce88701c7fae920bef878426ac3d07df4cd7f16",
+ "chksum_sha256": "2c5f98d8b8071dd49cb4b5cf6008ca3920fd24aea1402a6acd9833b0df7ac639",
"format": 1
},
{
- "name": "examples/icinga_servicegroup_info.yml",
+ "name": "examples/icinga_service.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c1e772f1bf28eb3201f3c82caa5ddf9ddf2eb4ff895308be373503d47636b8f4",
+ "chksum_sha256": "bc284c3dd237b02b1669611668c419e3d750427531ecfccb43eca797d57b9310",
"format": 1
},
{
- "name": "examples/icinga_command_template.yml",
+ "name": "examples/icinga_user_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f2e846ba5a592eebb5ea3a2e7a6523086e99f82d9c5a3b513379c23875147405",
+ "chksum_sha256": "263c67b5908ad7a0859e72b8a87cd32455b2c4066038d2ff1b5805c299b0942c",
"format": 1
},
{
- "name": "examples/icinga_timeperiod_template.yml",
+ "name": "examples/icinga_endpoint.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "33f7082668ee409157785602e8cda28d3925d152ae2e0bfdb6148c3599d01c2c",
+ "chksum_sha256": "887165606d68526c02c6bfdbf0eb4645920e4daf39209ddaf45d52f2478604ec",
"format": 1
},
{
- "name": "examples/icinga_service_template.yml",
+ "name": "examples/icinga_host.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2c5f98d8b8071dd49cb4b5cf6008ca3920fd24aea1402a6acd9833b0df7ac639",
+ "chksum_sha256": "b1c68f146fb672336cf61ef7d479eb627289e4486c1b125ba872dfe50d75468f",
"format": 1
},
{
- "name": "examples/icinga_servicegroup.yml",
+ "name": "examples/icinga_deploy_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "57979256402841f081042e1f9b169696b8f34a75ec551feb8676567e99cdc4dd",
+ "chksum_sha256": "a1b828fbaa900b4f6feb21890e80c3323f7bd7a77bab812c6b54dce83c3e8cf2",
"format": 1
},
{
- "name": "examples/icinga_command_template_info.yml",
+ "name": "examples/icinga_service_apply_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "254be467a7a0cab236214309451b5d4e0d4b3e69174bacbdf9cabdf90ca3a551",
+ "chksum_sha256": "14d8ab6677e86c30b351eecab2a7272c78ac4655986213d3eddcf30859e623d1",
"format": 1
},
{
- "name": "examples/icinga_timeperiod_info.yml",
+ "name": "examples/icinga_servicegroup_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "251b934cfff8049e8f099e27fab9004770bd5e7e70ab9e05735a58f92dcba8a3",
+ "chksum_sha256": "c1e772f1bf28eb3201f3c82caa5ddf9ddf2eb4ff895308be373503d47636b8f4",
"format": 1
},
{
- "name": "examples/icinga_user_group.yml",
+ "name": "examples/icinga_timeperiod.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5df4b4776b7c326bc40af161670164798c0f1e2364f10f5600b5bedd6c68a79d",
+ "chksum_sha256": "13a953f1e4cfe7d03820a103b39b0ccd7c4e0d197589d5eb07bbdc3d25008a08",
"format": 1
},
{
- "name": "examples/icinga_user_info.yml",
+ "name": "examples/icinga_command_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "263c67b5908ad7a0859e72b8a87cd32455b2c4066038d2ff1b5805c299b0942c",
+ "chksum_sha256": "9b74a538c1280f212d6a6472008a257addb0eda43e0fdc6fb1ef90702d5c140e",
"format": 1
},
{
- "name": "examples/icinga_endpoint_info.yml",
+ "name": "examples/icinga_servicegroup.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "89b884f7dc89266675d13800795addb80f63926cbc2f1123146e0004ececd715",
+ "chksum_sha256": "57979256402841f081042e1f9b169696b8f34a75ec551feb8676567e99cdc4dd",
"format": 1
},
{
- "name": "examples/icinga_zone.yml",
+ "name": "examples/icinga_notification_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0c274ef58c679451cad3b66fdeefe6a87b3464e6428aa6d7ffb5c2ca246998f8",
+ "chksum_sha256": "2809ba95d1af3826a7c9a452b9d3653b3c043b2481d2b97aed755122fbcc25fc",
"format": 1
},
{
- "name": "examples/icinga_user_group_info.yml",
+ "name": "examples/icinga_host_template_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5bf5d5e38e4495259143cd23953d5c4ab3159d3054f99c999290b3fa26d5c1f1",
+ "chksum_sha256": "346041e0adb668b0804089e625b752ddec705c89d802509ecd91210c7423995c",
"format": 1
},
{
- "name": "examples/icinga_hostgroup.yml",
+ "name": "examples/icinga_zone_info.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2f97da7567484286d19828e9400893320a57437db22c48e5c6ac9d42060baa05",
+ "chksum_sha256": "8fb9373a0e75af62078dbd18d9bb5707fdc66bdfbf1876d4a2b72a2502053588",
"format": 1
},
{
- "name": "examples/icinga_service.yml",
+ "name": "examples/icinga_timeperiod_template.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "bc284c3dd237b02b1669611668c419e3d750427531ecfccb43eca797d57b9310",
+ "chksum_sha256": "33f7082668ee409157785602e8cda28d3925d152ae2e0bfdb6148c3599d01c2c",
"format": 1
},
{
- "name": "examples/icinga_host_template.yml",
+ "name": "examples/icinga_deploy.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c8f6c22b0e4607397b72ce7547c53e00af67a886defe17803114098454921e24",
+ "chksum_sha256": "5d2961a15a97f5697909cc23b8b8c0066167bd2d6035d382a38d7be58dd9bbe6",
"format": 1
},
{
- "name": "examples/icinga_service_template_info.yml",
+ "name": "examples/icinga_service_apply.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "91eb87e231b61a57f0e04e7fdc1f1948d718213d509fafdc525ae641aace21ce",
+ "chksum_sha256": "a00a08b1b456f6e894cc8663d210c6047d52a597814297b160615c93164962d1",
"format": 1
},
{
- "name": "examples/icinga_user_template.yml",
+ "name": "examples/icinga_user_group.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "911e2d4932b2c32781659ee618b20c8601bc877ac64b60576499816f09b0090e",
+ "chksum_sha256": "5df4b4776b7c326bc40af161670164798c0f1e2364f10f5600b5bedd6c68a79d",
"format": 1
}
],
diff --git a/ansible_collections/telekom_mms/icinga_director/MANIFEST.json b/ansible_collections/telekom_mms/icinga_director/MANIFEST.json
index b357e7be0..27d9786e0 100644
--- a/ansible_collections/telekom_mms/icinga_director/MANIFEST.json
+++ b/ansible_collections/telekom_mms/icinga_director/MANIFEST.json
@@ -2,7 +2,7 @@
"collection_info": {
"namespace": "telekom_mms",
"name": "icinga_director",
- "version": "1.35.0",
+ "version": "2.1.2",
"authors": [
"Sebastian Gumprich <sebastian.gumprich@telekom.de>",
"Lars Krahl <lars.krahl@telekom.de>"
@@ -27,7 +27,7 @@
"name": "FILES.json",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7c8dbd31542edb1082a047035d4829f4a60ad8cfdce054933c441ee6ea79d724",
+ "chksum_sha256": "e553901bd64de5ab9835fed98bb0268a7f12fa0721f7577194c921cfe5d0b280",
"format": 1
},
"format": 1
diff --git a/ansible_collections/telekom_mms/icinga_director/README.md b/ansible_collections/telekom_mms/icinga_director/README.md
index 199774aee..694672e90 100644
--- a/ansible_collections/telekom_mms/icinga_director/README.md
+++ b/ansible_collections/telekom_mms/icinga_director/README.md
@@ -34,7 +34,9 @@ Additionally all supported modules have an appropriate `*_info`-module to gather
4. An [inventory plugin](plugins/inventory) to use hosts and groups defined in Icinga as a dynamic inventory.
-Required Ansible version: 2.9.10
+Required Ansible version: 2.14.0
+
+Recommended Icinga-Director version: 2.11.1
## Installation
@@ -192,6 +194,32 @@ fatal: [localhost]: FAILED! => {"changed": false, "msg": "bad return code while
failed: [localhost] => {"ansible_loop_var": "item", "changed": false, "item": "localhost", "msg": "AbstractDigestAuthHandler does not support the following scheme: 'Negotiate'", "status": -1, "url": "https://icinga-director.example.com/director/host?name=foohost"}
```
+## Known Errors with different Director versions
+
+### Director 1.11.1
+
+When creating notifications that contain the `users`-parameter, the task might not be idempotent ([see](https://github.com/Icinga/icingaweb2-module-director/issues/2882)).
+
+### Director 1.11.0
+
+You cannot create usergroups because of invalid property assign_filter ([see](https://github.com/telekom-mms/ansible-collection-icinga-director/issues/228)).
+
+### Director 1.10.0
+
+Existing service apply rule objects cannot be modified ([see](https://github.com/telekom-mms/ansible-collection-icinga-director/issues/190)):
+
+```
+TASK [Add service apply rule to icinga] ********************************************************************************************
+fatal: [localhost]: FAILED! => {"changed": false, "msg": "exception when deleting: 'id'"}
+```
+
+### Director 1.9.0
+
+When creating service checks, the tasks fails ([see](https://github.com/telekom-mms/ansible-collection-icinga-director/issues/160)):
+
+```
+failed: [icinga2-master1.localdomain] (item={'name': 'director-generic-service', 'enable_active_checks': True, 'enable_event_handler': True, 'enable_flapping': True, 'enable_notifications': True, 'eanble_passive_checks': True, 'enable_perfdata': True, 'use_agent': True, 'volatile': False}) => {"ansible_loop_var": "item", "changed": false, "item": {"eanble_passive_checks": true, "enable_active_checks": true, "enable_event_handler": true, "enable_flapping": true, "enable_notifications": true, "enable_perfdata": true, "name": "director-generic-service", "use_agent": true, "volatile": false}, "msg": "bad return code while creating: 422. Error message: Trying to recreate icinga_service (\"{\"object_name\":\"director-generic-service\"}\")"}
+```
## Extras
diff --git a/ansible_collections/telekom_mms/icinga_director/changelogs/.plugin-cache.yaml b/ansible_collections/telekom_mms/icinga_director/changelogs/.plugin-cache.yaml
index 3f683a288..c83c06f3a 100644
--- a/ansible_collections/telekom_mms/icinga_director/changelogs/.plugin-cache.yaml
+++ b/ansible_collections/telekom_mms/icinga_director/changelogs/.plugin-cache.yaml
@@ -217,4 +217,4 @@ plugins:
shell: {}
strategy: {}
vars: {}
-version: 1.35.0
+version: 2.1.2
diff --git a/ansible_collections/telekom_mms/icinga_director/changelogs/changelog.yaml b/ansible_collections/telekom_mms/icinga_director/changelogs/changelog.yaml
index ac4912876..f0c52abb2 100644
--- a/ansible_collections/telekom_mms/icinga_director/changelogs/changelog.yaml
+++ b/ansible_collections/telekom_mms/icinga_director/changelogs/changelog.yaml
@@ -1,288 +1,332 @@
---
ancestor:
releases:
- 1.18.1:
+ 2.1.2:
changes:
trivial:
- - add changelogs config so antsibull-changelog can work (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/124)
- - use antsichaut and release-drafter for changelog and release generation
- (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/122)
- release_date: '2021-06-28'
- 1.19.0:
+ - add service_set var to deployment of icinga_services (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/256)
+ release_date: '2024-04-22'
+ 2.1.1:
changes:
- minor_changes:
- - add notification_template to role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/125)
+ bugfixes:
+ - set user_groups in notification to empty list (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/255)
+ - change notification interval variable to int-type (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/254)
trivial:
- - add Inventory plugin (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/127)
- - add changelogs config so antsibull-changelog can work (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/124)
- - ignore changelogs directory created by a 3rd party tool (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/126)
- - use antsichaut and release-drafter for changelog and release generation
- (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/122)
- release_date: '2021-06-28'
- 1.20.0:
+ - update tested ansible and python versions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/253)
+ - Update ansible-community/ansible-test-gh-action action to v1.15.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/252)
+ - Update github/codeql-action digest to df5a14d (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/251)
+ - Update github/codeql-action digest to 47b3d88 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/250)
+ - document known errors for different director versions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/249)
+ release_date: '2024-02-14'
+ 2.1.0:
changes:
minor_changes:
- - Add some more documentation on command template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/128)
- - add "vars" variable to icinga_notification in the role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/129)
- release_date: '2021-07-16'
- 1.20.1:
+ - Increase sleep to 5 seconds (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/245)
+ release_date: '2024-02-13'
+ 2.0.5:
+ release_date: '2024-02-12'
+ 2.0.4:
+ release_date: '2024-02-12'
+ 2.0.3:
+ release_date: '2024-02-12'
+ 2.0.2:
changes:
trivial:
- - Docs and tests update (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/131)
- release_date: '2021-08-05'
- 1.21.0:
- changes:
- minor_changes:
- - Add event_command parameter to icinga_service_apply module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/132)
- - Add event_command parameter to service apply playbook to enable usage (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/133)
- trivial:
- - Docs and tests update (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/131)
- release_date: '2021-08-16'
- 1.21.1:
+ - add 1.11.1 to test-matrix (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/247)
+ - Update release-drafter/release-drafter action to v6 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/244)
+ - release only on releases, not pre-releases (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/237)
+ release_date: '2024-01-25'
+ 2.0.1:
changes:
bugfixes:
- - Changed place in the creation order of service object in ansible_icinga
- role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/135)
- release_date: '2021-08-30'
- 1.21.2:
- changes:
+ - 'Fixes #190 - Workaround for service apply bug (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/239)'
trivial:
- - 'Draft: updated retry pull request (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/139)'
- - added 3 retries for every playbook (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/138)
- release_date: '2021-09-13'
- 1.22.0:
+ - Add optional parameters to deploy handler (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/243)
+ - test different director versions with the services function (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/240)
+ - use antsichaut action (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/238)
+ release_date: '2024-01-25'
+ 1.35.0:
changes:
minor_changes:
- - Add support for retry_interval and max_check_attempts to host template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/140)
+ - Extended docs and examples for multiple assign_filter conditions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/227)
trivial:
- - 'Draft: updated retry pull request (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/139)'
- - added 3 retries for every playbook (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/138)
- release_date: '2021-09-15'
- 1.22.1:
+ - exclude old python versions with ansible devel (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/225)
+ - Update actions/checkout action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/224)
+ - Update test matrix (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/223)
+ release_date: '2023-11-13'
+ 1.34.2:
changes:
trivial:
- - added missing parameter to notification task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/141)
- - ansible-test needs python >= 3.8 at the controller (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/142)
- release_date: '2021-09-17'
- 1.23.0:
- release_date: '2021-09-23'
- 1.23.1:
+ - exclude old python versions with ansible devel (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/225)
+ - Update actions/checkout action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/224)
+ - Update test matrix (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/223)
+ release_date: '2023-08-07'
+ 1.34.1:
+ changes:
+ bugfixes:
+ - add more http-options for inventory module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/221)
+ release_date: '2023-07-28'
+ 1.33.3:
changes:
minor_changes:
- - add resolve option to inventory-plugin (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/147)
+ - add command_endpoint var for service templates (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/222)
+ release_date: '2023-07-14'
+ 1.33.2:
+ changes:
trivial:
- - add documentation files and creation-workflow to repo (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/144)
- - improve autogenerated documentation (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/145)
- release_date: '2021-10-18'
- 1.25.0:
+ - move orga (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/216)
+ - run CI-tests only once peer week (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/215)
+ release_date: '2023-06-09'
+ 1.33.1:
changes:
bugfixes:
- - added a fix for the new scheduled_downtime module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/150)
+ - add icinga_deploy_* to action_group and test it (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/214)
+ trivial:
+ - Update README (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/211)
+ release_date: '2023-05-22'
+ 1.33.0:
+ changes:
minor_changes:
- - Add Icinga scheduled downtime module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/146)
- release_date: '2021-11-22'
- 1.25.1:
+ - Add Icinga Deploy handler and module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/205)
+ trivial:
+ - use codespell to improve spelling (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/207)
+ - Update actions/checkout action to v3.5.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/206)
+ modules:
+ - description: Trigger deployment in Icinga2
+ name: icinga_deploy
+ namespace: ''
+ - description: Get deployment information through the director API
+ name: icinga_deploy_info
+ namespace: ''
+ release_date: '2023-05-22'
+ 1.32.3:
changes:
trivial:
- - added duration into our scheduled_downtime task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/151)
- - fix call url function (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/154)
- release_date: '2021-11-24'
- 1.26.0:
+ - use codespell to improve spelling (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/207)
+ - Update actions/checkout action to v3.5.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/206)
+ release_date: '2023-03-09'
+ 1.32.2:
changes:
- minor_changes:
- - add option to append arguments to all modules (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/153)
trivial:
- - added duration into our scheduled_downtime task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/151)
- - fix call url function (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/154)
- release_date: '2021-12-03'
- 1.27.0:
+ - lowercase some more bools (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/204)
+ release_date: '2023-03-07'
+ 1.32.1:
+ changes:
+ trivial:
+ - Consider true/false in docs for boolean (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/203)
+ - immediately return values and update dict-updates (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/199)
+ release_date: '2023-01-20'
+ 1.32.0:
changes:
minor_changes:
- - Add possibility to use Compose and keyed groups in inventory-module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/155)
- release_date: '2022-01-03'
- 1.27.1:
+ - Add zone to user and notification template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/198)
+ trivial:
+ - Update ansible-test to latest collection template. (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/195)
+ - Update actions/checkout action to v3.2.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/194)
+ - Update ansible-community/ansible-test-gh-action action to v1.12.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/192)
+ - add galaxy.yml to yamllinting (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/191)
+ release_date: '2023-01-06'
+ 1.31.5:
changes:
trivial:
- - fixed missing property 'display_name' in module 'icinga_service' (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/157)
- release_date: '2022-02-15'
- 1.27.2:
+ - Update ansible-test to latest collection template. (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/195)
+ - Update actions/checkout action to v3.2.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/194)
+ - Update ansible-community/ansible-test-gh-action action to v1.12.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/192)
+ - add galaxy.yml to yamllinting (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/191)
+ release_date: '2022-11-15'
+ 1.31.4:
+ release_date: '2022-11-04'
+ 1.31.3:
+ release_date: '2022-11-04'
+ 1.31.2:
+ release_date: '2022-11-04'
+ 1.31.1:
changes:
trivial:
- - Fix sanity tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/159)
- release_date: '2022-03-19'
- 1.28.0:
+ - add empty default to argument docs (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/188)
+ - Update ansible-community/ansible-test-gh-action action to v1.11.1 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/186)
+ - Update ansible-community/ansible-test-gh-action action to v1.11.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/185)
+ - Update actions/checkout action to v3.1.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/184)
+ - fix problems found by refurb (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/183)
+ - Update ansible-community/ansible-test-gh-action action to v1.10.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/182)
+ - add ansible 2.14 to test-matrix, use new gh-action for tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/181)
+ release_date: '2022-08-22'
+ 1.31.0:
changes:
- bugfixes:
- - 'role: add check_command to icinga_service_apply (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/161)'
minor_changes:
- - Added missing fields to 'icinga_host' and 'icinga_host_template' (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/158)
+ - Add flapping support to service template module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/180)
+ - Add icon support to service template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/179)
+ release_date: '2022-08-22'
+ 1.30.2:
+ release_date: '2022-08-02'
+ 1.30.1:
+ changes:
+ bugfixes:
+ - Add exception handling to diff and exist functions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/176)
trivial:
- - Fix sanity tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/159)
- release_date: '2022-03-28'
- 1.28.1:
+ - update list of ansible and python versions to be tested (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/178)
+ - update python-version for ansible-lint in tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/177)
+ release_date: '2022-07-01'
+ 1.30.0:
changes:
minor_changes:
- - Test more ansible versions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/162)
+ - Add action_group to enable module default groups (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/175)
trivial:
- - Configure Renovate (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/164)
- - 'chore(deps): update actions/checkout action (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/168)'
- - 'chore(deps): update actions/setup-python action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/169)'
- - 'chore(deps): update codecov/codecov-action action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/170)'
- - 'chore(deps): update github-actions-x/commit action to v2.9 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/166)'
- release_date: '2022-03-30'
+ - fix release workflow (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/174)
+ - 'chore(deps): update actions/setup-python action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/173)'
+ - 'chore(deps): update github/codeql-action action to v2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/172)'
+ - 'chore(deps): update actions/checkout action to v3.0.2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/171)'
+ release_date: '2022-06-16'
+ 1.29.1:
+ changes:
+ trivial:
+ - fix release workflow (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/174)
+ - 'chore(deps): update actions/setup-python action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/173)'
+ - 'chore(deps): update github/codeql-action action to v2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/172)'
+ - 'chore(deps): update actions/checkout action to v3.0.2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/171)'
+ release_date: '2022-04-21'
1.29.0:
changes:
minor_changes:
- Add icinga_serviceset module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/163)
- Test more ansible versions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/162)
trivial:
- - Configure Renovate (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/164)
- - 'chore(deps): update actions/checkout action (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/168)'
- - 'chore(deps): update actions/setup-python action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/169)'
- 'chore(deps): update codecov/codecov-action action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/170)'
+ - 'chore(deps): update actions/setup-python action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/169)'
+ - 'chore(deps): update actions/checkout action (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/168)'
- 'chore(deps): update github-actions-x/commit action to v2.9 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/166)'
+ - Configure Renovate (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/164)
modules:
- description: Manage servicesets in Icinga2
name: icinga_serviceset
namespace: ''
release_date: '2022-04-20'
- 1.29.1:
+ 1.28.1:
changes:
+ minor_changes:
+ - Test more ansible versions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/162)
trivial:
- - 'chore(deps): update actions/checkout action to v3.0.2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/171)'
- - 'chore(deps): update actions/setup-python action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/173)'
- - 'chore(deps): update github/codeql-action action to v2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/172)'
- - fix release workflow (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/174)
- release_date: '2022-04-21'
- 1.30.0:
+ - 'chore(deps): update codecov/codecov-action action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/170)'
+ - 'chore(deps): update actions/setup-python action to v3 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/169)'
+ - 'chore(deps): update actions/checkout action (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/168)'
+ - 'chore(deps): update github-actions-x/commit action to v2.9 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/166)'
+ - Configure Renovate (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/164)
+ release_date: '2022-03-30'
+ 1.28.0:
changes:
+ bugfixes:
+ - 'role: add check_command to icinga_service_apply (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/161)'
minor_changes:
- - Add action_group to enable module default groups (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/175)
+ - Added missing fields to 'icinga_host' and 'icinga_host_template' (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/158)
trivial:
- - 'chore(deps): update actions/checkout action to v3.0.2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/171)'
- - 'chore(deps): update actions/setup-python action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/173)'
- - 'chore(deps): update github/codeql-action action to v2 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/172)'
- - fix release workflow (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/174)
- release_date: '2022-06-16'
- 1.30.1:
+ - Fix sanity tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/159)
+ release_date: '2022-03-28'
+ 1.27.2:
changes:
- bugfixes:
- - Add exception handling to diff and exist functions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/176)
trivial:
- - update list of ansible and python versions to be tested (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/178)
- - update python-version for ansible-lint in tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/177)
- release_date: '2022-07-01'
- 1.30.2:
- release_date: '2022-08-02'
- 1.31.0:
+ - Fix sanity tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/159)
+ release_date: '2022-03-19'
+ 1.27.1:
+ changes:
+ trivial:
+ - fixed missing property 'display_name' in module 'icinga_service' (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/157)
+ release_date: '2022-02-15'
+ 1.27.0:
changes:
minor_changes:
- - Add flapping support to service template module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/180)
- - Add icon support to service template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/179)
- release_date: '2022-08-22'
- 1.31.1:
+ - Add possibility to use Compose and keyed groups in inventory-module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/155)
+ release_date: '2022-01-03'
+ 1.26.0:
changes:
+ minor_changes:
+ - add option to append arguments to all modules (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/153)
trivial:
- - Update actions/checkout action to v3.1.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/184)
- - Update ansible-community/ansible-test-gh-action action to v1.10.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/182)
- - Update ansible-community/ansible-test-gh-action action to v1.11.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/185)
- - Update ansible-community/ansible-test-gh-action action to v1.11.1 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/186)
- - add ansible 2.14 to test-matrix, use new gh-action for tests (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/181)
- - add empty default to argument docs (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/188)
- - fix problems found by refurb (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/183)
- release_date: '2022-08-22'
- 1.31.2:
- release_date: '2022-11-04'
- 1.31.3:
- release_date: '2022-11-04'
- 1.31.4:
- release_date: '2022-11-04'
- 1.31.5:
+ - fix call url function (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/154)
+ - added duration into our scheduled_downtime task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/151)
+ release_date: '2021-12-03'
+ 1.25.1:
changes:
trivial:
- - Update actions/checkout action to v3.2.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/194)
- - Update ansible-community/ansible-test-gh-action action to v1.12.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/192)
- - Update ansible-test to latest collection template. (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/195)
- - add galaxy.yml to yamllinting (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/191)
- release_date: '2022-11-15'
- 1.32.0:
+ - fix call url function (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/154)
+ - added duration into our scheduled_downtime task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/151)
+ release_date: '2021-11-24'
+ 1.25.0:
changes:
+ bugfixes:
+ - added a fix for the new scheduled_downtime module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/150)
minor_changes:
- - Add zone to user and notification template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/198)
- trivial:
- - Update actions/checkout action to v3.2.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/194)
- - Update ansible-community/ansible-test-gh-action action to v1.12.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/192)
- - Update ansible-test to latest collection template. (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/195)
- - add galaxy.yml to yamllinting (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/191)
- release_date: '2023-01-06'
- 1.32.1:
+ - Add Icinga scheduled downtime module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/146)
+ release_date: '2021-11-22'
+ 1.23.1:
changes:
+ minor_changes:
+ - add resolve option to inventory-plugin (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/147)
trivial:
- - Consider true/false in docs for boolean (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/203)
- - immediately return values and update dict-updates (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/199)
- release_date: '2023-01-20'
- 1.32.2:
+ - improve autogenerated documentation (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/145)
+ - add documentation files and creation-workflow to repo (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/144)
+ release_date: '2021-10-18'
+ 1.23.0:
+ release_date: '2021-09-23'
+ 1.22.1:
changes:
trivial:
- - lowercase some more bools (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/204)
- release_date: '2023-03-07'
- 1.32.3:
+ - ansible-test needs python >= 3.8 at the controller (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/142)
+ - added missing parameter to notification task (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/141)
+ release_date: '2021-09-17'
+ 1.22.0:
changes:
+ minor_changes:
+ - Add support for retry_interval and max_check_attempts to host template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/140)
trivial:
- - Update actions/checkout action to v3.5.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/206)
- - use codespell to improve spelling (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/207)
- release_date: '2023-03-09'
- 1.33.0:
+ - 'Draft: updated retry pull request (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/139)'
+ - added 3 retries for every playbook (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/138)
+ release_date: '2021-09-15'
+ 1.21.2:
changes:
- minor_changes:
- - Add Icinga Deploy handler and module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/205)
trivial:
- - Update actions/checkout action to v3.5.0 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/206)
- - use codespell to improve spelling (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/207)
- modules:
- - description: Trigger deployment in Icinga2
- name: icinga_deploy
- namespace: ''
- - description: Get deployment information through the director API
- name: icinga_deploy_info
- namespace: ''
- release_date: '2023-05-22'
- 1.33.1:
+ - 'Draft: updated retry pull request (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/139)'
+ - added 3 retries for every playbook (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/138)
+ release_date: '2021-09-13'
+ 1.21.1:
changes:
bugfixes:
- - add icinga_deploy_* to action_group and test it (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/214)
+ - Changed place in the creation order of service object in ansible_icinga
+ role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/135)
+ release_date: '2021-08-30'
+ 1.21.0:
+ changes:
+ minor_changes:
+ - Add event_command parameter to service apply playbook to enable usage (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/133)
+ - Add event_command parameter to icinga_service_apply module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/132)
trivial:
- - Update README (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/211)
- release_date: '2023-05-22'
- 1.33.2:
+ - Docs and tests update (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/131)
+ release_date: '2021-08-16'
+ 1.20.1:
changes:
trivial:
- - move orga (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/216)
- - run CI-tests only once peer week (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/215)
- release_date: '2023-06-09'
- 1.33.3:
+ - Docs and tests update (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/131)
+ release_date: '2021-08-05'
+ 1.20.0:
changes:
minor_changes:
- - add command_endpoint var for service templates (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/222)
- release_date: '2023-07-14'
- 1.34.1:
- changes:
- bugfixes:
- - add more http-options for inventory module (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/221)
- release_date: '2023-07-28'
- 1.34.2:
+ - add "vars" variable to icinga_notification in the role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/129)
+ - Add some more documentation on command template (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/128)
+ release_date: '2021-07-16'
+ 1.19.0:
changes:
+ minor_changes:
+ - add notification_template to role (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/125)
trivial:
- - Update actions/checkout action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/224)
- - Update test matrix (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/223)
- - exclude old python versions with ansible devel (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/225)
- release_date: '2023-08-07'
- 1.35.0:
+ - add Inventory plugin (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/127)
+ - ignore changelogs directory created by a 3rd party tool (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/126)
+ - add changelogs config so antsibull-changelog can work (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/124)
+ - use antsichaut and release-drafter for changelog and release generation
+ (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/122)
+ release_date: '2021-06-28'
+ 1.18.1:
changes:
- minor_changes:
- - Extended docs and examples for multiple assign_filter conditions (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/227)
trivial:
- - Update test matrix (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/223)
- - exclude old python versions with ansible devel (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/225)
- - Update actions/checkout action to v4 (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/224)
- release_date: '2023-11-13'
+ - add changelogs config so antsibull-changelog can work (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/124)
+ - use antsichaut and release-drafter for changelog and release generation
+ (https://github.com/telekom-mms/ansible-collection-icinga-director/pull/122)
+ release_date: '2021-06-28'
diff --git a/ansible_collections/telekom_mms/icinga_director/docs/icinga_deploy.rst b/ansible_collections/telekom_mms/icinga_director/docs/icinga_deploy.rst
index b436f54c9..9fc59ee26 100644
--- a/ansible_collections/telekom_mms/icinga_director/docs/icinga_deploy.rst
+++ b/ansible_collections/telekom_mms/icinga_director/docs/icinga_deploy.rst
@@ -22,6 +22,10 @@ Trigger a deployment to Icinga2 through the director API.
Parameters
----------
+ timeout (optional, int, 2)
+ Default timeout to wait for deployment to finish in seconds.
+
+
url (True, str, None)
HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
@@ -100,6 +104,7 @@ Examples
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
+ timeout: 5
diff --git a/ansible_collections/telekom_mms/icinga_director/docs/icinga_notification.rst b/ansible_collections/telekom_mms/icinga_director/docs/icinga_notification.rst
index 9e1625a7f..d6b63da94 100644
--- a/ansible_collections/telekom_mms/icinga_director/docs/icinga_notification.rst
+++ b/ansible_collections/telekom_mms/icinga_director/docs/icinga_notification.rst
@@ -30,7 +30,7 @@ Parameters
Name of the notification.
- notification_interval (optional, str, None)
+ notification_interval (optional, int, None)
The notification interval (in seconds). This interval is used for active notifications.
Defaults to 30 minutes. If set to 0, re-notifications are disabled.
@@ -90,7 +90,7 @@ Parameters
When the last notification should be sent.
- user_groups (optional, list, None)
+ user_groups (optional, list, [])
User Groups that should be notified by this notification.
@@ -190,7 +190,7 @@ Examples
assign_filter: 'host.name="foohost"'
imports:
- foonotificationtemplate
- notification_interval: '0'
+ notification_interval: 0
object_name: E-Mail_host
states:
- Up
@@ -207,6 +207,28 @@ Examples
times_begin: 20
times_end: 120
+ - name: Create another notification
+ telekom_mms.icinga_director.icinga_notification:
+ state: present
+ url: "{{ icinga_url }}"
+ url_username: "{{ icinga_user }}"
+ url_password: "{{ icinga_pass }}"
+ apply_to: host
+ assign_filter: 'host.name="foohost"'
+ imports:
+ - foonotificationtemplate
+ notification_interval: 0
+ object_name: E-Mail_host
+ states:
+ - Up
+ - Down
+ types:
+ - Problem
+ - Recovery
+ users:
+ - rb
+ time_period: "24/7"
+
- name: Update notification
telekom_mms.icinga_director.icinga_notification:
state: present
diff --git a/ansible_collections/telekom_mms/icinga_director/examples/icinga_deploy.yml b/ansible_collections/telekom_mms/icinga_director/examples/icinga_deploy.yml
index 017ab6b2c..9d823d10c 100644
--- a/ansible_collections/telekom_mms/icinga_director/examples/icinga_deploy.yml
+++ b/ansible_collections/telekom_mms/icinga_director/examples/icinga_deploy.yml
@@ -4,3 +4,4 @@
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
+ timeout: 5
diff --git a/ansible_collections/telekom_mms/icinga_director/examples/icinga_notification.yml b/ansible_collections/telekom_mms/icinga_director/examples/icinga_notification.yml
index c19cfe547..09077cb41 100644
--- a/ansible_collections/telekom_mms/icinga_director/examples/icinga_notification.yml
+++ b/ansible_collections/telekom_mms/icinga_director/examples/icinga_notification.yml
@@ -9,7 +9,7 @@
assign_filter: 'host.name="foohost"'
imports:
- foonotificationtemplate
- notification_interval: '0'
+ notification_interval: 0
object_name: E-Mail_host
states:
- Up
@@ -25,6 +25,27 @@
time_period: "24/7"
times_begin: 20
times_end: 120
+- name: Create another notification
+ telekom_mms.icinga_director.icinga_notification:
+ state: present
+ url: "{{ icinga_url }}"
+ url_username: "{{ icinga_user }}"
+ url_password: "{{ icinga_pass }}"
+ apply_to: host
+ assign_filter: 'host.name="foohost"'
+ imports:
+ - foonotificationtemplate
+ notification_interval: 0
+ object_name: E-Mail_host
+ states:
+ - Up
+ - Down
+ types:
+ - Problem
+ - Recovery
+ users:
+ - rb
+ time_period: "24/7"
- name: Update notification
telekom_mms.icinga_director.icinga_notification:
state: present
diff --git a/ansible_collections/telekom_mms/icinga_director/meta/runtime.yml b/ansible_collections/telekom_mms/icinga_director/meta/runtime.yml
index 6d1ae61a8..96f7fcac9 100644
--- a/ansible_collections/telekom_mms/icinga_director/meta/runtime.yml
+++ b/ansible_collections/telekom_mms/icinga_director/meta/runtime.yml
@@ -1,5 +1,5 @@
---
-requires_ansible: '>=2.9.10'
+requires_ansible: ">=2.14.0"
action_groups:
icinga:
diff --git a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_deploy.py b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_deploy.py
index 08abc7b4f..a5ab24b7a 100644
--- a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_deploy.py
+++ b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_deploy.py
@@ -32,6 +32,12 @@ version_added: '1.33.0'
extends_documentation_fragment:
- ansible.builtin.url
- telekom_mms.icinga_director.common_options
+options:
+ timeout:
+ description:
+ - Default timeout to wait for deployment to finish in seconds.
+ default: 2
+ type: int
"""
EXAMPLES = """
@@ -40,6 +46,7 @@ EXAMPLES = """
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
+ timeout: 5
"""
RETURN = r"""
@@ -71,6 +78,7 @@ def main():
# add our own arguments
argument_spec.update(
url=dict(required=True),
+ timeout=dict(required=False, default=2, type="int")
)
# Define the main module
@@ -92,8 +100,8 @@ def main():
icinga_deployment = Icinga2APIObject(module=module, path="/config/deploy", data=[])
result = icinga_deployment.create()
# the deployment is asynchronous and I don't know of a way to check if it is finished.
- # so we need some sleep here. 2 seconds is a wild guess.
- sleep(2)
+ # so we need some sleep here. 2 seconds is a wild guess and a default, now it is a variable
+ sleep(module.params["timeout"])
# get the new deployment status
create_deployment = icinga_deploy_status.query_deployment()["data"]["active_configuration"]["config"]
diff --git a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_notification.py b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_notification.py
index 9d100ef75..7e657edf6 100644
--- a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_notification.py
+++ b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_notification.py
@@ -40,18 +40,18 @@ options:
- Apply feature state.
choices: [ "present", "absent" ]
default: present
- type: str
+ type: "str"
object_name:
description:
- Name of the notification.
aliases: ['name']
required: true
- type: str
+ type: "str"
notification_interval:
description:
- The notification interval (in seconds). This interval is used for active notifications.
- Defaults to 30 minutes. If set to 0, re-notifications are disabled.
- type: str
+ type: "int"
types:
description:
- The state transition types you want to get notifications for.
@@ -72,7 +72,7 @@ options:
description:
- Whether this notification should affect hosts or services.
- Required if I(state) is C(present).
- type: str
+ type: "str"
choices: ["host", "service"]
assign_filter:
description:
@@ -121,13 +121,14 @@ options:
- User Groups that should be notified by this notification.
type: "list"
elements: str
+ default: []
version_added: '1.16.0'
append:
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
+ type: "bool"
choices: [true, false]
version_added: '1.25.0'
"""
@@ -143,7 +144,7 @@ EXAMPLES = """
assign_filter: 'host.name="foohost"'
imports:
- foonotificationtemplate
- notification_interval: '0'
+ notification_interval: 0
object_name: E-Mail_host
states:
- Up
@@ -160,6 +161,28 @@ EXAMPLES = """
times_begin: 20
times_end: 120
+- name: Create another notification
+ telekom_mms.icinga_director.icinga_notification:
+ state: present
+ url: "{{ icinga_url }}"
+ url_username: "{{ icinga_user }}"
+ url_password: "{{ icinga_pass }}"
+ apply_to: host
+ assign_filter: 'host.name="foohost"'
+ imports:
+ - foonotificationtemplate
+ notification_interval: 0
+ object_name: E-Mail_host
+ states:
+ - Up
+ - Down
+ types:
+ - Problem
+ - Recovery
+ users:
+ - rb
+ time_period: "24/7"
+
- name: Update notification
telekom_mms.icinga_director.icinga_notification:
state: present
@@ -200,10 +223,10 @@ def main():
disabled=dict(
type="bool", required=False, default=False, choices=[True, False]
),
- notification_interval=dict(required=False),
+ notification_interval=dict(type="int", required=False),
states=dict(type="list", elements="str", required=False),
users=dict(type="list", elements="str", required=False),
- user_groups=dict(type="list", elements="str", required=False),
+ user_groups=dict(type="list", elements="str", default=[], required=False),
types=dict(type="list", elements="str", required=False),
vars=dict(type="dict", default={}, required=False),
period=dict(required=False, aliases=["time_period"]),
diff --git a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_service_apply.py b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_service_apply.py
index e5b5cba2d..7ee8a7a52 100644
--- a/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_service_apply.py
+++ b/ansible_collections/telekom_mms/icinga_director/plugins/modules/icinga_service_apply.py
@@ -251,6 +251,8 @@ from ansible_collections.telekom_mms.icinga_director.plugins.module_utils.icinga
# Icinga2 API class
#
class ServiceApplyRule(Icinga2APIObject):
+ find_by_parameter = None
+
def __init__(self, module, data):
path = "/service"
super(ServiceApplyRule, self).__init__(module, path, data)
@@ -260,18 +262,22 @@ class ServiceApplyRule(Icinga2APIObject):
if ret["code"] == 200:
for existing_rule in ret["data"]["objects"]:
if existing_rule["object_name"] == self.data["object_name"]:
- self.object_id = existing_rule["id"]
+ if "uuid" in existing_rule and existing_rule["uuid"] is not None:
+ self.find_by_parameter = "uuid"
+ else:
+ self.find_by_parameter = "id"
+ self.object_id = existing_rule[self.find_by_parameter]
return self.object_id
return False
def delete(self):
- return super(ServiceApplyRule, self).delete(find_by="id")
+ return super(ServiceApplyRule, self).delete(find_by=self.find_by_parameter)
def modify(self):
- return super(ServiceApplyRule, self).modify(find_by="id")
+ return super(ServiceApplyRule, self).modify(find_by=self.find_by_parameter)
def diff(self):
- return super(ServiceApplyRule, self).diff(find_by="id")
+ return super(ServiceApplyRule, self).diff(find_by=self.find_by_parameter)
# ===========================================
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/README.md b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/README.md
index d71b97c74..767e69622 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/README.md
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/README.md
@@ -1,239 +1,2064 @@
-# Ansible Icinga
+<!-- BEGIN_ANSIBLE_DOCS -->
+# Ansible Role: telekom_mms.icinga_director.ansible_icinga
+---
+Version: 1.35.0
This role is used to configure an Icinga Instance over its Icinga Director.
-## Installation
-
-* create a `requirements.yml`:
+Tags: icinga
-```bash
+## Requirements
---
-collections:
- - name: telekom_mms.icinga_director
- src: https://github.com/telekom_mms/ansible-collection-icinga-director
- version: 1.2.2
-```
+| Platform | Versions |
+| -------- | -------- |
+| all | |
-* install the collections:
+## Supported Operating Systems
+- all
-```bash
-ansible-galaxy collection install -r requirements.yml -p collections/
-```
+## Role Variables
+
+- `icinga_command_templates`:
+ - Default: ``
+ - Description: A list of Icinga command_templat to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `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."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `command_type`:
+ - 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."
+
+ - Choices:
+ - PluginCheck
+ - PluginNotification
+ - PluginEvent
+ - default: "PluginCheck"
+ - type: "str"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the command template."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want. Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `timeout`:
+ - description:
+
+ - "Optional command timeout. Allowed values are seconds or durations postfixed with a specific unit (for example 1m or also 3m 30s)."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `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."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the command template."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `arguments`:
+ - description:
+
+ - "Arguments of the command template."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+- `icinga_commands`:
+ - Default: ``
+ - Description: A list of Icinga commands to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `command`:
+ - description:
+
+ - "The command Icinga should run. Required when state is C(present)."
+
+ - "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."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `command_type`:
+ - 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."
+
+ - Choices:
+ - PluginCheck
+ - PluginNotification
+ - PluginEvent
+ - default: "PluginCheck"
+ - type: "str"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the command."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want. Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `timeout`:
+ - description:
+
+ - "Optional command timeout. Allowed values are seconds or durations postfixed with a specific unit (for example 1m or also 3m 30s)."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `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."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the command."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `arguments`:
+ - description:
+
+ - "Arguments of the command."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+- `icinga_endpoints`:
+ - Default: ``
+ - Description: A list of Icinga endpoints to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Icinga object name for this endpoint."
+
+ - "This is usually a fully qualified host name but it could basically be any kind of string."
+
+ - "To make things easier for your users we strongly suggest to use meaningful names for templates."
+
+ - "For example "generic-endpoint" is ugly, "Standard Linux Server" is easier to understand."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `host`:
+ - description:
+
+ - "The hostname/IP address of the remote Icinga 2 instance."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `port`:
+ - description:
+
+ - "The service name/port of the remote Icinga 2 instance. Defaults to 5665."
+
+ - default: ""
+ - type: "int"
+ - required: "no"
+
+ - `log_duration`:
+ - description:
+
+ - "Duration for keeping replay logs on connection loss. Defaults to 1d (86400 seconds). Attribute is specified in seconds. If log_duration is set to 0, replaying logs is disabled. You could also specify the value in human readable format like 10m for 10 minutes or 1h for one hour."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `zone`:
+ - description:
+
+ - "The name of the zone this endpoint is part of."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+- `icinga_host_templates`:
+ - Default: ``
+ - Description: A list of Icinga host_templates to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Icinga object name for this host template."
+
+ - "This is usually a fully qualified host name but it could basically be any kind of string."
+
+ - "To make things easier for your users we strongly suggest to use meaningful names for templates."
+
+ - "For example "generic-host" is ugly, "Standard Linux Server" is easier to understand."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "Alternative name for this host."
+
+ - "Might be a host alias or and kind of string helping your users to identify this host."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `address`:
+ - description:
+
+ - "Host address. Usually an IPv4 address, but may be any kind of address your check plugin is able to deal with."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `address6`:
+ - description:
+
+ - "Host IPv6 address. Usually an IPv64 address, but may be any kind of address your check plugin is able to deal with."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "Hostgroups that should be directly assigned to this node. Hostgroups can be useful for various reasons."
+
+ - "You might assign service checks based on assigned hostgroup. They are also often used as an instrument to enforce restricted views in Icinga Web 2."
+
+ - "Hostgroups can be directly assigned to single hosts or to host templates."
+
+ - "You might also want to consider assigning hostgroups using apply rules."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `check_command`:
+ - description:
+
+ - "The name of the check command."
+
+ - "Though this is not required to be defined in the director, you still have to supply a check_command in a host or host-template."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `event_command`:
+ - description:
+
+ - "Event command for host which gets called on every check execution if one of these conditions matches"
+
+ - "The host is in a soft state"
+
+ - "The host state changes into a hard state"
+
+ - "The host state recovers from a soft or hard state to OK/Up"
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_interval`:
+ - description:
+
+ - "Your regular check interval."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Choose a host-template."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `zone`:
+ - description:
+
+ - "Set the zone."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the host."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `notes`:
+ - description:
+
+ - "Additional notes for this object."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes_url`:
+ - description:
+
+ - "An URL pointing to additional notes for this object."
+
+ - "Separate multiple urls like this "http://url1 http://url2""
+
+ - "Maximum length is 255 characters."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `has_agent`:
+ - description:
+
+ - "Whether this host has the Icinga 2 Agent installed."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `master_should_connect`:
+ - description:
+
+ - "Whether the parent (master) node should actively try to connect to this agent."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `accept_config`:
+ - description:
+
+ - "Whether the agent is configured to accept config."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+- `icinga_hostgroups`:
+ - Default: ``
+ - Description: A list of Icinga hostgroups to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Icinga object name for this hostgroup."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "An alternative display name for this group."
+
+ - "If you wonder how this could be helpful just leave it blank."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `assign_filter`:
+ - description:
+
+ - "This allows you to configure an assignment filter."
+
+ - "Please feel free to combine as many nested operators as you want."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+- `icinga_hosts`:
+ - Default: ``
+ - Description: A list of Icinga hosts to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Icinga object name for this host."
+
+ - "This is usually a fully qualified host name but it could basically be any kind of string."
+
+ - "To make things easier for your users we strongly suggest to use meaningful names for templates."
+
+ - "For example "generic-host" is ugly, "Standard Linux Server" is easier to understand."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "Alternative name for this host. Might be a host alias or and kind of string helping your users to identify this host."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `address`:
+ - description:
+
+ - "Host address. Usually an IPv4 address, but may be any kind of address your check plugin is able to deal with."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `address6`:
+ - description:
+
+ - "Host IPv6 address. Usually an IPv6 address, but may be any kind of address your check plugin is able to deal with."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "Hostgroups that should be directly assigned to this node. Hostgroups can be useful for various reasons."
+
+ - "You might assign service checks based on assigned hostgroup. They are also often used as an instrument to enforce restricted views in Icinga Web 2."
+
+ - "Hostgroups can be directly assigned to single hosts or to host templates."
+
+ - "You might also want to consider assigning hostgroups using apply rules."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Choose a Host Template. Required when state is C(present)."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `zone`:
+ - description:
+
+ - "Set the zone."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the host."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `check_command`:
+ - description:
+
+ - "The name of the check command."
+
+ - "Though this is not required to be defined in the director, you still have to supply a check_command in a host or host-template."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes`:
+ - description:
+
+ - "Additional notes for this object."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes_url`:
+ - description:
+
+ - "An URL pointing to additional notes for this object."
+
+ - "Separate multiple urls like this "http://url1 http://url2""
+
+ - "The maximum length is 255 characters."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `has_agent`:
+ - description:
+
+ - "Whether this host has the Icinga 2 Agent installed."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `master_should_connect`:
+ - description:
+
+ - "Whether the parent (master) node should actively try to connect to this agent."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `accept_config`:
+ - description:
+
+ - "Whether the agent is configured to accept config."
+
+ - Choices:
+ - True
+ - False
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+- `icinga_notifications`:
+ - Default: ``
+ - Description: A list of Icinga notifications to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the notification."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `notification_interval`:
+ - description:
+
+ - "The notification interval (in seconds). This interval is used for active notifications."
+
+ - "Defaults to 30 minutes. If set to 0, re-notifications are disabled."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `types`:
+ - description:
+
+ - "The state transition types you want to get notifications for."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `users`:
+ - description:
+
+ - "Users that should be notified by this notification."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `states`:
+ - description:
+
+ - "The host or service states you want to get notifications for."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `apply_to`:
+ - description:
+
+ - "Whether this notification should affect hosts or services."
+
+ - Choices:
+ - host
+ - service
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `assign_filter`:
+ - description:
+
+ - "The filter where the notification will take effect."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want. Required when state is C(present)."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the notification."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `time_period`:
+ - description:
+
+ - "The name of a time period which determines when this notification should be triggered."
+
+ - default: ""
+ - type: "strod"
+ - required: "no"
+
+ - `times_begin`:
+ - description:
+
+ - "First notification delay."
+
+ - "Delay unless the first notification should be sent."
+
+ - default: ""
+ - type: "int"
+ - required: "no"
+
+ - `times_end`:
+ - description:
+
+ - "Last notification."
+
+ - "When the last notification should be sent."
+
+ - default: ""
+ - type: "int"
+ - required: "no"
+
+ - `user_groups`:
+ - description:
+
+ - "User Groups that should be notified by this notification."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+- `icinga_service_applies`:
+ - Default: ``
+ - Description: A list of Icinga service_applies to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name for the Icinga service apply rule."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "Alternative displayed name of the service apply rule."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_command`:
+ - description:
+
+ - "Check command definition."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_interval`:
+ - description:
+
+ - "Your regular check interval."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_period`:
+ - description:
+
+ - "The name of a time period which determines when this object should be monitored. Not limited by default."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_timeout`:
+ - description:
+
+ - "Check command timeout in seconds. Overrides the CheckCommand's timeout attribute."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `enable_active_checks`:
+ - description:
+
+ - "Whether to actively check this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_event_handler`:
+ - description:
+
+ - "Whether to enable event handlers this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_notifications`:
+ - description:
+
+ - "Whether to send notifications for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_passive_checks`:
+ - description:
+
+ - "Whether to accept passive check results for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_perfdata`:
+ - description:
+
+ - "Whether to process performance data provided by this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `max_check_attempts`:
+ - description:
+
+ - "Defines after how many check attempts a new hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `retry_interval`:
+ - description:
+
+ - "Retry interval, will be applied after a state change unless the next hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "Service groups that should be directly assigned to this service."
+
+ - "Servicegroups can be useful for various reasons."
+
+ - "They are helpful to provided service-type specific view in Icinga Web 2, either for custom dashboards or as an instrument to enforce restrictions."
+
+ - "Service groups can be directly assigned to single services or to service templates."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `apply_for`:
+ - description:
+
+ - "Evaluates the apply for rule for all objects with the custom attribute specified."
+
+ - "For example selecting "host.vars.custom_attr" will generate "for (config in host.vars.array_var)" where "config" will be accessible through "$config$"."
+
+ - "Note - only custom variables of type "Array" are eligible."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `assign_filter`:
+ - description:
+
+ - "The filter where the service apply rule will take effect."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `command_endpoint`:
+ - description:
+
+ - "The host where the service should be executed on."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the service apply rule."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+ - `notes`:
+ - description:
+
+ - "Additional notes for this object."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes_url`:
+ - description:
+
+ - "An URL pointing to additional notes for this object."
+
+ - "Separate multiple urls like this "http://url1 http://url2""
+
+ - "Maximum length is 255 characters."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+- `icinga_service_templates`:
+ - Default: ``
+ - Description: A list of Icinga service_templat to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the service template."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `check_command`:
+ - description:
+
+ - "Check command definition."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_interval`:
+ - description:
+
+ - "Your regular check interval."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_period`:
+ - description:
+
+ - "The name of a time period which determines when this object should be monitored. Not limited by default."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_timeout`:
+ - description:
+
+ - "Check command timeout in seconds. Overrides the CheckCommand's timeout attribute."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `enable_active_checks`:
+ - description:
+
+ - "Whether to actively check this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_event_handler`:
+ - description:
+
+ - "Whether to enable event handlers this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_notifications`:
+ - description:
+
+ - "Whether to send notifications for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_passive_checks`:
+ - description:
+
+ - "Whether to accept passive check results for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_perfdata`:
+ - description:
+
+ - "Whether to process performance data provided by this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `event_command`:
+ - description:
+
+ - "Event command for service which gets called on every check execution if one of these conditions matches"
+
+ - "The service is in a soft state"
+
+ - "The service state changes into a hard state"
+
+ - "The service state recovers from a soft or hard state to OK/Up"
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "Service groups that should be directly assigned to this service."
+
+ - "Servicegroups can be useful for various reasons."
+
+ - "They are helpful to provided service-type specific view in Icinga Web 2, either for custom dashboards or as an instrument to enforce restrictions."
+
+ - "Service groups can be directly assigned to single services or to service templates."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `max_check_attempts`:
+ - description:
+
+ - "Defines after how many check attempts a new hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes`:
+ - description:
+
+ - "Additional notes for this object."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes_url`:
+ - description:
+
+ - "An URL pointing to additional notes for this object."
+
+ - "Separate multiple urls like this "http://url1 http://url2""
+
+ - "Maximum length is 255 characters."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `retry_interval`:
+ - description:
+
+ - "Retry interval, will be applied after a state change unless the next hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `use_agent`:
+ - description:
+
+ - "Whether the check command for this service should be executed on the Icinga agent."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the service template."
+
+ - default: "{}"
+ - type: "dict"
+ - required: "no"
+
+ - `volatile`:
+ - description:
+
+ - "Whether this check is volatile."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+- `icinga_servicegroups`:
+ - Default: ``
+ - Description: A list of Icinga sservicegroups to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name for the Icinga servicegroup."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "An alternative display name for this group."
+
+ - "If you wonder how this could be helpful just leave it blank."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `assign_filter`:
+ - description:
+
+ - "This allows you to configure an assignment filter."
+
+ - "Please feel free to combine as many nested operators as you want."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+- `icinga_services`:
+ - Default: ``
+ - Description: A list of Icinga services to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the service."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `check_command`:
+ - description:
+
+ - "Check command definition."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_interval`:
+ - description:
+
+ - "Your regular check interval."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_period`:
+ - description:
+
+ - "The name of a time period which determines when this object should be monitored. Not limited by default."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `check_timeout`:
+ - description:
+
+ - "Check command timeout in seconds. Overrides the CheckCommand's timeout attribute."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `enable_active_checks`:
+ - description:
+
+ - "Whether to actively check this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_event_handler`:
+ - description:
+
+ - "Whether to enable event handlers this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_notifications`:
+ - description:
+
+ - "Whether to send notifications for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_passive_checks`:
+ - description:
+
+ - "Whether to accept passive check results for this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `enable_perfdata`:
+ - description:
+
+ - "Whether to process performance data provided by this object."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "Service groups that should be directly assigned to this service."
+
+ - "Servicegroups can be useful for various reasons."
+
+ - "They are helpful to provided service-type specific view in Icinga Web 2, either for custom dashboards or as an instrument to enforce restrictions."
+
+ - "Service groups can be directly assigned to single services or to service templates."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `host`:
+ - description:
+
+ - "Choose the host this single service should be assigned to."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: "[]"
+ - type: "list"
+ - required: "no"
+
+ - `max_check_attempts`:
+ - description:
+
+ - "Defines after how many check attempts a new hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes`:
+ - description:
+
+ - "Additional notes for this object."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `notes_url`:
+ - description:
+
+ - "An URL pointing to additional notes for this object."
+
+ - "Separate multiple urls like this "http://url1 http://url2""
+
+ - "Maximum length is 255 characters."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `retry_interval`:
+ - description:
+
+ - "Retry interval, will be applied after a state change unless the next hard state is reached."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `use_agent`:
+ - description:
+
+ - "Whether the check command for this service should be executed on the Icinga agent."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `vars`:
+ - description:
+
+ - "Custom properties of the service."
+
+ - default: "{}"
+ - type: "dict"
+ - required: "no"
+
+ - `volatile`:
+ - description:
+
+ - "Whether this check is volatile."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+- `icinga_timeperiods`:
+ - Default: ``
+ - Description: A list of Icinga timeperiods to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the time period."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `display_name`:
+ - description:
+
+ - "Alternative name for this timeperiod."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `ranges`:
+ - description:
+
+ - "A"
+
+ - " "
+
+ - "d"
+
+ - "i"
+
+ - "c"
+
+ - "t"
+
+ - " "
+
+ - "o"
+
+ - "f"
+
+ - " "
+
+ - "d"
+
+ - "a"
+
+ - "y"
+
+ - "s"
+
+ - " "
+
+ - "a"
+
+ - "n"
+
+ - "d"
+
+ - " "
+
+ - "t"
+
+ - "i"
+
+ - "m"
+
+ - "e"
+
+ - "p"
+
+ - "e"
+
+ - "r"
+
+ - "i"
+
+ - "o"
+
+ - "d"
+
+ - "s"
+
+ - "."
+
+ - default: ""
+ - type: "dict"
+ - required: "no"
+
+- `icinga_user_templates`:
+ - Default: ``
+ - Description: A list of Icinga user_templates to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the user template."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `period`:
+ - description:
+
+ - "The name of a time period which determines when notifications to this User should be triggered. Not set by default."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `enable_notifications`:
+ - description:
+
+ - "Whether to send notifications for this user."
+
+ - default: ""
+ - type: "bool"
+ - required: "no"
+
+- `icinga_users`:
+ - Default: ``
+ - Description: A list of Icinga users to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Name of the user."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `display_name`:
+ - description:
+
+ - "Alternative name for this user."
+
+ - "In case your object name is a username, this could be the full name of the corresponding person."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `imports`:
+ - description:
+
+ - "Importable templates, add as many as you want."
+
+ - "Please note that order matters when importing properties from multiple templates - last one wins."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+ - `pager`:
+ - description:
+
+ - "The pager address of the user."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `period`:
+ - description:
+
+ - "The name of a time period which determines when notifications to this User should be triggered. Not set by default."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `disabled`:
+ - description:
+
+ - "Disabled objects will not be deployed."
+
+ - Choices:
+ - True
+ - False
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `email`:
+ - description:
+
+ - "The Email address of the user."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+ - `groups`:
+ - description:
+
+ - "User groups that should be directly assigned to this user."
+
+ - "Groups can be useful for various reasons. You might prefer to send notifications to groups instead of single users."
+
+ - default: ""
+ - type: "list"
+ - required: "no"
+
+- `icinga_zones`:
+ - Default: ``
+ - Description: A list of Icinga zones to configure
+ - Type: list of 'str'
+ - Required: no
+ - Options:
+
+ - `state`:
+ - description:
+
+ - "Apply feature state."
+
+ - Choices:
+ - present
+ - absent
+ - default: "present"
+ - type: "str"
+ - required: "no"
+
+ - `name`:
+ - description:
+
+ - "Icinga object name for this zone."
+
+ - "This is usually a fully qualified host name but it could basically be any kind of string."
+
+ - "To make things easier for your users we strongly suggest to use meaningful names for templates."
+
+ - "For example "generic-zone" is ugly, "Standard Linux Server" is easier to understand."
+
+ - default: ""
+ - type: "str"
+ - required: "yes"
+
+ - `is_global`:
+ - description:
+
+ - "Whether configuration files for this zone should be synced to all endpoints."
+
+ - default: "False"
+ - type: "bool"
+ - required: "no"
+
+ - `parent`:
+ - description:
+
+ - "The name of the parent zone."
+
+ - default: ""
+ - type: "str"
+ - required: "no"
+
+- `icinga_client_cert`:
+ - Default: ``
+ - 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, `client_key' is not required.
+ - Type: path
+ - Required: no
+
+- `icinga_client_key`:
+ - Default: ``
+ - Description: PEM formatted file that contains your private key to be used for SSL client authentication. If `client_cert' contains both the certificate and key, this option is not required.
+ - Type: path
+ - Required: no
+
+- `icinga_url`:
+ - Default: ``
+ - Description: HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
+ - Type: str
+ - Required: no
+
+- `icinga_url_password`:
+ - Default: ``
+ - Description: The password for use in HTTP basic authentication. If the `url_username' parameter is not specified, the `url_password' parameter will not be used.
+ - Type: str
+ - Required: no
+
+- `icinga_url_username`:
+ - Default: ``
+ - Description: The username for use in HTTP basic authentication. This parameter can be used without `url_password' for sites that allow empty passwords
+ - Type: str
+ - Required: no
+
+- `icinga_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 gssapi <https://github.com/pythongssapi/python- gssapi> to be installed. Credentials for GSSAPI can be specified with `url_username'/`url_password' or with the GSSAPI env var `KRB5CCNAME' that specified a custom Kerberos credential cache. NTLM authentication is `not' supported even if the GSSAPI mech for NTLM has been installed.
+ - Type: bool
+ - Required: no
+
+- `icinga_use_proxy`:
+ - Default: `true`
+ - Description: If `no', it will not use a proxy, even if one is defined in an environment variable on the target hosts.
+ - Type: bool
+ - Required: no
+
+- `icinga_validate_certs`:
+ - Default: `true`
+ - Description: If `no', SSL certificates will not be validated. icinga_This should only be used on personally controlled sites using selfigned certificates.
+ - Type: bool
+ - Required: no
+
## Dependencies
-collections:
-telekom_mms.icinga_director >= 1.2.2
+None.
-## Role Variables
-
-| Variable | Required | Default |
-| -------------------------------- | -------- | --------------------------- |
-| **icinga** |
-| url | yes |
-| use_proxy | no |
-| validate_certs | no |
-| url_username | yes |
-| url_password | yes |
-| force_basic_auth | no |
-| client_cert | no |
-| client_key | no |
-| **icinga_timeperiod** |
-| icinga_timeperiods | no | [] |
-| display_name | no |
-| imports | no |
-| ranges | no |
-| **icinga_user_template** |
-| icinga_user_templates | no | [] |
-| imports | no |
-| period | no |
-| enable_notifications | no |
-| **icinga_user** |
-| icinga_users | no | [] |
-| display_name | no |
-| imports | yes | [] |
-| pager | no |
-| period | no |
-| disabled | no |
-| email | yes | null |
-| **icinga_zone** |
-| icinga_zones | no | [] |
-| is_global | no |
-| parent | no |
-| **icinga_endpoint** |
-| icinga_endpoints | no | [] |
-| host | no |
-| port | no |
-| log_duration | no |
-| zone | no |
-| **icinga_hostgroup** |
-| icinga_hostgroups | no | [] |
-| display_name | no |
-| assign_filter | no | `host.name="hostgroup.1-*"` |
-| **icinga_host_template** |
-| icinga_host_templates | no | [] |
-| display_name | no |
-| address | no |
-| address6 | no |
-| groups | no |
-| check_command | no |
-| check_interval | no |
-| disabled | no |
-| imports | no |
-| zone | no |
-| vars | no |
-| notes | no |
-| notes_url | no |
-| **icinga_host** |
-| icinga_hosts | no | [] |
-| display_name | no |
-| address | no |
-| address6 | no |
-| groups | no |
-| disabled | no |
-| imports | yes | [] |
-| zone | no |
-| vars | no |
-| notes | no |
-| notes_url | no |
-| **icinga_command_template** |
-| icinga_command_templates | no | [] |
-| display_name | no |
-| command | no |
-| methods_execute | yes | PluginCheck |
-| timeout | no |
-| imports | no |
-| disabled | no |
-| zone | no |
-| vars | no |
-| arguments | no |
-| **icinga_command** |
-| icinga_commands | no | [] |
-| command_type | yes | PluginCheck |
-| disabled | yes | false |
-| imports | no |
-| zone | no |
-| vars | no |
-| **icinga_service** |
-| icinga_services | no | [] |
-| display_name | no |
-| disabled | no |
-| check_command | no |
-| check_interval | no |
-| check_period | no |
-| check_timeout | no |
-| enable_active_checks | no |
-| enable_event_handler | no |
-| enable_notifications | no |
-| enable_passive_checks | no |
-| enable_perfdata | no |
-| groups | no |
-| host | yes |
-| imports | no |
-| max_check_attempts | no |
-| notes | no |
-| notes_url | no |
-| retry_interval | no |
-| use_agent | no |
-| vars | no |
-| volatile | no |
-| **icinga_service_template** |
-| icinga_service_templates | no | [] |
-| display_name | no |
-| disabled | no |
-| check_command | no |
-| check_interval | no |
-| check_period | no |
-| check_timeout | no |
-| enable_active_checks | no |
-| enable_event_handler | no |
-| enable_notifications | no |
-| enable_passive_checks | no |
-| enable_perfdata | no |
-| groups | no |
-| imports | no |
-| max_check_attempts | no |
-| notes | no |
-| notes_url | no |
-| retry_interval | no |
-| use_agent | no |
-| vars | no |
-| volatile | no |
-| **icinga_service_apply** |
-| icinga_service_applys | no | [] |
-| display_name | no |
-| groups | no |
-| apply_for | no |
-| assign_filter | no |
-| imports | no |
-| vars | no |
-| notes | no |
-| notes_url | no |
-| **icinga_servicegroup** |
-| icinga_servicegroups | no | [] |
-| display_name | no |
-| assign_filter | no |
-| **icinga_notification_template** |
-| icinga_notification_templates | no | [] |
-| notification_template_object | no |
-| state | no |
-| notification_interval | no |
-| states | no |
-| types | no |
-| times_begin | no |
-| times_end | no |
-| timeperiod | no |
-| users | no |
-| user_groups | no |
-| notification_command | no |
-| imports | no |
-| **icinga_notification** |
-| icinga_notifications | no | [] |
-| notification_interval | no |
-| types | no |
-| users | no |
-| apply_to | no |
-| assign_filter | no |
-| imports | no |
-| period | no |
-| **icinga_scheduled_downtime** |
-| icinga_scheduled_downtimes | no | [] |
-| state | yes | present
-| disabled | no | false
-| assign_filter | no |
-| apply_to | yes |
-| author | yes |
-| comment | yes |
-| duration | no |
-| fixed | yes |
-| ranges | no |
-| with_services | no | true
+<!-- END_ANSIBLE_DOCS -->
## Example Playbook
```bash
----
-- hosts: localhost
- gather_facts: false
- collections:
- - telekom_mms.icinga_director
+- hosts: all
roles:
- - ansible_icinga
+ - telekom_mms.icinga_director.ansible_icinga
vars:
icinga_url: "https://example.com"
icinga_user: "{{ icinga_user }}"
icinga_pass: "{{ icinga_pass }}"
icinga_timeperiods:
- - timeperiod_object:
- - "8x5"
+ - "8x5":
ranges:
monday: "09:00-17:00"
tuesday: "09:00-17:00"
wednesday: "09:00-17:00"
thursday: "09:00-17:00"
friday: "09:00-17:00"
- - timeperiod_object:
- - "24x7"
+ - "24x7"
ranges:
monday: "00:00-24:00"
tuesday: "00:00-24:00"
@@ -243,21 +2068,18 @@ telekom_mms.icinga_director >= 1.2.2
saturday: "00:00-24:00"
sunday: "00:00-24:00"
icinga_users:
- - user_object:
- - "service_abbreviation_email_24x7"
+ - "email_24x7"
pager: "SIP/xxx"
- email: "service_abbreviation@example.com"
- - user_object:
- - "service_abbreviation_8x5"
- email: "service_abbreviation@example.com"
+ email: "foo@example.com"
+ - "service_abbreviation_8x5"
+ email: "foo@example.com"
+ icinga_user_groups:
+ - "user-group-example"
+ display_name: "User Group Example"
icinga_hostgroups:
- - hostgroup_object:
- - "service_abbreviation-environement"
- - "service_abbreviation-environement-web"
+ - "foo hosts"
icinga_hosts:
- - host_object:
- - "service_abbreviation-environement-web01"
- icinga_scheduled_downtimes:
- - scheduled_downtime_object:
- - "service_abbreviation-environement-downtime01"
+ - "foo-bar-web01"
+ icinga_scheduled_downtimes:
+ - "downtime01"
```
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/defaults/main.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/defaults/main.yml
index 9a9a68253..90dea36f0 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/defaults/main.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/defaults/main.yml
@@ -1,32 +1,26 @@
---
# icinga_timeperiod
icinga_timeperiods: []
-
# icinga_user_template
icinga_user_templates: []
-
# icinga_user
icinga_users: []
icinga_user_imports: []
icinga_user_disabled: false
-icinga_user_email: null
-
+icinga_user_email:
# icinga_endpoints
icinga_endpoints: []
-
# icinga_zone
icinga_zones: []
-
# icinga_hostgroup
icinga_hostgroups: []
-
+# icinga_user_group
+icinga_user_groups: []
# icinga_host_template
icinga_host_templates: []
-
# icinga_host
icinga_hosts: []
icinga_host_imports: []
-
# icinga_command_template
icinga_command_templates: []
icinga_command_template_command_type: PluginCheck
@@ -38,21 +32,15 @@ icinga_command_disabled: false
# icinga_service
icinga_services: []
-
# icinga_serviceset
icinga_servicesets: []
-
# icinga_service_template
icinga_service_templates: []
-
# icinga_service_apply
icinga_service_applies: []
-
# servicegroup
icinga_servicegroups: []
-
# icinga_notification
icinga_notifications: []
-
# icinga deploy
icinga_deploy_config: false
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/handlers/main.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/handlers/main.yml
index e83f67c03..9e82c9f44 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/handlers/main.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/handlers/main.yml
@@ -2,7 +2,13 @@
- name: Deploy the icinga config
telekom_mms.icinga_director.icinga_deploy:
url: "{{ icinga_url }}"
+ use_proxy: "{{ icinga_use_proxy | default(omit) }}"
+ validate_certs: "{{ icinga_validate_certs | default(omit) }}"
+ force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
+ client_cert: "{{ icinga_client_cert | default(omit) }}"
+ client_key: "{{ icinga_client_key | default(omit) }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
+ timeout: "{{ icinga_deploy_timeout | default(omit) }}"
when: icinga_deploy_config and icinga_deploy_config is defined
- listen: config_deploy \ No newline at end of file
+ listen: config_deploy
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/argument_specs.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/argument_specs.yml
new file mode 100644
index 000000000..595ee392f
--- /dev/null
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/argument_specs.yml
@@ -0,0 +1,1345 @@
+---
+argument_specs:
+ main:
+ short_description: Configure an Icinga instance with Icinga Director
+ description:
+ - >-
+ The main entry point includes all tasks for objects that can be created
+ with the role.
+ options:
+ icinga_timeperiods:
+ description:
+ - A list of Icinga timeperiods to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the time period.
+ type: str
+ display_name:
+ description:
+ - Alternative name for this timeperiod.
+ type: str
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ ranges:
+ description: A dict of days and timeperiods.
+ type: dict
+ icinga_user_templates:
+ description:
+ - A list of Icinga user_templates to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the user template.
+ required: true
+ type: str
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ period:
+ description:
+ - >-
+ The name of a time period which determines when notifications to
+ this User should be triggered. Not set by default.
+ type: str
+ enable_notifications:
+ description:
+ - Whether to send notifications for this user.
+ type: bool
+ icinga_users:
+ description:
+ - A list of Icinga users to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the user.
+ required: true
+ type: str
+ display_name:
+ description:
+ - Alternative name for this user.
+ - >-
+ In case your object name is a username, this could be the full
+ name of the corresponding person.
+ type: str
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ pager:
+ description:
+ - The pager address of the user.
+ type: str
+ period:
+ description:
+ - >-
+ The name of a time period which determines when notifications to
+ this User should be triggered. Not set by default.
+ type: str
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ email:
+ description:
+ - The Email address of the user.
+ type: str
+ groups:
+ description:
+ - User groups that should be directly assigned to this user.
+ - >-
+ Groups can be useful for various reasons. You might prefer to
+ send notifications to groups instead of single users.
+ type: list
+ elements: str
+ icinga_endpoints:
+ description:
+ - A list of Icinga endpoints to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Icinga object name for this endpoint.
+ - >-
+ This is usually a fully qualified host name but it could
+ basically be any kind of string.
+ - >-
+ To make things easier for your users we strongly suggest to use
+ meaningful names for templates.
+ - >-
+ For example "generic-endpoint" is ugly, "Standard Linux Server"
+ is easier to understand.
+ required: true
+ type: str
+ host:
+ description:
+ - The hostname/IP address of the remote Icinga 2 instance.
+ type: str
+ port:
+ description:
+ - >-
+ The service name/port of the remote Icinga 2 instance. Defaults
+ to 5665.
+ type: int
+ log_duration:
+ description:
+ - >-
+ Duration for keeping replay logs on connection loss. Defaults to
+ 1d (86400 seconds). Attribute is specified in seconds. If
+ log_duration is set to 0, replaying logs is disabled. You could
+ also specify the value in human readable format like 10m for 10
+ minutes or 1h for one hour.
+ type: str
+ zone:
+ description:
+ - The name of the zone this endpoint is part of.
+ type: str
+ icinga_zones:
+ description:
+ - A list of Icinga zones to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Icinga object name for this zone.
+ - >-
+ This is usually a fully qualified host name but it could
+ basically be any kind of string.
+ - >-
+ To make things easier for your users we strongly suggest to use
+ meaningful names for templates.
+ - >-
+ For example "generic-zone" is ugly, "Standard Linux Server" is
+ easier to understand.
+ required: true
+ type: str
+ is_global:
+ description:
+ - >-
+ Whether configuration files for this zone should be synced to
+ all endpoints.
+ default: false
+ type: bool
+ parent:
+ description:
+ - The name of the parent zone.
+ type: str
+ icinga_hostgroups:
+ description:
+ - A list of Icinga hostgroups to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Icinga object name for this hostgroup.
+ required: true
+ type: str
+ display_name:
+ description:
+ - An alternative display name for this group.
+ - If you wonder how this could be helpful just leave it blank.
+ type: str
+ assign_filter:
+ description:
+ - This allows you to configure an assignment filter.
+ - >-
+ Please feel free to combine as many nested operators as you
+ want.
+ type: str
+ icinga_host_templates:
+ description:
+ - A list of Icinga host_templates to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Icinga object name for this host template.
+ - >-
+ This is usually a fully qualified host name but it could
+ basically be any kind of string.
+ - >-
+ To make things easier for your users we strongly suggest to use
+ meaningful names for templates.
+ - >-
+ For example "generic-host" is ugly, "Standard Linux Server" is
+ easier to understand.
+ required: true
+ type: str
+ display_name:
+ description:
+ - Alternative name for this host.
+ - >-
+ Might be a host alias or and kind of string helping your users
+ to identify this host.
+ type: str
+ address:
+ description:
+ - >-
+ Host address. Usually an IPv4 address, but may be any kind of
+ address your check plugin is able to deal with.
+ type: str
+ address6:
+ description:
+ - >-
+ Host IPv6 address. Usually an IPv64 address, but may be any kind
+ of address your check plugin is able to deal with.
+ type: str
+ groups:
+ description:
+ - >-
+ Hostgroups that should be directly assigned to this node.
+ Hostgroups can be useful for various reasons.
+ - >-
+ You might assign service checks based on assigned hostgroup.
+ They are also often used as an instrument to enforce restricted
+ views in Icinga Web 2.
+ - >-
+ Hostgroups can be directly assigned to single hosts or to host
+ templates.
+ - >-
+ You might also want to consider assigning hostgroups using apply
+ rules.
+ type: list
+ elements: str
+ default: []
+ check_command:
+ description:
+ - The name of the check command.
+ - >-
+ Though this is not required to be defined in the director, you
+ still have to supply a check_command in a host or host-template.
+ type: str
+ event_command:
+ description:
+ - >-
+ Event command for host which gets called on every check
+ execution if one of these conditions matches
+ - The host is in a soft state
+ - The host state changes into a hard state
+ - The host state recovers from a soft or hard state to OK/Up
+ type: str
+ check_interval:
+ description:
+ - Your regular check interval.
+ type: str
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ default: false
+ type: bool
+ choices:
+ - true
+ - false
+ imports:
+ description:
+ - Choose a host-template.
+ type: list
+ elements: str
+ zone:
+ description:
+ - Set the zone.
+ type: str
+ vars:
+ description:
+ - Custom properties of the host.
+ type: dict
+ notes:
+ description:
+ - Additional notes for this object.
+ type: str
+ version_added: 1.8.0
+ notes_url:
+ description:
+ - An URL pointing to additional notes for this object.
+ - Separate multiple urls like this "http://url1 http://url2"
+ - Maximum length is 255 characters.
+ type: str
+ version_added: 1.8.0
+ has_agent:
+ description:
+ - Whether this host has the Icinga 2 Agent installed.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ master_should_connect:
+ description:
+ - >-
+ Whether the parent (master) node should actively try to connect
+ to this agent.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ accept_config:
+ description:
+ - Whether the agent is configured to accept config.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ icinga_hosts:
+ description:
+ - A list of Icinga hosts to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Icinga object name for this host.
+ - >-
+ This is usually a fully qualified host name but it could
+ basically be any kind of string.
+ - >-
+ To make things easier for your users we strongly suggest to use
+ meaningful names for templates.
+ - >-
+ For example "generic-host" is ugly, "Standard Linux Server" is
+ easier to understand.
+ required: true
+ type: str
+ display_name:
+ description:
+ - >-
+ Alternative name for this host. Might be a host alias or and
+ kind of string helping your users to identify this host.
+ type: str
+ address:
+ description:
+ - >-
+ Host address. Usually an IPv4 address, but may be any kind of
+ address your check plugin is able to deal with.
+ type: str
+ address6:
+ description:
+ - >-
+ Host IPv6 address. Usually an IPv6 address, but may be any kind
+ of address your check plugin is able to deal with.
+ type: str
+ version_added: 1.4.0
+ groups:
+ description:
+ - >-
+ Hostgroups that should be directly assigned to this node.
+ Hostgroups can be useful for various reasons.
+ - >-
+ You might assign service checks based on assigned hostgroup.
+ They are also often used as an instrument to enforce restricted
+ views in Icinga Web 2.
+ - >-
+ Hostgroups can be directly assigned to single hosts or to host
+ templates.
+ - >-
+ You might also want to consider assigning hostgroups using apply
+ rules.
+ type: list
+ elements: str
+ default: []
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ default: false
+ type: bool
+ choices:
+ - true
+ - false
+ imports:
+ description:
+ - Choose a Host Template. Required when state is C(present).
+ type: list
+ elements: str
+ required: true
+ zone:
+ description:
+ - Set the zone.
+ type: str
+ vars:
+ description:
+ - Custom properties of the host.
+ type: dict
+ check_command:
+ description:
+ - The name of the check command.
+ - >-
+ Though this is not required to be defined in the director, you
+ still have to supply a check_command in a host or host-template.
+ type: str
+ notes:
+ description:
+ - Additional notes for this object.
+ type: str
+ version_added: 1.8.0
+ notes_url:
+ description:
+ - An URL pointing to additional notes for this object.
+ - Separate multiple urls like this "http://url1 http://url2"
+ - The maximum length is 255 characters.
+ type: str
+ version_added: 1.8.0
+ has_agent:
+ description:
+ - Whether this host has the Icinga 2 Agent installed.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ master_should_connect:
+ description:
+ - >-
+ Whether the parent (master) node should actively try to connect
+ to this agent.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ accept_config:
+ description:
+ - Whether the agent is configured to accept config.
+ type: bool
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ icinga_command_templates:
+ description:
+ - A list of Icinga command_templates to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ 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
+ command_type:
+ 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.
+ choices:
+ - PluginCheck
+ - PluginNotification
+ - PluginEvent
+ default: PluginCheck
+ type: str
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ name:
+ description:
+ - Name of the command template.
+ required: true
+ type: str
+ imports:
+ description:
+ - >-
+ Importable templates, add as many as you want. Please note that
+ order matters when importing properties from multiple templates
+ - last one wins.
+ type: list
+ elements: str
+ 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
+ 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
+ vars:
+ description:
+ - Custom properties of the command template.
+ type: dict
+ arguments:
+ description:
+ - Arguments of the command template.
+ type: dict
+ icinga_commands:
+ description:
+ - A list of Icinga commands to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ command:
+ description:
+ - >-
+ The command Icinga should run. Required when state is
+ C(present).
+ - >-
+ 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
+ command_type:
+ 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.
+ choices:
+ - PluginCheck
+ - PluginNotification
+ - PluginEvent
+ default: PluginCheck
+ type: str
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ name:
+ description:
+ - Name of the command.
+ required: true
+ type: str
+ imports:
+ description:
+ - >-
+ Importable templates, add as many as you want. Please note that
+ order matters when importing properties from multiple templates
+ - last one wins.
+ type: list
+ elements: str
+ 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
+ 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
+ vars:
+ description:
+ - Custom properties of the command.
+ type: dict
+ arguments:
+ description:
+ - Arguments of the command.
+ type: dict
+ icinga_services:
+ description:
+ - A list of Icinga services to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the service.
+ required: true
+ type: str
+ check_command:
+ description:
+ - Check command definition.
+ type: str
+ check_interval:
+ description:
+ - Your regular check interval.
+ type: str
+ check_period:
+ description:
+ - >-
+ The name of a time period which determines when this object
+ should be monitored. Not limited by default.
+ type: str
+ check_timeout:
+ description:
+ - >-
+ Check command timeout in seconds. Overrides the CheckCommand's
+ timeout attribute.
+ type: str
+ enable_active_checks:
+ description:
+ - Whether to actively check this object.
+ type: bool
+ enable_event_handler:
+ description:
+ - Whether to enable event handlers this object.
+ type: bool
+ enable_notifications:
+ description:
+ - Whether to send notifications for this object.
+ type: bool
+ enable_passive_checks:
+ description:
+ - Whether to accept passive check results for this object.
+ type: bool
+ enable_perfdata:
+ description:
+ - Whether to process performance data provided by this object.
+ type: bool
+ groups:
+ description:
+ - Service groups that should be directly assigned to this service.
+ - Servicegroups can be useful for various reasons.
+ - >-
+ They are helpful to provided service-type specific view in
+ Icinga Web 2, either for custom dashboards or as an instrument
+ to enforce restrictions.
+ - >-
+ Service groups can be directly assigned to single services or to
+ service templates.
+ type: list
+ elements: str
+ default: []
+ host:
+ description:
+ - Choose the host this single service should be assigned to.
+ required: true
+ type: str
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ default: []
+ max_check_attempts:
+ description:
+ - >-
+ Defines after how many check attempts a new hard state is
+ reached.
+ type: str
+ notes:
+ description:
+ - Additional notes for this object.
+ type: str
+ version_added: 1.8.0
+ notes_url:
+ description:
+ - An URL pointing to additional notes for this object.
+ - Separate multiple urls like this "http://url1 http://url2"
+ - Maximum length is 255 characters.
+ type: str
+ version_added: 1.8.0
+ retry_interval:
+ description:
+ - >-
+ Retry interval, will be applied after a state change unless the
+ next hard state is reached.
+ type: str
+ use_agent:
+ description:
+ - >-
+ Whether the check command for this service should be executed on
+ the Icinga agent.
+ type: bool
+ vars:
+ description:
+ - Custom properties of the service.
+ type: dict
+ default: {}
+ volatile:
+ description:
+ - Whether this check is volatile.
+ type: bool
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ icinga_service_templates:
+ description:
+ - A list of Icinga service_templates to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the service template.
+ required: true
+ type: str
+ check_command:
+ description:
+ - Check command definition.
+ type: str
+ check_interval:
+ description:
+ - Your regular check interval.
+ type: str
+ check_period:
+ description:
+ - >-
+ The name of a time period which determines when this object
+ should be monitored. Not limited by default.
+ type: str
+ check_timeout:
+ description:
+ - >-
+ Check command timeout in seconds. Overrides the CheckCommand's
+ timeout attribute.
+ type: str
+ enable_active_checks:
+ description:
+ - Whether to actively check this object.
+ type: bool
+ enable_event_handler:
+ description:
+ - Whether to enable event handlers this object.
+ type: bool
+ enable_notifications:
+ description:
+ - Whether to send notifications for this object.
+ type: bool
+ enable_passive_checks:
+ description:
+ - Whether to accept passive check results for this object.
+ type: bool
+ enable_perfdata:
+ description:
+ - Whether to process performance data provided by this object.
+ type: bool
+ event_command:
+ description:
+ - >-
+ Event command for service which gets called on every check
+ execution if one of these conditions matches
+ - The service is in a soft state
+ - The service state changes into a hard state
+ - The service state recovers from a soft or hard state to OK/Up
+ type: str
+ groups:
+ description:
+ - Service groups that should be directly assigned to this service.
+ - Servicegroups can be useful for various reasons.
+ - >-
+ They are helpful to provided service-type specific view in
+ Icinga Web 2, either for custom dashboards or as an instrument
+ to enforce restrictions.
+ - >-
+ Service groups can be directly assigned to single services or to
+ service templates.
+ type: list
+ elements: str
+ default: []
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ default: []
+ max_check_attempts:
+ description:
+ - >-
+ Defines after how many check attempts a new hard state is
+ reached.
+ type: str
+ notes:
+ description:
+ - Additional notes for this object.
+ type: str
+ version_added: 1.8.0
+ notes_url:
+ description:
+ - An URL pointing to additional notes for this object.
+ - Separate multiple urls like this "http://url1 http://url2"
+ - Maximum length is 255 characters.
+ type: str
+ version_added: 1.8.0
+ retry_interval:
+ description:
+ - >-
+ Retry interval, will be applied after a state change unless the
+ next hard state is reached.
+ type: str
+ use_agent:
+ description:
+ - >-
+ Whether the check command for this service should be executed
+ on the Icinga agent.
+ type: bool
+ vars:
+ description:
+ - Custom properties of the service template.
+ type: dict
+ default: {}
+ volatile:
+ description:
+ - Whether this check is volatile.
+ type: bool
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ icinga_service_applies:
+ description:
+ - A list of Icinga service_applies to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name for the Icinga service apply rule.
+ required: true
+ type: str
+ display_name:
+ description:
+ - Alternative displayed name of the service apply rule.
+ type: str
+ check_command:
+ description:
+ - Check command definition.
+ type: str
+ version_added: 1.7.0
+ check_interval:
+ description:
+ - Your regular check interval.
+ required: false
+ type: str
+ check_period:
+ description:
+ - >-
+ The name of a time period which determines when this object
+ should be monitored. Not limited by default.
+ required: false
+ type: str
+ check_timeout:
+ description:
+ - >-
+ Check command timeout in seconds. Overrides the CheckCommand's
+ timeout attribute.
+ required: false
+ type: str
+ enable_active_checks:
+ description:
+ - Whether to actively check this object.
+ required: false
+ type: bool
+ enable_event_handler:
+ description:
+ - Whether to enable event handlers this object.
+ required: false
+ type: bool
+ enable_notifications:
+ description:
+ - Whether to send notifications for this object.
+ required: false
+ type: bool
+ enable_passive_checks:
+ description:
+ - Whether to accept passive check results for this object.
+ required: false
+ type: bool
+ enable_perfdata:
+ description:
+ - Whether to process performance data provided by this object.
+ required: false
+ type: bool
+ max_check_attempts:
+ description:
+ - >-
+ Defines after how many check attempts a new hard state is
+ reached.
+ required: false
+ type: str
+ retry_interval:
+ description:
+ - >-
+ Retry interval, will be applied after a state change unless the
+ next hard state is reached.
+ required: false
+ type: str
+ groups:
+ description:
+ - Service groups that should be directly assigned to this service.
+ - Servicegroups can be useful for various reasons.
+ - >-
+ They are helpful to provided service-type specific view in
+ Icinga Web 2, either for custom dashboards or as an instrument
+ to enforce restrictions.
+ - >-
+ Service groups can be directly assigned to single services or to
+ service templates.
+ type: list
+ elements: str
+ apply_for:
+ description:
+ - >-
+ Evaluates the apply for rule for all objects with the custom
+ attribute specified.
+ - >-
+ For example selecting "host.vars.custom_attr" will generate "for
+ (config in host.vars.array_var)" where "config" will be
+ accessible through "$config$".
+ - Note - only custom variables of type "Array" are eligible.
+ type: str
+ assign_filter:
+ description:
+ - The filter where the service apply rule will take effect.
+ type: str
+ command_endpoint:
+ description:
+ - The host where the service should be executed on.
+ type: str
+ imports:
+ description:
+ - Importable templates, add as many as you want.
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ vars:
+ description:
+ - Custom properties of the service apply rule.
+ type: dict
+ notes:
+ description:
+ - Additional notes for this object.
+ type: str
+ notes_url:
+ description:
+ - An URL pointing to additional notes for this object.
+ - Separate multiple urls like this "http://url1 http://url2"
+ - Maximum length is 255 characters.
+ type: str
+ icinga_servicegroups:
+ description:
+ - A list of Icinga sservicegroups to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name for the Icinga servicegroup.
+ required: true
+ type: str
+ display_name:
+ description:
+ - An alternative display name for this group.
+ - If you wonder how this could be helpful just leave it blank.
+ type: str
+ assign_filter:
+ description:
+ - This allows you to configure an assignment filter.
+ - >-
+ Please feel free to combine as many nested operators as you
+ want.
+ type: str
+ icinga_notifications:
+ description:
+ - A list of Icinga notifications to configure
+ type: list
+ elements: str
+ options:
+ state:
+ description:
+ - Apply feature state.
+ choices:
+ - present
+ - absent
+ default: present
+ type: str
+ name:
+ description:
+ - Name of the notification.
+ required: true
+ type: str
+ notification_interval:
+ description:
+ - >-
+ The notification interval (in seconds). This interval is used
+ for active notifications.
+ - >-
+ Defaults to 30 minutes. If set to 0, re-notifications are
+ disabled.
+ type: str
+ types:
+ description:
+ - The state transition types you want to get notifications for.
+ type: list
+ elements: str
+ users:
+ description:
+ - Users that should be notified by this notification.
+ type: list
+ elements: str
+ states:
+ description:
+ - The host or service states you want to get notifications for.
+ type: list
+ elements: str
+ version_added: 1.9.0
+ apply_to:
+ description:
+ - Whether this notification should affect hosts or services.
+ required: true
+ type: str
+ choices:
+ - host
+ - service
+ assign_filter:
+ description:
+ - The filter where the notification will take effect.
+ type: str
+ imports:
+ description:
+ - >-
+ Importable templates, add as many as you want. Required when
+ state is C(present).
+ - >-
+ Please note that order matters when importing properties from
+ multiple templates - last one wins.
+ type: list
+ elements: str
+ disabled:
+ description:
+ - Disabled objects will not be deployed.
+ type: bool
+ default: false
+ choices:
+ - true
+ - false
+ version_added: 1.9.0
+ vars:
+ description:
+ - Custom properties of the notification.
+ type: dict
+ version_added: 1.9.0
+ time_period:
+ description:
+ - >-
+ The name of a time period which determines when this
+ notification should be triggered.
+ type: strod
+ version_added: 1.15.0
+ times_begin:
+ description:
+ - First notification delay.
+ - Delay unless the first notification should be sent.
+ type: int
+ version_added: 1.15.0
+ times_end:
+ description:
+ - Last notification.
+ - When the last notification should be sent.
+ type: int
+ version_added: 1.15.0
+ user_groups:
+ description:
+ - User Groups that should be notified by this notification.
+ type: list
+ elements: str
+ version_added: 1.16.0
+ icinga_service_apply:
+ short_description: Configure an Icinga instance with Icinga Director
+ description:
+ - >-
+ The main entry point includes all tasks for objects that can be created
+ with the role.
+ options:
+ icinga_url:
+ description:
+ - >-
+ HTTP, HTTPS, or FTP URL in the form
+ (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
+ type: str
+ icinga_url_password:
+ description:
+ - >-
+ The password for use in HTTP basic authentication. If the
+ `url_username' parameter is not specified, the `url_password'
+ parameter will not be used.
+ type: str
+ icinga_url_username:
+ description:
+ - >-
+ The username for use in HTTP basic authentication. This parameter
+ can be used without `url_password' for sites that allow empty
+ passwords
+ type: str
+ icinga_use_gssapi:
+ description:
+ - >-
+ Use GSSAPI to perform the authentication, typically this is for
+ Kerberos or Kerberos through Negotiate authentication. Requires the
+ Python library gssapi <https://github.com/pythongssapi/python-
+ gssapi> to be installed. Credentials for GSSAPI can be specified
+ with `url_username'/`url_password' or with the GSSAPI env var
+ `KRB5CCNAME' that specified a custom Kerberos credential cache. NTLM
+ authentication is `not' supported even if the GSSAPI mech for NTLM
+ has been installed.
+ default: false
+ type: bool
+ icinga_use_proxy:
+ description:
+ - >-
+ If `no', it will not use a proxy, even if one is defined in an
+ environment variable on the target hosts.
+ default: true
+ type: bool
+ icinga_validate_certs:
+ description:
+ - >-
+ If `no', SSL certificates will not be validated. icinga_This should
+ only be used on personally controlled sites using selfigned
+ certificates.
+ default: true
+ type: bool
+ icinga_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, `client_key' is not required.
+ type: path
+ icinga_client_key:
+ description:
+ - >-
+ PEM formatted file that contains your private key to be used for SSL
+ client authentication. If `client_cert' contains both the
+ certificate and key, this option is not required.
+ type: path
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/main.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/main.yml
index a8a645323..de1ee749b 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/main.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/meta/main.yml
@@ -2,9 +2,12 @@
collections:
- telekom_mms.icinga_director
galaxy_info:
+ role_name: ansible_icinga
author: telekom_mms
- description: icinga configuration
+ description: This role is used to configure an Icinga Instance over its Icinga Director.
license: GPLv3
min_ansible_version: 2.9
galaxy_tags:
- icinga
+ platforms:
+ - name: all
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command.yml
index 23eea8e0c..01f5f90f4 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command.yml
@@ -1,7 +1,5 @@
---
-# command.1 = command array
-# command.0 = icinga_command attribute
-- name: icinga_command
+- name: Icinga_command
icinga_command:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,21 +9,21 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ command.0.state | default(omit) }}"
- command: "{{ command.0.command | default(omit) }}"
- command_type: "{{ command.0.command_type | default(icinga_command_type) }}"
- disabled: "{{ command.0.disabled | default(icinga_command_disabled) }}"
- object_name: "{{ command.1 }}"
- imports: "{{ command.0.imports | default(omit) }}"
- timeout: "{{ command.0.timeout | default(omit) }}"
- zone: "{{ command.0.zone | default(omit) }}"
- vars: "{{ command.0.vars | default(omit) }}"
- arguments: "{{ command.0.arguments | default(omit) }}"
+ state: "{{ command.state | default(omit) }}"
+ command: "{{ command.command | default(omit) }}"
+ command_type: "{{ command.command_type | default(icinga_command_type) }}"
+ disabled: "{{ command.disabled | default(icinga_command_disabled) }}"
+ object_name: "{{ command.name }}"
+ imports: "{{ command.imports | default(omit) }}"
+ timeout: "{{ command.timeout | default(omit) }}"
+ zone: "{{ command.zone | default(omit) }}"
+ vars: "{{ command.vars | default(omit) }}"
+ arguments: "{{ command.arguments | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_commands|subelements('command_object') }}"
+ loop: "{{ icinga_commands }}"
loop_control:
loop_var: command
tags: command
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command_template.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command_template.yml
index 85b2a0fae..4056079f4 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command_template.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_command_template.yml
@@ -1,7 +1,5 @@
---
-# command_template.1 = command_template array
-# command_template.0 = icinga_command_template attribute
-- name: icinga_command_template
+- name: Icinga_command_template
icinga_command_template:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,22 +9,22 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ command_template.0.state | default(omit) }}"
- object_name: "{{ command_template.1 }}"
- display_name: "{{ command_template.0.display_name | default(omit) }}"
- command: "{{ command_template.0.command | default(omit) }}"
- command_type: "{{ command_template.0.command_type | default(icinga_command_template_command_type) }}"
- timeout: "{{ command_template.0.timeout | default(omit) }}"
- imports: "{{ command_template.0.imports | default(omit) }}"
- disabled: "{{ command_template.0.disabled | default(omit) }}"
- zone: "{{ command_template.0.zone | default(omit) }}"
- vars: "{{ command_template.0.vars | default(omit) }}"
- arguments: "{{ command_template.0.arguments | default(omit) }}"
+ state: "{{ command_template.state | default(omit) }}"
+ object_name: "{{ command_template.name }}"
+ display_name: "{{ command_template.display_name | default(omit) }}"
+ command: "{{ command_template.command | default(omit) }}"
+ command_type: "{{ command_template.command_type | default(icinga_command_template_command_type) }}"
+ timeout: "{{ command_template.timeout | default(omit) }}"
+ imports: "{{ command_template.imports | default(omit) }}"
+ disabled: "{{ command_template.disabled | default(omit) }}"
+ zone: "{{ command_template.zone | default(omit) }}"
+ vars: "{{ command_template.vars | default(omit) }}"
+ arguments: "{{ command_template.arguments | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_command_templates|subelements('command_template_object') }}"
+ loop: "{{ icinga_command_templates }}"
loop_control:
loop_var: command_template
tags: command_template
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_endpoint.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_endpoint.yml
index 7373398a0..d8f3125e5 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_endpoint.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_endpoint.yml
@@ -1,7 +1,5 @@
---
-# endpoint.1 = endpoint array
-# endpoint.0 = icinga_endpoint attribute
-- name: icinga_endpoint
+- name: Icinga_endpoint
icinga_endpoint:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,17 +9,17 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ endpoint.0.state | default(omit) }}"
- object_name: "{{ endpoint.1 }}"
- host: "{{ endpoint.0.host | default(omit) }}"
- port: "{{ endpoint.0.port | default(omit) }}"
- log_duration: "{{ endpoint.0.log_duration | default(omit) }}"
- zone: "{{ endpoint.0.zone | default(omit) }}"
+ state: "{{ endpoint.state | default(omit) }}"
+ object_name: "{{ endpoint.name }}"
+ host: "{{ endpoint.host | default(omit) }}"
+ port: "{{ endpoint.port | default(omit) }}"
+ log_duration: "{{ endpoint.log_duration | default(omit) }}"
+ zone: "{{ endpoint.zone | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_endpoints|subelements('endpoint_object') }}"
+ loop: "{{ icinga_endpoints }}"
loop_control:
loop_var: endpoint
tags: endpoint
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host.yml
index 8e4fb6cf8..0bd3eb3e5 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host.yml
@@ -1,55 +1,53 @@
---
-# host.1 = host array
-# host.0 = icinga_host attribute
-- name: icinga_host
+- name: Icinga_host
icinga_host:
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
- state: "{{ host.0.state | default(omit) }}"
+ state: "{{ host.state | default(omit) }}"
url_password: "{{ icinga_pass }}"
url_username: "{{ icinga_user }}"
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
validate_certs: "{{ icinga_validate_certs | default(omit) }}"
- accept_config: "{{ host.0.accept_config | default(omit) }}"
- address: "{{ host.0.address | default(omit) }}"
- address6: "{{ host.0.address6 | default(omit) }}"
- check_command: "{{ host.0.check_command | default(omit) }}"
- check_interval: "{{ host.0.check_interval | default(omit) }}"
- check_period: "{{ host.0.check_period | default(omit) }}"
- check_timeout: "{{ host.0.check_timeout | default(omit) }}"
+ accept_config: "{{ host.accept_config | default(omit) }}"
+ address: "{{ host.address | default(omit) }}"
+ address6: "{{ host.address6 | default(omit) }}"
+ check_command: "{{ host.check_command | default(omit) }}"
+ check_interval: "{{ host.check_interval | default(omit) }}"
+ check_period: "{{ host.check_period | default(omit) }}"
+ check_timeout: "{{ host.check_timeout | default(omit) }}"
command_endpoint: "{{ command_endpoint | default(omit) }}"
- disabled: "{{ host.0.disabled | default(omit) }}"
- display_name: "{{ host.0.display_name | default(omit) }}"
- enable_active_checks: "{{ host.0.enable_active_checks | default(omit) }}"
- enable_event_handler: "{{ host.0.enable_event_handler | default(omit) }}"
- enable_flapping: "{{ host.0.enable_flapping | default(omit) }}"
- enable_notifications: "{{ host.0.enable_notifications | default(omit) }}"
- enable_passive_checks: "{{ host.0.enable_passive_checks | default(omit) }}"
- enable_perfdata: "{{ host.0.enable_perfdata | default(omit) }}"
- event_command: "{{ host.0.event_command | default(omit) }}"
- flapping_threshold_high: "{{ host.0.flapping_threshold_high | default(omit) }}"
- flapping_threshold_low: "{{ host.0.flapping_threshold_low | default(omit) }}"
- groups: "{{ host.0.groups | default(omit) }}"
- has_agent: "{{ host.0.has_agent | default(omit) }}"
- icon_image_alt: "{{ host.0.icon_image_alt | default(omit) }}"
- icon_image: "{{ host.0.icon_image | default(omit) }}"
- imports: "{{ host.0.imports | default(icinga_host_imports) }}"
- master_should_connect: "{{ host.0.master_should_connect | default(omit) }}"
- max_check_attempts: "{{ host.0.max_check_attempts | default(omit) }}"
- notes_url: "{{ host.0.notes_url | default(omit) }}"
- notes: "{{ host.0.notes | default(omit) }}"
- object_name: "{{ host.1 }}"
- retry_interval: "{{ host.0.retry_interval | default(omit) }}"
- vars: "{{ host.0.vars | default(omit) }}"
- volatile: "{{ host.0.volatile | default(omit) }}"
- zone: "{{ host.0.zone | default(omit) }}"
+ disabled: "{{ host.disabled | default(omit) }}"
+ display_name: "{{ host.display_name | default(omit) }}"
+ enable_active_checks: "{{ host.enable_active_checks | default(omit) }}"
+ enable_event_handler: "{{ host.enable_event_handler | default(omit) }}"
+ enable_flapping: "{{ host.enable_flapping | default(omit) }}"
+ enable_notifications: "{{ host.enable_notifications | default(omit) }}"
+ enable_passive_checks: "{{ host.enable_passive_checks | default(omit) }}"
+ enable_perfdata: "{{ host.enable_perfdata | default(omit) }}"
+ event_command: "{{ host.event_command | default(omit) }}"
+ flapping_threshold_high: "{{ host.flapping_threshold_high | default(omit) }}"
+ flapping_threshold_low: "{{ host.flapping_threshold_low | default(omit) }}"
+ groups: "{{ host.groups | default(omit) }}"
+ has_agent: "{{ host.has_agent | default(omit) }}"
+ icon_image_alt: "{{ host.icon_image_alt | default(omit) }}"
+ icon_image: "{{ host.icon_image | default(omit) }}"
+ imports: "{{ host.imports | default(icinga_host_imports) }}"
+ master_should_connect: "{{ host.master_should_connect | default(omit) }}"
+ max_check_attempts: "{{ host.max_check_attempts | default(omit) }}"
+ notes_url: "{{ host.notes_url | default(omit) }}"
+ notes: "{{ host.notes | default(omit) }}"
+ object_name: "{{ host.name }}"
+ retry_interval: "{{ host.retry_interval | default(omit) }}"
+ vars: "{{ host.vars | default(omit) }}"
+ volatile: "{{ host.volatile | default(omit) }}"
+ zone: "{{ host.zone | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_hosts|subelements('host_object') }}"
+ loop: "{{ icinga_hosts }}"
loop_control:
loop_var: host
tags: host
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host_template.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host_template.yml
index bad32814d..341848f07 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host_template.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_host_template.yml
@@ -1,54 +1,52 @@
---
-# host_template.1 = host_template array
-# host_template.0 = icinga_host_template attribute
-- name: icinga_host_template
+- name: Icinga_host_template
icinga_host_template:
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
- state: "{{ host.0.state | default(omit) }}"
+ state: "{{ host.state | default(omit) }}"
url_password: "{{ icinga_pass }}"
url_username: "{{ icinga_user }}"
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
validate_certs: "{{ icinga_validate_certs | default(omit) }}"
- accept_config: "{{ host_template.0.accept_config | default(omit) }}"
- address: "{{ host_template.0.address | default(omit) }}"
- address6: "{{ host_template.0.address6 | default(omit) }}"
- check_command: "{{ host_template.0.check_command | default(omit) }}"
- check_interval: "{{ host_template.0.check_interval | default(omit) }}"
- check_period: "{{ host_template.0.check_period | default(omit) }}"
- check_timeout: "{{ host_template.0.check_timeout | default(omit) }}"
- disabled: "{{ host_template.0.disabled | default(omit) }}"
- display_name: "{{ host_template.0.display_name | default(omit) }}"
- enable_active_checks: "{{ host_template.0.enable_active_checks | default(omit) }}"
- enable_event_handler: "{{ host_template.0.enable_event_handler | default(omit) }}"
- enable_flapping: "{{ host_template.0.enable_flapping | default(omit) }}"
- enable_notifications: "{{ host_template.0.enable_notifications | default(omit) }}"
- enable_passive_checks: "{{ host_template.0.enable_passive_checks | default(omit) }}"
- enable_perfdata: "{{ host_template.0.enable_perfdata | default(omit) }}"
- event_command: "{{ host_template.0.event_command | default(omit) }}"
- flapping_threshold_high: "{{ host_template.0.flapping_threshold_high | default(omit) }}"
- flapping_threshold_low: "{{ host_template.0.flapping_threshold_low | default(omit) }}"
- groups: "{{ host_template.0.address | default(omit) }}"
- has_agent: "{{ host_template.0.has_agent | default(omit) }}"
- icon_image_alt: "{{ host_template.0.icon_image_alt | default(omit) }}"
- icon_image: "{{ host_template.0.icon_image | default(omit) }}"
- imports: "{{ host_template.0.imports | default(omit) }}"
- master_should_connect: "{{ host_template.0.master_should_connect | default(omit) }}"
- max_check_attempts: "{{ host_template.0.max_check_attempts | default(omit) }}"
- notes_url: "{{ host_template.0.notes_url | default(omit) }}"
- notes: "{{ host_template.0.notes | default(omit) }}"
- object_name: "{{ host_template.1 }}"
- retry_interval: "{{ host_template.0.retry_interval | default(omit) }}"
- vars: "{{ host_template.0.vars | default(omit) }}"
- volatile: "{{ host_template.0.volatile | default(omit) }}"
- zone: "{{ host_template.0.zone | default(omit) }}"
+ accept_config: "{{ host_template.accept_config | default(omit) }}"
+ address: "{{ host_template.address | default(omit) }}"
+ address6: "{{ host_template.address6 | default(omit) }}"
+ check_command: "{{ host_template.check_command | default(omit) }}"
+ check_interval: "{{ host_template.check_interval | default(omit) }}"
+ check_period: "{{ host_template.check_period | default(omit) }}"
+ check_timeout: "{{ host_template.check_timeout | default(omit) }}"
+ disabled: "{{ host_template.disabled | default(omit) }}"
+ display_name: "{{ host_template.display_name | default(omit) }}"
+ enable_active_checks: "{{ host_template.enable_active_checks | default(omit) }}"
+ enable_event_handler: "{{ host_template.enable_event_handler | default(omit) }}"
+ enable_flapping: "{{ host_template.enable_flapping | default(omit) }}"
+ enable_notifications: "{{ host_template.enable_notifications | default(omit) }}"
+ enable_passive_checks: "{{ host_template.enable_passive_checks | default(omit) }}"
+ enable_perfdata: "{{ host_template.enable_perfdata | default(omit) }}"
+ event_command: "{{ host_template.event_command | default(omit) }}"
+ flapping_threshold_high: "{{ host_template.flapping_threshold_high | default(omit) }}"
+ flapping_threshold_low: "{{ host_template.flapping_threshold_low | default(omit) }}"
+ groups: "{{ host_template.address | default(omit) }}"
+ has_agent: "{{ host_template.has_agent | default(omit) }}"
+ icon_image_alt: "{{ host_template.icon_image_alt | default(omit) }}"
+ icon_image: "{{ host_template.icon_image | default(omit) }}"
+ imports: "{{ host_template.imports | default(omit) }}"
+ master_should_connect: "{{ host_template.master_should_connect | default(omit) }}"
+ max_check_attempts: "{{ host_template.max_check_attempts | default(omit) }}"
+ notes_url: "{{ host_template.notes_url | default(omit) }}"
+ notes: "{{ host_template.notes | default(omit) }}"
+ object_name: "{{ host_template.name }}"
+ retry_interval: "{{ host_template.retry_interval | default(omit) }}"
+ vars: "{{ host_template.vars | default(omit) }}"
+ volatile: "{{ host_template.volatile | default(omit) }}"
+ zone: "{{ host_template.zone | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_host_templates|subelements('host_template_object') }}"
+ loop: "{{ icinga_host_templates }}"
loop_control:
loop_var: host_template
tags: host_template
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_hostgroup.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_hostgroup.yml
index 45f825ece..aff09d400 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_hostgroup.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_hostgroup.yml
@@ -1,7 +1,5 @@
---
-# hostgroup.1 = hostgroup array
-# hostgroup.0 = icinga_hostgroup attribute
-- name: icinga_hostgroup
+- name: Icinga_hostgroup
icinga_hostgroup:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,15 +9,15 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ hostgroup.0.state | default(omit) }}"
- object_name: "{{ hostgroup.1 }}"
- display_name: "{{ hostgroup.0.display_name | default(omit) }}"
- assign_filter: "{{ hostgroup.0.assign_filter | default('host.name=\"' + hostgroup.1 + '-*\"') }}"
+ state: "{{ hostgroup.state | default(omit) }}"
+ object_name: "{{ hostgroup.name }}"
+ display_name: "{{ hostgroup.display_name | default(omit) }}"
+ assign_filter: "{{ hostgroup.assign_filter | default('host.name=\"' + hostgroup.name + '-*\"') }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_hostgroups|subelements('hostgroup_object') }}"
+ loop: "{{ icinga_hostgroups }}"
loop_control:
loop_var: hostgroup
tags: hostgroup
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification.yml
index 84f139907..6ffe1156d 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification.yml
@@ -1,7 +1,5 @@
---
-# notification.1 = notification array
-# notification.0 = icinga_notification attribute
-- name: icinga_notification
+- name: Icinga_notification
icinga_notification:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,23 +9,23 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ notification.0.state | default(omit) }}"
- object_name: "{{ notification.1 }}"
- notification_interval: "{{ notification.0.notification_interval | default(omit) }}"
- states: "{{ notification.0.states | default(omit) }}"
- types: "{{ notification.0.types | default(omit) }}"
- users: "{{ notification.0.users | default(omit) }}"
- user_groups: "{{ notification.0.user_groups | default(omit) }}"
- apply_to: "{{ notification.0.apply_to | default(omit) }}"
- assign_filter: "{{ notification.0.assign_filter | default(omit) }}"
- imports: "{{ notification.0.imports | default(omit) }}"
- period: "{{ notification.0.period | default(omit) }}"
- vars: "{{ notification.0.vars | default(omit) }}"
+ state: "{{ notification.state | default(omit) }}"
+ object_name: "{{ notification.name }}"
+ notification_interval: "{{ notification.notification_interval | default(omit) }}"
+ states: "{{ notification.states | default(omit) }}"
+ types: "{{ notification.types | default(omit) }}"
+ users: "{{ notification.users | default(omit) }}"
+ user_groups: "{{ notification.user_groups | default(omit) }}"
+ apply_to: "{{ notification.apply_to | default(omit) }}"
+ assign_filter: "{{ notification.assign_filter | default(omit) }}"
+ imports: "{{ notification.imports | default(omit) }}"
+ period: "{{ notification.period | default(omit) }}"
+ vars: "{{ notification.vars | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_notifications|subelements('notification_object') }}"
+ loop: "{{ icinga_notifications }}"
loop_control:
loop_var: notification
tags: notification
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification_template.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification_template.yml
index 7afa26c0a..1692948e7 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification_template.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_notification_template.yml
@@ -1,7 +1,5 @@
---
-# notification_template.1 = notification_template array
-# notification_template.0 = icinga_notification_template attribute
-- name: icinga_notification_template
+- name: Icinga_notification_template
icinga_notification_template:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,24 +9,24 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- object_name: "{{ notification_template.1 }}"
- state: "{{ notification_template.0.state | default(omit) }}"
- notification_interval: "{{ notification_template.0.notification_interval | default(omit) }}"
- states: "{{ notification_template.0.states | default(omit) }}"
- types: "{{ notification_template.0.types | default(omit) }}"
- times_begin: "{{ notification_template.0.times_begin | default(omit) }}"
- times_end: "{{ notification_template.0.times_end | default(omit) }}"
- time_period: "{{ notification_template.0.time_period | default(omit) }}"
- users: "{{ notification_template.0.users | default(omit) }}"
- user_groups: "{{ notification_template.0.user_groups | default(omit) }}"
- notification_command: "{{ notification_template.0.notification_command | default(omit) }}"
- imports: "{{ notification_template.0.imports | default(omit) }}"
- zone: "{{ notification_template.0.zone | default(omit) }}"
+ object_name: "{{ notification_template.name }}"
+ state: "{{ notification_template.state | default(omit) }}"
+ notification_interval: "{{ notification_template.notification_interval | default(omit) }}"
+ states: "{{ notification_template.states | default(omit) }}"
+ types: "{{ notification_template.types | default(omit) }}"
+ times_begin: "{{ notification_template.times_begin | default(omit) }}"
+ times_end: "{{ notification_template.times_end | default(omit) }}"
+ time_period: "{{ notification_template.time_period | default(omit) }}"
+ users: "{{ notification_template.users | default(omit) }}"
+ user_groups: "{{ notification_template.user_groups | default(omit) }}"
+ notification_command: "{{ notification_template.notification_command | default(omit) }}"
+ imports: "{{ notification_template.imports | default(omit) }}"
+ zone: "{{ notification_template.zone | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_notification_templates|subelements('notification_template_object') }}"
+ loop: "{{ icinga_notification_templates }}"
loop_control:
loop_var: notification_template
tags: notification_template
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml
index c42f9e930..84ac9cbe6 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_scheduled_downtime.yml
@@ -1,5 +1,5 @@
---
-- name: icinga_scheduled_downtime
+- name: Icinga_scheduled_downtime
telekom_mms.icinga_director.icinga_scheduled_downtime:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -9,21 +9,21 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ downtime.0.state | default(omit) }}"
- object_name: "{{ downtime.1 }}"
- author: "{{ downtime.0.author }}"
- comment: "{{ downtime.0.comment }}"
- fixed: "{{ downtime.0.fixed }}"
- with_services: "{{ downtime.0.with_services | default(omit) }}"
- apply_to: "{{ downtime.0.apply_to }}"
- assign_filter: "{{ downtime.0.assign_filter | default(omit) }}"
- duration: "{{ downtime.0.duration | default(omit) }}"
- ranges: "{{ downtime.0.ranges| default(omit) }}"
+ state: "{{ downtime.state | default(omit) }}"
+ object_name: "{{ downtime.name }}"
+ author: "{{ downtime.author }}"
+ comment: "{{ downtime.comment }}"
+ fixed: "{{ downtime.fixed }}"
+ with_services: "{{ downtime.with_services | default(omit) }}"
+ apply_to: "{{ downtime.apply_to }}"
+ assign_filter: "{{ downtime.assign_filter | default(omit) }}"
+ duration: "{{ downtime.duration | default(omit) }}"
+ ranges: "{{ downtime.ranges | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_scheduled_downtimes|subelements('scheduled_downtime_object') }}"
+ loop: "{{ icinga_scheduled_downtimes }}"
loop_control:
loop_var: downtime
tags: downtime
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service.yml
index 922bc00ce..4251b9ded 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service.yml
@@ -1,7 +1,5 @@
---
-# service.1 = service array
-# service.0 = icinga_service attribute
-- name: icinga_service
+- name: Icinga_service
icinga_service:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,34 +9,35 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ service.0.state | default(omit) }}"
- object_name: "{{ service.1 }}"
- display_name: "{{ service.0.display_name | default(omit) }}"
- disabled: "{{ service.0.disabled | default(omit) }}"
- check_command: "{{ service.0.check_command | default(omit) }}"
- check_interval: "{{ service.0.check_interval | default(omit) }}"
- check_period: "{{ service.0.check_period | default(omit) }}"
- check_timeout: "{{ service.0.check_timeout | default(omit) }}"
- enable_active_checks: "{{ service.0.enable_active_checks | default(omit) }}"
- enable_event_handler: "{{ service.0.enable_event_handler | default(omit) }}"
- enable_notifications: "{{ service.0.enable_notifications | default(omit) }}"
- enable_passive_checks: "{{ service.0.enable_passive_checks | default(omit) }}"
- enable_perfdata: "{{ service.0.enable_perfdata | default(omit) }}"
- groups: "{{ service.0.groups | default(omit) }}"
- host: "{{ service.0.host | default(omit) }}"
- imports: "{{ service.0.imports | default(omit) }}"
- max_check_attempts: "{{ service.0.max_check_attempts | default(omit) }}"
- notes: "{{ service.0.notes | default(omit) }}"
- notes_url: "{{ service.0.notes_url | default(omit) }}"
- retry_interval: "{{ service.0.retry_interval | default(omit) }}"
- use_agent: "{{ service.0.use_agent | default(omit) }}"
- vars: "{{ service.0.vars | default(omit) }}"
- volatile: "{{ service.0.volatile | default(omit) }}"
+ state: "{{ service.state | default(omit) }}"
+ object_name: "{{ service.name }}"
+ display_name: "{{ service.display_name | default(omit) }}"
+ disabled: "{{ service.disabled | default(omit) }}"
+ check_command: "{{ service.check_command | default(omit) }}"
+ check_interval: "{{ service.check_interval | default(omit) }}"
+ check_period: "{{ service.check_period | default(omit) }}"
+ check_timeout: "{{ service.check_timeout | default(omit) }}"
+ enable_active_checks: "{{ service.enable_active_checks | default(omit) }}"
+ enable_event_handler: "{{ service.enable_event_handler | default(omit) }}"
+ enable_notifications: "{{ service.enable_notifications | default(omit) }}"
+ enable_passive_checks: "{{ service.enable_passive_checks | default(omit) }}"
+ enable_perfdata: "{{ service.enable_perfdata | default(omit) }}"
+ groups: "{{ service.groups | default(omit) }}"
+ host: "{{ service.host | default(omit) }}"
+ imports: "{{ service.imports | default(omit) }}"
+ max_check_attempts: "{{ service.max_check_attempts | default(omit) }}"
+ notes: "{{ service.notes | default(omit) }}"
+ notes_url: "{{ service.notes_url | default(omit) }}"
+ retry_interval: "{{ service.retry_interval | default(omit) }}"
+ use_agent: "{{ service.use_agent | default(omit) }}"
+ vars: "{{ service.vars | default(omit) }}"
+ volatile: "{{ service.volatile | default(omit) }}"
+ service_set: "{{ service.service_set | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_services|subelements('service_object') }}"
+ loop: "{{ icinga_services }}"
loop_control:
loop_var: service
tags: service
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_apply.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_apply.yml
index 3437efc45..7cd18847a 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_apply.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_apply.yml
@@ -1,7 +1,5 @@
---
-# service_apply.1 = service_apply array
-# service_apply.0 = icinga_service_apply attribute
-- name: icinga_service_apply
+- name: Icinga_service_apply
icinga_service_apply:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,34 +9,34 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ service_apply.0.state | default(omit) }}"
- object_name: "{{ service_apply.1 }}"
- display_name: "{{ service_apply.0.display_name | default(service_apply.1) }}"
- groups: "{{ service_apply.0.groups | default(omit) }}"
- apply_for: "{{ service_apply.0.apply_for | default(omit) }}"
- assign_filter: "{{ service_apply.0.assign_filter | default(omit) }}"
- imports: "{{ service_apply.0.imports | default(omit) }}"
- command_endpoint: "{{ service_apply.0.command_endpoint | default(omit) }}"
- vars: "{{ service_apply.0.vars | default(omit) }}"
- notes: "{{ service_apply.0.notes | default(omit) }}"
- notes_url: "{{ service_apply.0.notes_url | default(omit) }}"
- check_interval: "{{ service_apply.0.check_interval | default(omit) }}"
- check_period: "{{ service_apply.0.check_period | default(omit) }}"
- check_timeout: "{{ service_apply.0.check_timeout | default(omit) }}"
- check_command: "{{ service_apply.0.check_command | default(omit) }}"
- enable_active_checks: "{{ service_apply.0.enable_active_checks | default(omit) }}"
- enable_event_handler: "{{ service_apply.0.enable_event_handler | default(omit) }}"
- enable_notifications: "{{ service_apply.0.enable_notifications | default(omit) }}"
- enable_passive_checks: "{{ service_apply.0.enable_passive_checks | default(omit) }}"
- enable_perfdata: "{{ service_apply.0.enable_perfdata | default(omit) }}"
- event_command: "{{ service_apply.0.event_command | default(omit) }}"
- max_check_attempts: "{{ service_apply.0.max_check_attempts | default(omit) }}"
- retry_interval: "{{ service_apply.0.retry_interval | default(omit) }}"
+ state: "{{ service_apply.state | default(omit) }}"
+ object_name: "{{ service_apply.name }}"
+ display_name: "{{ service_apply.display_name | default(service_apply.name) }}"
+ groups: "{{ service_apply.groups | default(omit) }}"
+ apply_for: "{{ service_apply.apply_for | default(omit) }}"
+ assign_filter: "{{ service_apply.assign_filter | default(omit) }}"
+ imports: "{{ service_apply.imports | default(omit) }}"
+ command_endpoint: "{{ service_apply.command_endpoint | default(omit) }}"
+ vars: "{{ service_apply.vars | default(omit) }}"
+ notes: "{{ service_apply.notes | default(omit) }}"
+ notes_url: "{{ service_apply.notes_url | default(omit) }}"
+ check_interval: "{{ service_apply.check_interval | default(omit) }}"
+ check_period: "{{ service_apply.check_period | default(omit) }}"
+ check_timeout: "{{ service_apply.check_timeout | default(omit) }}"
+ check_command: "{{ service_apply.check_command | default(omit) }}"
+ enable_active_checks: "{{ service_apply.enable_active_checks | default(omit) }}"
+ enable_event_handler: "{{ service_apply.enable_event_handler | default(omit) }}"
+ enable_notifications: "{{ service_apply.enable_notifications | default(omit) }}"
+ enable_passive_checks: "{{ service_apply.enable_passive_checks | default(omit) }}"
+ enable_perfdata: "{{ service_apply.enable_perfdata | default(omit) }}"
+ event_command: "{{ service_apply.event_command | default(omit) }}"
+ max_check_attempts: "{{ service_apply.max_check_attempts | default(omit) }}"
+ retry_interval: "{{ service_apply.retry_interval | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_service_applies|subelements('service_apply_object') }}"
+ loop: "{{ icinga_service_applies }}"
loop_control:
loop_var: service_apply
tags: service_apply
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_template.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_template.yml
index 0d4eae7cc..80eceef3d 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_template.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_service_template.yml
@@ -1,7 +1,5 @@
---
-# service_template.1 = service_template array
-# service_template.0 = icinga_service_template attribute
-- name: icinga_service_template
+- name: Icinga_service_template
icinga_service_template:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,35 +9,35 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ service_template.0.state | default(omit) }}"
- object_name: "{{ service_template.1 }}"
- display_name: "{{ service_template.0.display_name | default(omit) }}"
- disabled: "{{ service_template.0.disabled | default(omit) }}"
- check_command: "{{ service_template.0.check_command | default(omit) }}"
- check_interval: "{{ service_template.0.check_interval | default(omit) }}"
- check_period: "{{ service_template.0.check_period | default(omit) }}"
- check_timeout: "{{ service_template.0.check_timeout | default(omit) }}"
- command_endpoint: "{{ service_template.0.command_endpoint | default(omit) }}"
- enable_active_checks: "{{ service_template.0.enable_active_checks | default(omit) }}"
- enable_event_handler: "{{ service_template.0.enable_event_handler | default(omit) }}"
- enable_notifications: "{{ service_template.0.enable_notifications | default(omit) }}"
- enable_passive_checks: "{{ service_template.0.enable_passive_checks | default(omit) }}"
- enable_perfdata: "{{ service_template.0.enable_perfdata | default(omit) }}"
- groups: "{{ service_template.0.groups | default(omit) }}"
- imports: "{{ service_template.0.imports | default(omit) }}"
- max_check_attempts: "{{ service_template.0.max_check_attempts | default(omit) }}"
- notes: "{{ service_template.0.notes | default(omit) }}"
- notes_url: "{{ service_template.0.notes_url | default(omit) }}"
- retry_interval: "{{ service_template.0.retry_interval | default(omit) }}"
- use_agent: "{{ service_template.0.use_agent | default(omit) }}"
- vars: "{{ service_template.0.vars | default(omit) }}"
- volatile: "{{ service_template.0.volatile | default(omit) }}"
- event_command: "{{ service_template.0.event_command | default(omit) }}"
+ state: "{{ service_template.state | default(omit) }}"
+ object_name: "{{ service_template.name }}"
+ display_name: "{{ service_template.display_name | default(omit) }}"
+ disabled: "{{ service_template.disabled | default(omit) }}"
+ check_command: "{{ service_template.check_command | default(omit) }}"
+ check_interval: "{{ service_template.check_interval | default(omit) }}"
+ check_period: "{{ service_template.check_period | default(omit) }}"
+ check_timeout: "{{ service_template.check_timeout | default(omit) }}"
+ command_endpoint: "{{ service_template.command_endpoint | default(omit) }}"
+ enable_active_checks: "{{ service_template.enable_active_checks | default(omit) }}"
+ enable_event_handler: "{{ service_template.enable_event_handler | default(omit) }}"
+ enable_notifications: "{{ service_template.enable_notifications | default(omit) }}"
+ enable_passive_checks: "{{ service_template.enable_passive_checks | default(omit) }}"
+ enable_perfdata: "{{ service_template.enable_perfdata | default(omit) }}"
+ groups: "{{ service_template.groups | default(omit) }}"
+ imports: "{{ service_template.imports | default(omit) }}"
+ max_check_attempts: "{{ service_template.max_check_attempts | default(omit) }}"
+ notes: "{{ service_template.notes | default(omit) }}"
+ notes_url: "{{ service_template.notes_url | default(omit) }}"
+ retry_interval: "{{ service_template.retry_interval | default(omit) }}"
+ use_agent: "{{ service_template.use_agent | default(omit) }}"
+ vars: "{{ service_template.vars | default(omit) }}"
+ volatile: "{{ service_template.volatile | default(omit) }}"
+ event_command: "{{ service_template.event_command | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_service_templates|subelements('service_template_object') }}"
+ loop: "{{ icinga_service_templates }}"
loop_control:
loop_var: service_template
tags: service_template
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_servicegroup.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_servicegroup.yml
index 9ba5e40dc..2d75e694e 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_servicegroup.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_servicegroup.yml
@@ -1,7 +1,5 @@
---
-# servicegroup.1 = servicegroup array
-# servicegroup.0 = icinga_servicegroup attribute
-- name: icinga_servicegroup
+- name: Icinga_servicegroup
icinga_servicegroup:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,15 +9,15 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ servicegroup.0.state | default(omit) }}"
- object_name: "{{ servicegroup.1 }}"
- display_name: "{{ servicegroup.0.display_name | default(omit) }}"
- assign_filter: "{{ servicegroup.0.assign_filter | default(omit) }}"
+ state: "{{ servicegroup.state | default(omit) }}"
+ object_name: "{{ servicegroup.name }}"
+ display_name: "{{ servicegroup.display_name | default(omit) }}"
+ assign_filter: "{{ servicegroup.assign_filter | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_servicegroups|subelements('servicegroup_object') }}"
+ loop: "{{ icinga_servicegroups }}"
loop_control:
loop_var: servicegroup
tags: servicegroup
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_serviceset.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_serviceset.yml
index a609cca2d..88b49fe75 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_serviceset.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_serviceset.yml
@@ -1,7 +1,5 @@
---
-# serviceset.1 = serviceset array
-# serviceset.0 = icinga_serviceset attribute
-- name: icinga_serviceset
+- name: Icinga_serviceset
icinga_serviceset:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,15 +9,15 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ service.0.state | default(omit) }}"
- assign_filter: "{{ serviceset.0.assign_filter | default(omit)}}"
- description: "{{ serviceset.0.description | default(omit)}}"
- object_name: "{{ serviceset.1 }}"
+ state: "{{ service.state | default(omit) }}"
+ assign_filter: "{{ serviceset.assign_filter | default(omit) }}"
+ description: "{{ serviceset.description | default(omit) }}"
+ object_name: "{{ serviceset.name }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_servicesets|subelements('serviceset_object') }}"
+ loop: "{{ icinga_servicesets }}"
loop_control:
loop_var: serviceset
tags: serviceset
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_timeperiod.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_timeperiod.yml
index bfc702963..fd216c155 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_timeperiod.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_timeperiod.yml
@@ -1,7 +1,5 @@
---
-# timeperiod.1 = timeperiod array
-# timeperiod.0 = icinga_timeperiod attribute
-- name: icinga_timeperiod
+- name: Icinga_timeperiod
icinga_timeperiod:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,16 +9,16 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ timeperiod.0.state | default(omit) }}"
- object_name: "{{ timeperiod.1 }}"
- display_name: "{{ timeperiod.0.display_name | default(omit) }}"
- imports: "{{ timeperiod.0.imports | default(omit) }}"
- ranges: "{{ timeperiod.0.ranges | default(omit) }}"
+ state: "{{ timeperiod.state | default(omit) }}"
+ object_name: "{{ timeperiod.name }}"
+ display_name: "{{ timeperiod.display_name | default(omit) }}"
+ imports: "{{ timeperiod.imports | default(omit) }}"
+ ranges: "{{ timeperiod.ranges | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_timeperiods|subelements('timeperiod_object') }}"
+ loop: "{{ icinga_timeperiods }}"
loop_control:
loop_var: timeperiod
tags: timeperiod
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user.yml
index 0d3552de9..83fde7cab 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user.yml
@@ -1,7 +1,5 @@
---
-# user.1 = user array
-# user.0 = icinga_user attribute
-- name: icinga_user
+- name: Icinga_user
icinga_user:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,19 +9,19 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ user.0.state | default(omit) }}"
- object_name: "{{ user.1 }}"
- display_name: "{{ user.0.display_name | default(omit) }}"
- imports: "{{ user.0.imports | default(icinga_user_imports) }}"
- pager: "{{ user.0.pager | default(omit) }}"
- period: "{{ user.0.period | default(omit) }}"
- disabled: "{{ user.0.disabled | default(omit) }}"
- email: "{{ user.0.email | default(icinga_user_email) }}"
+ state: "{{ user.state | default(omit) }}"
+ object_name: "{{ user.name }}"
+ display_name: "{{ user.display_name | default(omit) }}"
+ imports: "{{ user.imports | default(icinga_user_imports) }}"
+ pager: "{{ user.pager | default(omit) }}"
+ period: "{{ user.period | default(omit) }}"
+ disabled: "{{ user.disabled | default(omit) }}"
+ email: "{{ user.email | default(icinga_user_email) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_users|subelements('user_object') }}"
+ loop: "{{ icinga_users }}"
loop_control:
loop_var: user
tags: user
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_group.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_group.yml
new file mode 100644
index 000000000..ca0cf8b43
--- /dev/null
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_group.yml
@@ -0,0 +1,24 @@
+---
+- name: Icinga_user_group
+ icinga_user_group:
+ url: "{{ icinga_url }}"
+ use_proxy: "{{ icinga_use_proxy | default(omit) }}"
+ validate_certs: "{{ icinga_validate_certs | default(omit) }}"
+ url_username: "{{ icinga_user }}"
+ url_password: "{{ icinga_pass }}"
+ force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
+ client_cert: "{{ icinga_client_cert | default(omit) }}"
+ client_key: "{{ icinga_client_key | default(omit) }}"
+ state: "{{ user_group.state | default(omit) }}"
+ object_name: "{{ user_group.name }}"
+ display_name: "{{ user_group.display_name | default(omit) }}"
+ disabled: "{{ user_group.disabled | default(omit) }}"
+ retries: 3
+ delay: 3
+ register: result
+ until: result is succeeded
+ loop: "{{ icinga_user_groups }}"
+ loop_control:
+ loop_var: user_group
+ tags: user_group
+ notify: config_deploy
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_template.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_template.yml
index 432472e6e..3afc36654 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_template.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_user_template.yml
@@ -1,7 +1,5 @@
---
-# user_template.1 = user_template array
-# user_template.0 = icinga_user_template attribute
-- name: icinga_user_template
+- name: Icinga_user_template
icinga_user_template:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,17 +9,17 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ user_template.0.state | default(omit) }}"
- object_name: "{{ user_template.1 }}"
- imports: "{{ user_template.0.imports | default(omit) }}"
- period: "{{ user_template.0.period | default(omit) }}"
- enable_notifications: "{{ user_template.0.enable_notifications | default(omit) }}"
- zone: "{{ user_template.0.zone | default(omit) }}"
+ state: "{{ user_template.state | default(omit) }}"
+ object_name: "{{ user_template.name }}"
+ imports: "{{ user_template.imports | default(omit) }}"
+ period: "{{ user_template.period | default(omit) }}"
+ enable_notifications: "{{ user_template.enable_notifications | default(omit) }}"
+ zone: "{{ user_template.zone | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_user_templates|subelements('user_template_object') }}"
+ loop: "{{ icinga_user_templates }}"
loop_control:
loop_var: user_template
tags: user_template
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_zone.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_zone.yml
index c907f3f87..90b6fc3f6 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_zone.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/icinga_zone.yml
@@ -1,7 +1,5 @@
---
-# zone.1 = zone array
-# zone.0 = icinga_zone attribute
-- name: icinga_zone
+- name: Icinga_zone
icinga_zone:
url: "{{ icinga_url }}"
use_proxy: "{{ icinga_use_proxy | default(omit) }}"
@@ -11,15 +9,15 @@
force_basic_auth: "{{ icinga_force_basic_auth | default(omit) }}"
client_cert: "{{ icinga_client_cert | default(omit) }}"
client_key: "{{ icinga_client_key | default(omit) }}"
- state: "{{ zone.0.state | default(omit) }}"
- object_name: "{{ zone.1 }}"
- is_global: "{{ zone.0.is_global | default(omit) }}"
- parent: "{{ zone.0.parent | default(omit) }}"
+ state: "{{ zone.state | default(omit) }}"
+ object_name: "{{ zone.name }}"
+ is_global: "{{ zone.is_global | default(omit) }}"
+ parent: "{{ zone.parent | default(omit) }}"
retries: 3
delay: 3
register: result
until: result is succeeded
- loop: "{{ icinga_zones|subelements('zone_object') }}"
+ loop: "{{ icinga_zones }}"
loop_control:
loop_var: zone
tags: zone
diff --git a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/main.yml b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/main.yml
index 24d16e370..aa30bf146 100644
--- a/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/main.yml
+++ b/ansible_collections/telekom_mms/icinga_director/roles/ansible_icinga/tasks/main.yml
@@ -1,90 +1,95 @@
---
-- name: icinga timeperiod configuration
- include_tasks: icinga_timeperiod.yml
+- name: Icinga timeperiod configuration
+ ansible.builtin.include_tasks: icinga_timeperiod.yml
when: icinga_timeperiods is defined
tags: timeperiod
-- name: icinga user_template configuration
- include_tasks: icinga_user_template.yml
+- name: Icinga user_template configuration
+ ansible.builtin.include_tasks: icinga_user_template.yml
when: icinga_user_templates is defined
tags: user_template
-- name: icinga user configuration
- include_tasks: icinga_user.yml
+- name: Icinga user configuration
+ ansible.builtin.include_tasks: icinga_user.yml
when: icinga_users is defined
tags: user
-- name: icinga zone configuration
- include_tasks: icinga_zone.yml
+- name: Icinga user_group configuration
+ ansible.builtin.include_tasks: icinga_user_group.yml
+ when: icinga_user_groups is defined
+ tags: user_group
+
+- name: Icinga zone configuration
+ ansible.builtin.include_tasks: icinga_zone.yml
when: icinga_zones is defined
tags: zone
-- name: icinga endpoint configuration
- include_tasks: icinga_endpoint.yml
+- name: Icinga endpoint configuration
+ ansible.builtin.include_tasks: icinga_endpoint.yml
when: icinga_endpoints is defined
tags: endpoint
-- name: icinga hostgroup configuration
- include_tasks: icinga_hostgroup.yml
+- name: Icinga hostgroup configuration
+ ansible.builtin.include_tasks: icinga_hostgroup.yml
when: icinga_hostgroups is defined
tags: hostgroup
-- name: icinga host_template configuration
- include_tasks: icinga_host_template.yml
+- name: Icinga host_template configuration
+ ansible.builtin.include_tasks: icinga_host_template.yml
when: icinga_host_templates is defined
tags: host_template
-- name: icinga host configuration
- include_tasks: icinga_host.yml
+- name: Icinga host configuration
+ ansible.builtin.include_tasks: icinga_host.yml
when: icinga_hosts is defined
tags: host
-- name: icinga command_template configuration
- include_tasks: icinga_command_template.yml
+- name: Icinga command_template configuration
+ ansible.builtin.include_tasks: icinga_command_template.yml
when: icinga_command_templates is defined
tags: command_template
-- name: icinga command configuration
- include_tasks: icinga_command.yml
+- name: Icinga command configuration
+ ansible.builtin.include_tasks: icinga_command.yml
when: icinga_commands is defined
tags: command
-- name: icinga service_template configuration
- include_tasks: icinga_service_template.yml
+- name: Icinga service_template configuration
+ ansible.builtin.include_tasks: icinga_service_template.yml
when: icinga_service_templates is defined
tags: service_template
-- name: icinga service_apply configuration
- include_tasks: icinga_service_apply.yml
+- name: Icinga service_apply configuration
+ ansible.builtin.include_tasks: icinga_service_apply.yml
when: icinga_service_applies is defined
tags: service_apply
-- name: icinga servicegroup configuration
- include_tasks: icinga_servicegroup.yml
+- name: Icinga servicegroup configuration
+ ansible.builtin.include_tasks: icinga_servicegroup.yml
when: icinga_servicegroups is defined
tags: servicegroup
-- name: icinga service configuration
- include_tasks: icinga_service.yml
+- name: Icinga service configuration
+ ansible.builtin.include_tasks: icinga_service.yml
when: icinga_services is defined
tags: service
-- name: icinga serviceset configuration
- include_tasks: icinga_serviceset.yml
+- name: Icinga serviceset configuration
+ ansible.builtin.include_tasks: icinga_serviceset.yml
when: icinga_servicesets is defined
tags: serviceset
-- name: icinga notification template configuration
- include_tasks: icinga_notification_template.yml
+- name: Icinga notification template configuration
+ ansible.builtin.include_tasks: icinga_notification_template.yml
when: icinga_notification_templates is defined
tags: notification_template
-- name: icinga notification configuration
- include_tasks: icinga_notification.yml
+- name: Icinga notification configuration
+ ansible.builtin.include_tasks: icinga_notification.yml
when: icinga_notifications is defined
tags: notification
-- name: icinga downtime configuration
- include_tasks: icinga_scheduled_downtime.yml
+- name: Icinga downtime configuration
+ ansible.builtin.include_tasks: icinga_scheduled_downtime.yml
when: icinga_scheduled_downtimes is defined
tags: downtime