Merge pull request #140 from retigra/hostgroup_static_text

 Hostgroup static text
This commit is contained in:
Raymond Kuiper 2025-06-25 17:21:31 +02:00 committed by GitHub
commit 3e1657e575
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 30 additions and 13 deletions

View File

@ -212,6 +212,17 @@ in `config.py` the script will render a full region path of all parent regions
for the hostgroup name. `traverse_site_groups` controls the same behaviour for for the hostgroup name. `traverse_site_groups` controls the same behaviour for
site_groups. site_groups.
**Hardcoded text**
You can add hardcoded text in the hostgroup format by using quotes, this will
insert the literal text:
```python
hostgroup_format = "'MyDevices'/location/role"
```
In this case, the prefix MyDevices will be used for all generated groups.
**Custom fields** **Custom fields**
You can use the value of custom fields for hostgroup generation. This allows You can use the value of custom fields for hostgroup generation. This allows

View File

@ -117,6 +117,11 @@ class Hostgroup:
for hg_item in hg_items: for hg_item in hg_items:
# Check if requested data is available as option for this host # Check if requested data is available as option for this host
if hg_item not in self.format_options: if hg_item not in self.format_options:
if hg_item.startswith(("'", '"')) and hg_item.endswith(("'", '"')):
hg_item = hg_item.strip("\'")
hg_item = hg_item.strip('\"')
hg_output.append(hg_item)
else:
# Check if a custom field exists with this name # Check if a custom field exists with this name
cf_data = self.custom_field_lookup(hg_item) cf_data = self.custom_field_lookup(hg_item)
# CF does not exist # CF does not exist

View File

@ -160,6 +160,7 @@ def verify_hg_format(
if ( if (
hg_object not in allowed_objects[hg_type] hg_object not in allowed_objects[hg_type]
and hg_object not in allowed_objects["cfs"][hg_type] and hg_object not in allowed_objects["cfs"][hg_type]
and not hg_object.startswith(('"',"'"))
): ):
e = ( e = (
f"Hostgroup item {hg_object} is not valid. Make sure you" f"Hostgroup item {hg_object} is not valid. Make sure you"